The check_inline_asm function should check the actual C compiler, not the one used for assembly files. Usually these are the same, but they might be different, typically when using a compiler other than gcc.
The check_as should, as its name suggests, test the type of input the AS command is used with, i.e. a standalond assembly (.S) file. Finally, check for gnu assembler using the modified check_as as this reflects actual usage. Signed-off-by: Mans Rullgard <[email protected]> --- configure | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/configure b/configure index 51ac2ac..ed84630 100755 --- a/configure +++ b/configure @@ -682,9 +682,9 @@ as_o(){ check_as(){ log check_as "$@" - cat > $TMPC - log_file $TMPC - check_cmd $as $CPPFLAGS $ASFLAGS "$@" $AS_C $(as_o $TMPO) $TMPC + cat > $TMPS + log_file $TMPS + check_cmd $as $CPPFLAGS $ASFLAGS "$@" $AS_C $(as_o $TMPO) $TMPS } check_inline_asm(){ @@ -693,7 +693,7 @@ check_inline_asm(){ code="$2" shift 2 disable $name - check_as "$@" <<EOF && enable $name + check_cc "$@" <<EOF && enable $name void foo(void){ __asm__ volatile($code); } EOF } @@ -3269,8 +3269,13 @@ fi if enabled asm; then as=${gas:=$as} - check_inline_asm gnu_as '".macro m n\n\\n:.int 0\n.endm\nm x"' || + check_as <<EOF && enable gnu_as || \ $nogas "GNU assembler not found, install gas-preprocessor" +.macro m n +\n: .int 0 +.endm +m x +EOF fi check_ldflags -Wl,--as-needed -- 1.8.0 _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
