summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2012-12-01 13:19:05 +0000
committerMans Rullgard <mans@mansr.com>2012-12-07 16:54:03 +0000
commit7fd90119bbf19632135eec59bb2cd4eb30315513 (patch)
tree6b757365d540344800d0f9b3128fa42f71a619e8 /configure
parentf0fe245bc31cf4fa3b3ed0240cd1ab6f0d5043ea (diff)
configure: clean up check_inline_asm and check_as functions
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 <mans@mansr.com>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure15
1 files changed, 10 insertions, 5 deletions
diff --git a/configure b/configure
index ad0b525acf..fe95251c68 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
}
@@ -3266,8 +3266,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