summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorJanne Grunau <j@jannau.net>2014-08-05 12:08:09 +0200
committerJanne Grunau <janne-libav@jannau.net>2014-08-05 13:11:50 +0200
commit15201e256035a3e8f9d3d7b96fc327467e1a8ead (patch)
tree96bfd7766316c232356441073a01be08e767f637 /configure
parentd395895cdb2ac8c95bd488549e7f893bd4dcc248 (diff)
configure: check $as first before using $gas as GNU as
llvm's integrated assembler supports the AArch64 asm on darwin since August 2014. So check $as first before using gas-preprocessor.pl via $gas. Makes the checks specific for that the architecture specific asm needs. PPC Altivec and AArch64 needs on ':vararg' for macro arguments. Arm needs in addition the '.altmacro' directive.
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure32
1 files changed, 21 insertions, 11 deletions
diff --git a/configure b/configure
index b2eb0c8e3f..22c78e76f8 100755
--- a/configure
+++ b/configure
@@ -3760,22 +3760,32 @@ unsigned int endian = 'B' << 24 | 'I' << 16 | 'G' << 8 | 'E';
EOF
od -t x1 $TMPO | grep -q '42 *49 *47 *45' && enable bigendian
-
-if enabled asm; then
- enabled arm && nogas=die
- enabled_all ppc altivec && nogas=warn
- as=${gas:=$as}
- check_as <<EOF && enable gnu_as || \
- $nogas "GNU assembler not found, install gas-preprocessor"
-.macro m n
-\n: .int 0
+check_gas() {
+ log "check_gas using '$as' as AS"
+ # :vararg is used on aarch64, arm and ppc altivec
+ check_as <<EOF || return 1
+.macro m n, y:vararg=0
+\n: .int \y
.endm
m x
EOF
-
- check_as <<EOF || $nogas "GNU assembler not found, install gas-preprocessor"
+ # .altmacro is only used in arm asm
+ ! enabled arm || check_as <<EOF || return 1
.altmacro
EOF
+ enable gnu_as
+ return 0
+}
+
+if enabled asm; then
+ enabled arm aarch64 && nogas=die
+ enabled_all ppc altivec && nogas=warn
+
+ if ! check_gas ; then
+ as=${gas:=$as}
+ check_gas || \
+ $nogas "GNU assembler not found, install gas-preprocessor"
+ fi
check_as <<EOF && enable as_func
.func test