On Tue, 4 Dec 2012, Mans Rullgard wrote:

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

LGTM

// Martin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to