[x264-devel] Minor configure improvements

Alexander Strasser eclipse7 at gmx.net
Sun Jan 21 01:00:03 CET 2018


On 2018-01-18 20:22 +0000, Diego Biurrun wrote:
> x264 | branch: master | Diego Biurrun <diego at biurrun.de> | Sun Feb  5 09:02:51 2017 +0100| [6fce82284a0fb3edfa299b904b1559452a3b1094] | committer: Henrik Gramner
>
[...]
>
> -        VER=`($AS --version || echo no assembler) 2>/dev/null | head -n 1`
> +        VER="$(($AS --version || echo no assembler) 2>/dev/null | head -n 1)"

Don't know if this can fail in some shells, the ones I tested it
worked as expected.

Newer POSIX seems to discourage writing it that way:

  The syntax of the shell command language has an ambiguity for expansions beginning with "$((", which can introduce an arithmetic expansion or a command substitution that starts with a subshell. Arithmetic expansion has precedence; that is, the shell shall first determine whether it can parse the expansion as an arithmetic expansion and shall only parse the expansion as a command substitution if it determines that it cannot parse the expansion as an arithmetic expansion. The shell need not evaluate nested expansions when performing this determination. If it encounters the end of input without already having determined that it cannot parse the expansion as an arithmetic expansion, the shell shall treat the expansion as an incomplete arithmetic expansion and report a syntax error. A conforming application shall ensure that it separates the "$(" and '(' into two tokens (that is, separate them with white space) in a command substitution that starts with a subshell. For example, a command substitution containing a single subshell could be written as:
  
  $( (command) )


It's probably only problematic if there's only a single subshell
inside the command substitution. Maybe better to still be clear
and write "$( (" when a command substitution is intended.

>          echo "Found $VER"
>          echo "Minimum version is nasm-2.13"
>          echo "If you really want to compile without asm, configure with --disable-asm."


  Alexander


More information about the x264-devel mailing list