summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-08-31 13:18:48 +0200
committerMichael Niedermayer <michaelni@gmx.at>2012-08-31 13:34:32 +0200
commitc617bed34f39a122ab1f89581ddce9cc63885383 (patch)
treeed2c0bd467f5f5c912ac46a2b95457a5647ced75 /configure
parent98298eb1034bddb4557fa689553dae793c2b0092 (diff)
parentede3d6400d7c06863e6eb4bcff5f676480ae6b5e (diff)
Merge remote-tracking branch 'qatar/master'
* qatar/master: MSS1 and MSS2: set final pixel format after common stuff has been initialised MSS2 decoder configure: handle --disable-asm before check_deps x86: Split inline and external assembly #ifdefs configure: x86: Separate inline from standalone assembler capabilities pktdumper: Use a custom define instead of PATH_MAX for buffers pktdumper: Use av_strlcpy instead of strncpy pktdumper: Use sizeof(variable) instead of the direct buffer length Conflicts: Changelog configure libavcodec/allcodecs.c libavcodec/avcodec.h libavcodec/codec_desc.c libavcodec/dct-test.c libavcodec/imgconvert.c libavcodec/mss12.c libavcodec/version.h libavfilter/x86/gradfun.c libswscale/x86/yuv2rgb.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure31
1 files changed, 26 insertions, 5 deletions
diff --git a/configure b/configure
index b14586b4c3..b2fc4bc141 100755
--- a/configure
+++ b/configure
@@ -419,6 +419,12 @@ map(){
for v; do eval $m; done
}
+add_suffix(){
+ suffix=$1
+ shift
+ for v; do echo ${v}${suffix}; done
+}
+
set_all(){
value=$1
shift
@@ -1246,6 +1252,8 @@ HAVE_LIST_PUB='
HAVE_LIST="
$ARCH_EXT_LIST
+ $(add_suffix _external $ARCH_EXT_LIST)
+ $(add_suffix _inline $ARCH_EXT_LIST)
$HAVE_LIST_PUB
$THREADS_LIST
aligned_malloc
@@ -1524,6 +1532,17 @@ sse42_deps="sse4"
avx_deps="sse42"
fma4_deps="avx"
+mmx_external_deps="yasm"
+mmx_inline_deps="inline_asm"
+mmx_suggest="mmx_external mmx_inline"
+
+for ext in $(filter_out mmx $ARCH_EXT_LIST_X86); do
+ eval dep=\$${ext}_deps
+ eval ${ext}_external_deps='"${dep}_external"'
+ eval ${ext}_inline_deps='"${dep}_inline"'
+ eval ${ext}_suggest='"${ext}_external ${ext}_inline"'
+done
+
aligned_stack_if_any="ppc x86"
fast_64bit_if_any="alpha ia64 mips64 parisc64 ppc64 sparc64 x86_64"
fast_clz_if_any="alpha armv5te avr32 mips ppc x86"
@@ -1645,6 +1664,7 @@ msmpeg4v2_decoder_select="h263_decoder"
msmpeg4v2_encoder_select="h263_encoder"
msmpeg4v3_decoder_select="h263_decoder"
msmpeg4v3_encoder_select="h263_encoder"
+mss2_decoder_select="vc1_decoder"
nellymoser_decoder_select="mdct sinewin"
nellymoser_encoder_select="mdct sinewin"
png_decoder_select="zlib"
@@ -3293,8 +3313,8 @@ EOF
check_inline_asm xmm_clobbers '"":::"%xmm0"'
# check whether binutils is new enough to compile SSSE3/MMXEXT
- enabled ssse3 && check_inline_asm ssse3 '"pabsw %xmm0, %xmm0"'
- enabled mmxext && check_inline_asm mmxext '"pmaxub %mm0, %mm1"'
+ enabled ssse3 && check_inline_asm ssse3_inline '"pabsw %xmm0, %xmm0"'
+ enabled mmxext && check_inline_asm mmxext_inline '"pmaxub %mm0, %mm1"'
if ! disabled_any asm mmx yasm; then
if check_cmd $yasmexe --version; then
@@ -3315,8 +3335,8 @@ EOF
check_yasm "pextrd [eax], xmm0, 1" && enable yasm ||
die "yasm not found, use --disable-yasm for a crippled build"
- check_yasm "vextractf128 xmm0, ymm0, 0" || disable avx
- check_yasm "vfmaddps ymm0, ymm1, ymm2, ymm3" || disable fma4
+ check_yasm "vextractf128 xmm0, ymm0, 0" || disable avx_external
+ check_yasm "vfmaddps ymm0, ymm1, ymm2, ymm3" || disable fma4_external
check_yasm "CPU amdnop" && enable cpunop
fi
@@ -3808,13 +3828,14 @@ enabled broken_strtod && force_include compat/strtod.h
enabled_any $THREADS_LIST && enable threads
+enabled asm || { arch=c; disable $ARCH_LIST $ARCH_EXT_LIST; }
+
check_deps $CONFIG_LIST \
$CONFIG_EXTRA \
$HAVE_LIST \
$ALL_COMPONENTS \
$ALL_TESTS \
-enabled asm || { arch=c; disable $ARCH_LIST $ARCH_EXT_LIST; }
if test $target_os = "haiku"; then
disable memalign