OLD | NEW |
1 #!/bin/sh | 1 #!/bin/sh |
2 ## | 2 ## |
3 ## configure.sh | 3 ## configure.sh |
4 ## | 4 ## |
5 ## This script is sourced by the main configure script and contains | 5 ## This script is sourced by the main configure script and contains |
6 ## utility functions and other common bits that aren't strictly libvpx | 6 ## utility functions and other common bits that aren't strictly libvpx |
7 ## related. | 7 ## related. |
8 ## | 8 ## |
9 ## This build system is based in part on the FFmpeg configure script. | 9 ## This build system is based in part on the FFmpeg configure script. |
10 ## | 10 ## |
(...skipping 622 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
633 armv7*) | 633 armv7*) |
634 tgt_isa=armv7 | 634 tgt_isa=armv7 |
635 float_abi=softfp | 635 float_abi=softfp |
636 ;; | 636 ;; |
637 *x86_64*|*amd64*) | 637 *x86_64*|*amd64*) |
638 tgt_isa=x86_64 | 638 tgt_isa=x86_64 |
639 ;; | 639 ;; |
640 *i[3456]86*) | 640 *i[3456]86*) |
641 tgt_isa=x86 | 641 tgt_isa=x86 |
642 ;; | 642 ;; |
643 *powerpc64*) | |
644 tgt_isa=ppc64 | |
645 ;; | |
646 *powerpc*) | |
647 tgt_isa=ppc32 | |
648 ;; | |
649 *sparc*) | 643 *sparc*) |
650 tgt_isa=sparc | 644 tgt_isa=sparc |
651 ;; | 645 ;; |
652 esac | 646 esac |
653 | 647 |
654 # detect tgt_os | 648 # detect tgt_os |
655 case "$gcctarget" in | 649 case "$gcctarget" in |
656 *darwin8*) | 650 *darwin8*) |
657 tgt_isa=universal | 651 tgt_isa=universal |
658 tgt_os=darwin8 | 652 tgt_os=darwin8 |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
788 add_cflags "-isysroot ${iossim_sdk_dir}" | 782 add_cflags "-isysroot ${iossim_sdk_dir}" |
789 add_ldflags "-isysroot ${iossim_sdk_dir}" | 783 add_ldflags "-isysroot ${iossim_sdk_dir}" |
790 fi | 784 fi |
791 ;; | 785 ;; |
792 esac | 786 esac |
793 | 787 |
794 # Handle Solaris variants. Solaris 10 needs -lposix4 | 788 # Handle Solaris variants. Solaris 10 needs -lposix4 |
795 case ${toolchain} in | 789 case ${toolchain} in |
796 sparc-solaris-*) | 790 sparc-solaris-*) |
797 add_extralibs -lposix4 | 791 add_extralibs -lposix4 |
798 disable_feature fast_unaligned | |
799 ;; | 792 ;; |
800 *-solaris-*) | 793 *-solaris-*) |
801 add_extralibs -lposix4 | 794 add_extralibs -lposix4 |
802 ;; | 795 ;; |
803 esac | 796 esac |
804 | 797 |
805 # Process ARM architecture variants | 798 # Process ARM architecture variants |
806 case ${toolchain} in | 799 case ${toolchain} in |
807 arm*) | 800 arm*) |
808 # on arm, isa versions are supersets | 801 # on arm, isa versions are supersets |
809 case ${tgt_isa} in | 802 case ${tgt_isa} in |
810 arm64|armv8) | 803 arm64|armv8) |
811 soft_enable neon | 804 soft_enable neon |
812 ;; | 805 ;; |
813 armv7|armv7s) | 806 armv7|armv7s) |
814 soft_enable neon | 807 soft_enable neon |
815 # Only enable neon_asm when neon is also enabled. | 808 # Only enable neon_asm when neon is also enabled. |
816 enabled neon && soft_enable neon_asm | 809 enabled neon && soft_enable neon_asm |
817 # If someone tries to force it through, die. | 810 # If someone tries to force it through, die. |
818 if disabled neon && enabled neon_asm; then | 811 if disabled neon && enabled neon_asm; then |
819 die "Disabling neon while keeping neon-asm is not supported" | 812 die "Disabling neon while keeping neon-asm is not supported" |
820 fi | 813 fi |
821 soft_enable media | 814 soft_enable media |
822 soft_enable fast_unaligned | |
823 ;; | 815 ;; |
824 armv6) | 816 armv6) |
825 soft_enable media | 817 soft_enable media |
826 soft_enable fast_unaligned | |
827 ;; | 818 ;; |
828 esac | 819 esac |
829 | 820 |
830 asm_conversion_cmd="cat" | 821 asm_conversion_cmd="cat" |
831 | 822 |
832 case ${tgt_cc} in | 823 case ${tgt_cc} in |
833 gcc) | 824 gcc) |
834 CROSS=${CROSS:-arm-none-linux-gnueabi-} | 825 CROSS=${CROSS:-arm-none-linux-gnueabi-} |
835 link_with_cc=gcc | 826 link_with_cc=gcc |
836 setup_gnu_toolchain | 827 setup_gnu_toolchain |
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1032 fi | 1023 fi |
1033 ;; | 1024 ;; |
1034 esac | 1025 esac |
1035 ;; | 1026 ;; |
1036 mips*) | 1027 mips*) |
1037 link_with_cc=gcc | 1028 link_with_cc=gcc |
1038 setup_gnu_toolchain | 1029 setup_gnu_toolchain |
1039 tune_cflags="-mtune=" | 1030 tune_cflags="-mtune=" |
1040 if enabled dspr2; then | 1031 if enabled dspr2; then |
1041 check_add_cflags -mips32r2 -mdspr2 | 1032 check_add_cflags -mips32r2 -mdspr2 |
1042 disable_feature fast_unaligned | |
1043 fi | 1033 fi |
| 1034 |
| 1035 if enabled runtime_cpu_detect; then |
| 1036 disable_feature runtime_cpu_detect |
| 1037 fi |
| 1038 |
| 1039 if [ -n "${tune_cpu}" ]; then |
| 1040 case ${tune_cpu} in |
| 1041 p5600) |
| 1042 check_add_cflags -mips32r5 -funroll-loops -mload-store-pairs |
| 1043 check_add_cflags -msched-weight -mhard-float -mfp64 |
| 1044 check_add_asflags -mips32r5 -mhard-float -mfp64 |
| 1045 check_add_ldflags -mfp64 |
| 1046 ;; |
| 1047 i6400) |
| 1048 check_add_cflags -mips64r6 -mabi=64 -funroll-loops -msched-weight |
| 1049 check_add_cflags -mload-store-pairs -mhard-float -mfp64 |
| 1050 check_add_asflags -mips64r6 -mabi=64 -mhard-float -mfp64 |
| 1051 check_add_ldflags -mips64r6 -mabi=64 -mfp64 |
| 1052 ;; |
| 1053 esac |
| 1054 |
| 1055 if enabled msa; then |
| 1056 add_cflags -mmsa |
| 1057 add_asflags -mmsa |
| 1058 add_ldflags -mmsa |
| 1059 fi |
| 1060 fi |
| 1061 |
1044 check_add_cflags -march=${tgt_isa} | 1062 check_add_cflags -march=${tgt_isa} |
1045 check_add_asflags -march=${tgt_isa} | 1063 check_add_asflags -march=${tgt_isa} |
1046 check_add_asflags -KPIC | 1064 check_add_asflags -KPIC |
1047 ;; | 1065 ;; |
1048 ppc*) | |
1049 enable_feature ppc | |
1050 bits=${tgt_isa##ppc} | |
1051 link_with_cc=gcc | |
1052 setup_gnu_toolchain | |
1053 add_asflags -force_cpusubtype_ALL -I"\$(dir \$<)darwin" | |
1054 soft_enable altivec | |
1055 enabled altivec && add_cflags -maltivec | |
1056 | |
1057 case "$tgt_os" in | |
1058 linux*) | |
1059 add_asflags -maltivec -mregnames -I"\$(dir \$<)linux" | |
1060 ;; | |
1061 darwin*) | |
1062 darwin_arch="-arch ppc" | |
1063 enabled ppc64 && darwin_arch="${darwin_arch}64" | |
1064 add_cflags ${darwin_arch} -m${bits} -fasm-blocks | |
1065 add_asflags ${darwin_arch} -force_cpusubtype_ALL -I"\$(dir \$<)darwin" | |
1066 add_ldflags ${darwin_arch} -m${bits} | |
1067 enabled altivec && add_cflags -faltivec | |
1068 ;; | |
1069 esac | |
1070 ;; | |
1071 x86*) | 1066 x86*) |
1072 case ${tgt_os} in | 1067 case ${tgt_os} in |
1073 win*) | 1068 win*) |
1074 enabled gcc && add_cflags -fno-common | 1069 enabled gcc && add_cflags -fno-common |
1075 ;; | 1070 ;; |
1076 solaris*) | 1071 solaris*) |
1077 CC=${CC:-${CROSS}gcc} | 1072 CC=${CC:-${CROSS}gcc} |
1078 CXX=${CXX:-${CROSS}g++} | 1073 CXX=${CXX:-${CROSS}g++} |
1079 LD=${LD:-${CROSS}gcc} | 1074 LD=${LD:-${CROSS}gcc} |
1080 CROSS=${CROSS:-g} | 1075 CROSS=${CROSS:-g} |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1297 ;; | 1292 ;; |
1298 *) | 1293 *) |
1299 check_header pthread.h && add_extralibs -lpthread | 1294 check_header pthread.h && add_extralibs -lpthread |
1300 ;; | 1295 ;; |
1301 esac | 1296 esac |
1302 fi | 1297 fi |
1303 | 1298 |
1304 # only for MIPS platforms | 1299 # only for MIPS platforms |
1305 case ${toolchain} in | 1300 case ${toolchain} in |
1306 mips*) | 1301 mips*) |
1307 if enabled dspr2; then | 1302 if enabled big_endian; then |
1308 if enabled big_endian; then | 1303 if enabled dspr2; then |
1309 echo "dspr2 optimizations are available only for little endian platfor
ms" | 1304 echo "dspr2 optimizations are available only for little endian platfor
ms" |
1310 disable_feature dspr2 | 1305 disable_feature dspr2 |
1311 fi | 1306 fi |
| 1307 if enabled msa; then |
| 1308 echo "msa optimizations are available only for little endian platforms
" |
| 1309 disable_feature msa |
| 1310 fi |
1312 fi | 1311 fi |
1313 ;; | 1312 ;; |
1314 esac | 1313 esac |
1315 | 1314 |
1316 # glibc needs these | 1315 # glibc needs these |
1317 if enabled linux; then | 1316 if enabled linux; then |
1318 add_cflags -D_LARGEFILE_SOURCE | 1317 add_cflags -D_LARGEFILE_SOURCE |
1319 add_cflags -D_FILE_OFFSET_BITS=64 | 1318 add_cflags -D_FILE_OFFSET_BITS=64 |
1320 fi | 1319 fi |
1321 | 1320 |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1418 # Prepare the PWD for building. | 1417 # Prepare the PWD for building. |
1419 for f in ${OOT_INSTALLS}; do | 1418 for f in ${OOT_INSTALLS}; do |
1420 install -D "${source_path}/$f" "$f" | 1419 install -D "${source_path}/$f" "$f" |
1421 done | 1420 done |
1422 fi | 1421 fi |
1423 cp "${source_path}/build/make/Makefile" . | 1422 cp "${source_path}/build/make/Makefile" . |
1424 | 1423 |
1425 clean_temp_files | 1424 clean_temp_files |
1426 true | 1425 true |
1427 } | 1426 } |
OLD | NEW |