summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-12-08 14:08:41 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-12-08 14:08:47 +0100
commit4f0cf62d5add6d03ff39a352b59d88b0f0d8ca7a (patch)
tree1aeeabf554cb525af2f4414bb39362130c4adf40 /configure
parentfa6bab785722d8a5eec4b5a9ec178563387b44db (diff)
parentc6ebc9faa2210d7f36a3036c357f6f199520f575 (diff)
Merge commit 'c6ebc9faa2210d7f36a3036c357f6f199520f575'
* commit 'c6ebc9faa2210d7f36a3036c357f6f199520f575': configure: add check_insn function configure: clean up check_inline_asm and check_as functions Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure21
1 files changed, 16 insertions, 5 deletions
diff --git a/configure b/configure
index 4af2fca73b..915e4aee30 100755
--- a/configure
+++ b/configure
@@ -740,9 +740,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(){
@@ -751,11 +751,17 @@ 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
}
+check_insn(){
+ log check_insn "$@"
+ check_inline_asm ${1}_inline "\"$2\""
+ echo "$2" | check_as && enable ${1}_external || disable ${1}_external
+}
+
check_yasm(){
log check_yasm "$@"
echo "$1" > $TMPS
@@ -3611,8 +3617,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