comparison configure @ 34044:563038925442

Set up HAVE_VFP_ARGS and CONFIG_THUMB correctly to fix compilation for ARM.
author reimar
date Sun, 25 Sep 2011 13:28:25 +0000
parents 02ffd25c7733
children 4831a5fa1d78
comparison
equal deleted inserted replaced
34043:94106ed224b3 34044:563038925442
85 compile_check $TMPC $@ 85 compile_check $TMPC $@
86 } 86 }
87 87
88 cxx_check() { 88 cxx_check() {
89 compile_check $TMPCPP $@ -lstdc++ 89 compile_check $TMPCPP $@ -lstdc++
90 }
91
92 cpp_condition_check() {
93 cat > $TMPC << EOF
94 #if !($1)
95 #error condition not true: $1
96 #endif
97 EOF
98 compile_check $TMPC $@
90 } 99 }
91 100
92 cflag_check() { 101 cflag_check() {
93 cat > $TMPC << EOF 102 cat > $TMPC << EOF
94 int main(void) { return 0; } 103 int main(void) { return 0; }
558 --enable-armv6 enable ARMv6 (ARM) [autodetect] 567 --enable-armv6 enable ARMv6 (ARM) [autodetect]
559 --enable-armv6t2 enable ARMv6t2 (ARM) [autodetect] 568 --enable-armv6t2 enable ARMv6t2 (ARM) [autodetect]
560 --enable-armvfp enable ARM VFP (ARM) [autodetect] 569 --enable-armvfp enable ARM VFP (ARM) [autodetect]
561 --enable-vfpv3 enable ARM VFPV3 (ARM) [autodetect] 570 --enable-vfpv3 enable ARM VFPV3 (ARM) [autodetect]
562 --enable-neon enable NEON (ARM) [autodetect] 571 --enable-neon enable NEON (ARM) [autodetect]
572 --enable-thumb enable THUMB (ARM) [autodetect]
563 --enable-iwmmxt enable iWMMXt (ARM) [autodetect] 573 --enable-iwmmxt enable iWMMXt (ARM) [autodetect]
564 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy [enable] 574 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy [enable]
565 --enable-hardcoded-tables put tables in binary instead of calculating them at startup [disable] 575 --enable-hardcoded-tables put tables in binary instead of calculating them at startup [disable]
566 --enable-big-endian force byte order to big-endian [autodetect] 576 --enable-big-endian force byte order to big-endian [autodetect]
567 --enable-debug[=1-3] compile-in debugging information [disable] 577 --enable-debug[=1-3] compile-in debugging information [disable]
610 _armv6=auto 620 _armv6=auto
611 _armv6t2=auto 621 _armv6t2=auto
612 _armvfp=auto 622 _armvfp=auto
613 vfpv3=auto 623 vfpv3=auto
614 neon=auto 624 neon=auto
625 armthumb=auto
615 _iwmmxt=auto 626 _iwmmxt=auto
616 _mtrr=auto 627 _mtrr=auto
617 _altivec=auto 628 _altivec=auto
618 _install=install 629 _install=install
619 _ranlib=ranlib 630 _ranlib=ranlib
1407 --disable-armvfp) _armvfp=no ;; 1418 --disable-armvfp) _armvfp=no ;;
1408 --enable-vfpv3) vfpv3=yes ;; 1419 --enable-vfpv3) vfpv3=yes ;;
1409 --disable-vfpv3) vfpv3=no ;; 1420 --disable-vfpv3) vfpv3=no ;;
1410 --enable-neon) neon=yes ;; 1421 --enable-neon) neon=yes ;;
1411 --disable-neon) neon=no ;; 1422 --disable-neon) neon=no ;;
1423 --enable-thumb) armthumb=yes ;;
1424 --disable-thumb) armthumb=no ;;
1412 --enable-iwmmxt) _iwmmxt=yes ;; 1425 --enable-iwmmxt) _iwmmxt=yes ;;
1413 --disable-iwmmxt) _iwmmxt=no ;; 1426 --disable-iwmmxt) _iwmmxt=no ;;
1414 --enable-mmx) _mmx=yes ;; 1427 --enable-mmx) _mmx=yes ;;
1415 --disable-mmx) # 3DNow! and MMX2 require MMX 1428 --disable-mmx) # 3DNow! and MMX2 require MMX
1416 _3dnow=no _3dnowext=no _mmx=no _mmxext=no ;; 1429 _3dnow=no _3dnowext=no _mmx=no _mmxext=no ;;
2863 vfpv3=no 2876 vfpv3=no
2864 inline_asm_check '"vmov.f32 s0, #1.0"' && vfpv3=yes 2877 inline_asm_check '"vmov.f32 s0, #1.0"' && vfpv3=yes
2865 fi 2878 fi
2866 echores "$vfpv3" 2879 echores "$vfpv3"
2867 2880
2881 echocheck "softfloat ABI"
2882 softfloat=yes
2883 cpp_condition_check 'defined(__ARM_PCS_VFP) || (!defined(__ARM_PCS) && !defined(__SOFTFP__))' && softfloat=no
2884 if test $softfloat = "yes" ; then
2885 def_vfp_args='#define HAVE_VFP_ARGS 0'
2886 else
2887 def_vfp_args='#define HAVE_VFP_ARGS 1'
2888 fi
2889 echores "$softfloat"
2890
2868 echocheck "ARM NEON" 2891 echocheck "ARM NEON"
2869 if test $neon = "auto" ; then 2892 if test $neon = "auto" ; then
2870 neon=no 2893 neon=no
2871 inline_asm_check '"vadd.i16 q0, q0, q0"' && neon=yes 2894 inline_asm_check '"vadd.i16 q0, q0, q0"' && neon=yes
2872 fi 2895 fi
2873 echores "$neon" 2896 echores "$neon"
2897
2898 echocheck "ARM THUMB"
2899 if test $armthumb = "auto" ; then
2900 armthumb=no
2901 fi
2902 if test $armthumb = "yes" ; then
2903 extra_cflags="$extra_cflags -mthumb"
2904 def_armthumb='#define CONFIG_THUMB 1'
2905 else
2906 extra_cflags="$extra_cflags -marm"
2907 def_armthumb='#define CONFIG_THUMB 0'
2908 fi
2909 echores "$armthumb"
2874 2910
2875 echocheck "iWMMXt (Intel XScale SIMD instructions)" 2911 echocheck "iWMMXt (Intel XScale SIMD instructions)"
2876 if test $_iwmmxt = "auto" ; then 2912 if test $_iwmmxt = "auto" ; then
2877 _iwmmxt=no 2913 _iwmmxt=no
2878 inline_asm_check '"wunpckelub wr6, wr4"' && _iwmmxt=yes 2914 inline_asm_check '"wunpckelub wr6, wr4"' && _iwmmxt=yes
8278 $def_words_endian 8314 $def_words_endian
8279 $def_bigendian 8315 $def_bigendian
8280 $(ff_config_enable "$arch_all" "$arch" "#" "ARCH") 8316 $(ff_config_enable "$arch_all" "$arch" "#" "ARCH")
8281 $(ff_config_enable "$subarch_all" "$subarch" "#" "ARCH") 8317 $(ff_config_enable "$subarch_all" "$subarch" "#" "ARCH")
8282 $(ff_config_enable "$cpuexts_all" "$cpuexts" "#" "HAVE") 8318 $(ff_config_enable "$cpuexts_all" "$cpuexts" "#" "HAVE")
8319 $def_armthumb
8320 $def_vfp_args
8283 8321
8284 8322
8285 /* Blu-ray/DVD/VCD/CD */ 8323 /* Blu-ray/DVD/VCD/CD */
8286 #define DEFAULT_CDROM_DEVICE "$default_cdrom_device" 8324 #define DEFAULT_CDROM_DEVICE "$default_cdrom_device"
8287 #define DEFAULT_DVD_DEVICE "$default_dvd_device" 8325 #define DEFAULT_DVD_DEVICE "$default_dvd_device"
8577 #define HAVE_PPC4XX 0 8615 #define HAVE_PPC4XX 0
8578 #define HAVE_STRERROR_R 0 8616 #define HAVE_STRERROR_R 0
8579 #define HAVE_SYMVER_ASM_LABEL 0 8617 #define HAVE_SYMVER_ASM_LABEL 0
8580 #define HAVE_SYMVER_GNU_ASM 0 8618 #define HAVE_SYMVER_GNU_ASM 0
8581 #define HAVE_SYS_SELECT_H 0 8619 #define HAVE_SYS_SELECT_H 0
8582 #define HAVE_VFP_ARGS 1
8583 #define HAVE_VIRTUALALLOC 0 8620 #define HAVE_VIRTUALALLOC 0
8584 8621
8585 /* Some FFmpeg codecs depend on these. Enable them unconditionally for now. */ 8622 /* Some FFmpeg codecs depend on these. Enable them unconditionally for now. */
8586 #define CONFIG_AANDCT 1 8623 #define CONFIG_AANDCT 1
8587 #define CONFIG_DCT 1 8624 #define CONFIG_DCT 1