summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2017-05-03 11:18:51 +0300
committerMartin Storsjö <martin@martin.st>2017-05-08 14:21:08 +0300
commit59cee42d7d22530e66a155305389e29679b11f78 (patch)
tree2e9081d4aed7de859b2cc1da0ed5e22df861a1eb
parentce080f47b8b55ab3d41eb00487b138d9906d114d (diff)
arm: Check for the .arch directive in configure
When targeting windows, the .arch directive isn't available. So far, when building for windows, we've always used gas-preprocessor, both when using msvc's armasm and when using clang. Lately, clang/llvm has implemented the last missing piece (altmacro support) for building our assembly without gas-preprocessor. This means that we now build for arm/windows with clang without any extra compatibility layer. Signed-off-by: Martin Storsjö <martin@martin.st>
-rwxr-xr-xconfigure4
-rw-r--r--libavutil/arm/asm.S2
2 files changed, 6 insertions, 0 deletions
diff --git a/configure b/configure
index 6f696c9ab5..d70e61593a 100755
--- a/configure
+++ b/configure
@@ -1661,6 +1661,7 @@ SYSTEM_FUNCS="
"
TOOLCHAIN_FEATURES="
+ as_arch_directive
as_dn_directive
as_fpu_directive
as_func
@@ -4376,6 +4377,9 @@ EOF
check_inline_asm asm_mod_q '"add r0, %Q0, %R0" :: "r"((long long)0)'
+ check_as <<EOF && enable as_arch_directive
+.arch armv7-a
+EOF
check_as <<EOF && enable as_dn_directive
ra .dn d0.i16
.unreq ra
diff --git a/libavutil/arm/asm.S b/libavutil/arm/asm.S
index a791e80c57..08574852b5 100644
--- a/libavutil/arm/asm.S
+++ b/libavutil/arm/asm.S
@@ -46,6 +46,7 @@
# define FPU @
#endif
+#if HAVE_AS_ARCH_DIRECTIVE
#if HAVE_NEON
.arch armv7-a
#elif HAVE_ARMV6T2
@@ -55,6 +56,7 @@
#elif HAVE_ARMV5TE
.arch armv5te
#endif
+#endif
#if HAVE_AS_OBJECT_ARCH
ELF .object_arch armv4
#endif