summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMåns Rullgård <mans@mansr.com>2010-07-02 02:03:20 +0000
committerMåns Rullgård <mans@mansr.com>2010-07-02 02:03:20 +0000
commit301ab19dd97deb30a073e93d3c8a969bb7f6966f (patch)
tree6dd7eb92d2d2dc0d6862d7393f0177ff36d88d55
parentcb9b39fba937b7eee69968ba1310ab694a439fc3 (diff)
configure: improve GNU as checking
Check for GNU assembler only when asm is enabled. Show a warning for ppc/altivec only, and fail on ARM. Originally committed as revision 23964 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rwxr-xr-xconfigure14
1 files changed, 10 insertions, 4 deletions
diff --git a/configure b/configure
index a90ce14288..a20a573391 100755
--- a/configure
+++ b/configure
@@ -1411,6 +1411,7 @@ objformat="elf"
ranlib="ranlib"
strip_default="strip"
yasmexe="yasm"
+nogas=":"
nm_opts='-g'
@@ -2117,7 +2118,7 @@ case $target_os in
;;
darwin)
enable malloc_aligned
- as="gas-preprocessor.pl $cc"
+ gas="gas-preprocessor.pl $cc"
enabled ppc && add_asflags -force_cpusubtype_ALL
SHFLAGS='-dynamiclib -Wl,-single_module -Wl,-install_name,$(SHLIBDIR)/$(SLIBNAME),-current_version,$(LIBVERSION),-compatibility_version,$(LIBMAJOR) -Wl,-read_only_relocs,suppress'
strip="${strip} -x"
@@ -2309,9 +2310,6 @@ unsigned int endian = 'B' << 24 | 'I' << 16 | 'G' << 8 | 'E';
EOF
od -t x1 $TMPO | grep -q '42 *49 *47 *45' && enable bigendian
-check_asm gnu_as '".macro m n\n\\n:.int 0\n.endm\nm x"' ||
- warn "GNU assembler not found, install gas-preprocessor"
-
if enabled alpha; then
check_cflags -mieee
@@ -2319,6 +2317,7 @@ if enabled alpha; then
elif enabled arm; then
check_cflags -marm
+ nogas=die
check_ld <<EOF && enable vfp_args
__asm__ (".eabi_attribute 28, 1");
@@ -2353,6 +2352,7 @@ elif enabled ppc; then
# AltiVec flags: The FSF version of GCC differs from the Apple version
if enabled altivec; then
+ nogas=warn
check_cflags -maltivec -mabi=altivec &&
{ check_header altivec.h && inc_altivec_h="#include <altivec.h>" ; } ||
check_cflags -faltivec
@@ -2437,6 +2437,12 @@ EOF
fi
+if enabled asm; then
+ as=${gas:=$as}
+ check_asm gnu_as '".macro m n\n\\n:.int 0\n.endm\nm x"' ||
+ $nogas "GNU assembler not found, install gas-preprocessor"
+fi
+
if check_func dlopen; then
ldl=
elif check_func dlopen -ldl; then