[FFmpeg-cvslog] arm: Check for the .arch directive in configure

Martin Storsjö git at videolan.org
Tue Oct 31 01:05:23 EET 2017


ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Wed May  3 11:18:51 2017 +0300| [59cee42d7d22530e66a155305389e29679b11f78] | committer: Martin Storsjö

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 at martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=59cee42d7d22530e66a155305389e29679b11f78
---

 configure           | 4 ++++
 libavutil/arm/asm.S | 2 ++
 2 files changed, 6 insertions(+)

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



More information about the ffmpeg-cvslog mailing list