Build failure on x64 vs2017 with Meson 0.62
Build failure with 160.3011-meson
like this:
FAILED: libx264-8.a.p/encoder_lookahead.c.obj
"cl" "-Ilibx264-8.a.p" "-I." "-I.." "/MDd" "/nologo" "/showIncludes" "/utf-8" "/W2" "/O2" "/Zi" "-DDEBUG" "/wd4018" "/wd4146" "/wd4244" "/wd4305" "-DHIGH_BIT_DEPTH=0" "-DBIT_DEPTH=8" "-DX264_API_EXPORTS" "/Fdlibx264-8.a.p\encoder_lookahead.c.pdb" /Folibx264-8.a.p/encoder_lookahead.c.obj "/c" ../encoder/lookahead.c
../encoder/lookahead.c(90): error C2143: syntax error: missing ')' before '('
../encoder/lookahead.c(90): error C2059: syntax error: ')'
../encoder/lookahead.c(90): error C2143: syntax error: missing ')' before 'type'
../encoder/lookahead.c(90): error C2091: function returns function
../encoder/lookahead.c(91): error C2085: 'lookahead_thread': not in formal parameter list
../encoder/lookahead.c(91): error C2143: syntax error: missing ';' before '{'
This happened with Meson 0.62 and Microsoft (R) C/C++ Optimizing Compiler Version 19.27.29111 for x64
.
First hypothesis is that it's related to the REALIGN_STACK
define getting defined to __attribute__((force_align_arg_pointer))
even though the compiler doesn't support this (and we know it doesn't because we check for it in meson.build
).
Rumour has it that it's related to the Meson version and worked before (The CI uses Meson 0.59), but that has not been verified yet.