OLD | NEW |
1 #!/bin/sh | 1 #!/bin/sh |
2 ## | 2 ## |
3 ## configure | 3 ## configure |
4 ## | 4 ## |
5 ## This script is the front-end to the build system. It provides a similar | 5 ## This script is the front-end to the build system. It provides a similar |
6 ## interface to standard configure scripts with some extra bits for dealing | 6 ## interface to standard configure scripts with some extra bits for dealing |
7 ## with toolchains that differ from the standard POSIX interface and | 7 ## with toolchains that differ from the standard POSIX interface and |
8 ## for extracting subsets of the source tree. In theory, reusable parts | 8 ## for extracting subsets of the source tree. In theory, reusable parts |
9 ## of this script were intended to live in build/make/configure.sh, | 9 ## of this script were intended to live in build/make/configure.sh, |
10 ## but in practice, the line is pretty blurry. | 10 ## but in practice, the line is pretty blurry. |
(...skipping 13 matching lines...) Expand all Loading... |
24 ${toggle_examples} examples | 24 ${toggle_examples} examples |
25 ${toggle_docs} documentation | 25 ${toggle_docs} documentation |
26 ${toggle_unit_tests} unit tests | 26 ${toggle_unit_tests} unit tests |
27 ${toggle_decode_perf_tests} build decoder perf tests with unit tests | 27 ${toggle_decode_perf_tests} build decoder perf tests with unit tests |
28 ${toggle_encode_perf_tests} build encoder perf tests with unit tests | 28 ${toggle_encode_perf_tests} build encoder perf tests with unit tests |
29 --cpu=CPU tune for the specified CPU (ARM: cortex-a8, X8
6: sse3) | 29 --cpu=CPU tune for the specified CPU (ARM: cortex-a8, X8
6: sse3) |
30 --libc=PATH path to alternate libc | 30 --libc=PATH path to alternate libc |
31 --size-limit=WxH max size to allow in the decoder | 31 --size-limit=WxH max size to allow in the decoder |
32 --as={yasm|nasm|auto} use specified assembler [auto, yasm preferred] | 32 --as={yasm|nasm|auto} use specified assembler [auto, yasm preferred] |
33 --sdk-path=PATH path to root of sdk (android builds only) | 33 --sdk-path=PATH path to root of sdk (android builds only) |
34 ${toggle_fast_unaligned} don't use unaligned accesses, even when | |
35 supported by hardware [auto] | |
36 ${toggle_codec_srcs} in/exclude codec library source code | 34 ${toggle_codec_srcs} in/exclude codec library source code |
37 ${toggle_debug_libs} in/exclude debug version of libraries | 35 ${toggle_debug_libs} in/exclude debug version of libraries |
38 ${toggle_static_msvcrt} use static MSVCRT (VS builds only) | 36 ${toggle_static_msvcrt} use static MSVCRT (VS builds only) |
39 ${toggle_vp9_highbitdepth} use VP9 high bit depth (10/12) profiles | 37 ${toggle_vp9_highbitdepth} use VP9 high bit depth (10/12) profiles |
40 ${toggle_vp8} VP8 codec support | 38 ${toggle_vp8} VP8 codec support |
41 ${toggle_vp9} VP9 codec support | 39 ${toggle_vp9} VP9 codec support |
42 ${toggle_internal_stats} output of encoder internal stats for debug, if
supported (encoders) | 40 ${toggle_internal_stats} output of encoder internal stats for debug, if
supported (encoders) |
43 ${toggle_mem_tracker} track memory usage | |
44 ${toggle_postproc} postprocessing | 41 ${toggle_postproc} postprocessing |
45 ${toggle_vp9_postproc} vp9 specific postprocessing | 42 ${toggle_vp9_postproc} vp9 specific postprocessing |
46 ${toggle_multithread} multithreaded encoding and decoding | 43 ${toggle_multithread} multithreaded encoding and decoding |
47 ${toggle_spatial_resampling} spatial sampling (scaling) support | 44 ${toggle_spatial_resampling} spatial sampling (scaling) support |
48 ${toggle_realtime_only} enable this option while building for real-tim
e encoding | 45 ${toggle_realtime_only} enable this option while building for real-tim
e encoding |
49 ${toggle_onthefly_bitpacking} enable on-the-fly bitpacking in real-time enco
ding | 46 ${toggle_onthefly_bitpacking} enable on-the-fly bitpacking in real-time enco
ding |
50 ${toggle_error_concealment} enable this option to get a decoder which is a
ble to conceal losses | 47 ${toggle_error_concealment} enable this option to get a decoder which is a
ble to conceal losses |
51 ${toggle_coefficient_range_checking} | 48 ${toggle_coefficient_range_checking} |
52 enable decoder to check if intermediate | 49 enable decoder to check if intermediate |
53 transform coefficients are in valid range | 50 transform coefficients are in valid range |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
105 all_platforms="${all_platforms} armv7-android-gcc" #neon Cortex-A8 | 102 all_platforms="${all_platforms} armv7-android-gcc" #neon Cortex-A8 |
106 all_platforms="${all_platforms} armv7-darwin-gcc" #neon Cortex-A8 | 103 all_platforms="${all_platforms} armv7-darwin-gcc" #neon Cortex-A8 |
107 all_platforms="${all_platforms} armv7-linux-rvct" #neon Cortex-A8 | 104 all_platforms="${all_platforms} armv7-linux-rvct" #neon Cortex-A8 |
108 all_platforms="${all_platforms} armv7-linux-gcc" #neon Cortex-A8 | 105 all_platforms="${all_platforms} armv7-linux-gcc" #neon Cortex-A8 |
109 all_platforms="${all_platforms} armv7-none-rvct" #neon Cortex-A8 | 106 all_platforms="${all_platforms} armv7-none-rvct" #neon Cortex-A8 |
110 all_platforms="${all_platforms} armv7-win32-vs11" | 107 all_platforms="${all_platforms} armv7-win32-vs11" |
111 all_platforms="${all_platforms} armv7-win32-vs12" | 108 all_platforms="${all_platforms} armv7-win32-vs12" |
112 all_platforms="${all_platforms} armv7s-darwin-gcc" | 109 all_platforms="${all_platforms} armv7s-darwin-gcc" |
113 all_platforms="${all_platforms} mips32-linux-gcc" | 110 all_platforms="${all_platforms} mips32-linux-gcc" |
114 all_platforms="${all_platforms} mips64-linux-gcc" | 111 all_platforms="${all_platforms} mips64-linux-gcc" |
115 all_platforms="${all_platforms} ppc32-darwin8-gcc" | |
116 all_platforms="${all_platforms} ppc32-darwin9-gcc" | |
117 all_platforms="${all_platforms} ppc32-linux-gcc" | |
118 all_platforms="${all_platforms} ppc64-darwin8-gcc" | |
119 all_platforms="${all_platforms} ppc64-darwin9-gcc" | |
120 all_platforms="${all_platforms} ppc64-linux-gcc" | |
121 all_platforms="${all_platforms} sparc-solaris-gcc" | 112 all_platforms="${all_platforms} sparc-solaris-gcc" |
122 all_platforms="${all_platforms} x86-android-gcc" | 113 all_platforms="${all_platforms} x86-android-gcc" |
123 all_platforms="${all_platforms} x86-darwin8-gcc" | 114 all_platforms="${all_platforms} x86-darwin8-gcc" |
124 all_platforms="${all_platforms} x86-darwin8-icc" | 115 all_platforms="${all_platforms} x86-darwin8-icc" |
125 all_platforms="${all_platforms} x86-darwin9-gcc" | 116 all_platforms="${all_platforms} x86-darwin9-gcc" |
126 all_platforms="${all_platforms} x86-darwin9-icc" | 117 all_platforms="${all_platforms} x86-darwin9-icc" |
127 all_platforms="${all_platforms} x86-darwin10-gcc" | 118 all_platforms="${all_platforms} x86-darwin10-gcc" |
128 all_platforms="${all_platforms} x86-darwin11-gcc" | 119 all_platforms="${all_platforms} x86-darwin11-gcc" |
129 all_platforms="${all_platforms} x86-darwin12-gcc" | 120 all_platforms="${all_platforms} x86-darwin12-gcc" |
130 all_platforms="${all_platforms} x86-darwin13-gcc" | 121 all_platforms="${all_platforms} x86-darwin13-gcc" |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
203 # install everything except the sources, by default. sources will have | 194 # install everything except the sources, by default. sources will have |
204 # to be enabled when doing dist builds, since that's no longer a common | 195 # to be enabled when doing dist builds, since that's no longer a common |
205 # case. | 196 # case. |
206 enabled doxygen && enable_feature install_docs | 197 enabled doxygen && enable_feature install_docs |
207 enable_feature install_bins | 198 enable_feature install_bins |
208 enable_feature install_libs | 199 enable_feature install_libs |
209 | 200 |
210 enable_feature static | 201 enable_feature static |
211 enable_feature optimizations | 202 enable_feature optimizations |
212 enable_feature dependency_tracking | 203 enable_feature dependency_tracking |
213 enable_feature fast_unaligned #allow unaligned accesses, if supported by hw | |
214 enable_feature spatial_resampling | 204 enable_feature spatial_resampling |
215 enable_feature multithread | 205 enable_feature multithread |
216 enable_feature os_support | 206 enable_feature os_support |
217 enable_feature temporal_denoising | 207 enable_feature temporal_denoising |
218 | 208 |
219 [ -d "${source_path}/../include" ] && enable_feature alt_tree_layout | 209 [ -d "${source_path}/../include" ] && enable_feature alt_tree_layout |
220 for d in vp8 vp9; do | 210 for d in vp8 vp9; do |
221 [ -d "${source_path}/${d}" ] && disable_feature alt_tree_layout; | 211 [ -d "${source_path}/${d}" ] && disable_feature alt_tree_layout; |
222 done | 212 done |
223 | 213 |
(...skipping 16 matching lines...) Expand all Loading... |
240 fi | 230 fi |
241 | 231 |
242 CODECS="$(echo ${CODECS} | tr ' ' '\n')" | 232 CODECS="$(echo ${CODECS} | tr ' ' '\n')" |
243 CODEC_FAMILIES="$(for c in ${CODECS}; do echo ${c%_*}; done | sort | uniq)" | 233 CODEC_FAMILIES="$(for c in ${CODECS}; do echo ${c%_*}; done | sort | uniq)" |
244 | 234 |
245 ARCH_LIST=" | 235 ARCH_LIST=" |
246 arm | 236 arm |
247 mips | 237 mips |
248 x86 | 238 x86 |
249 x86_64 | 239 x86_64 |
250 ppc32 | |
251 ppc64 | |
252 " | 240 " |
253 ARCH_EXT_LIST=" | 241 ARCH_EXT_LIST=" |
254 edsp | 242 edsp |
255 media | 243 media |
256 neon | 244 neon |
257 neon_asm | 245 neon_asm |
258 | 246 |
259 mips32 | 247 mips32 |
260 dspr2 | 248 dspr2 |
261 | 249 msa |
262 mips64 | 250 mips64 |
263 | 251 |
264 mmx | 252 mmx |
265 sse | 253 sse |
266 sse2 | 254 sse2 |
267 sse3 | 255 sse3 |
268 ssse3 | 256 ssse3 |
269 sse4_1 | 257 sse4_1 |
270 avx | 258 avx |
271 avx2 | 259 avx2 |
272 | |
273 altivec | |
274 " | 260 " |
275 HAVE_LIST=" | 261 HAVE_LIST=" |
276 ${ARCH_EXT_LIST} | 262 ${ARCH_EXT_LIST} |
277 vpx_ports | 263 vpx_ports |
278 stdint_h | 264 stdint_h |
279 alt_tree_layout | 265 alt_tree_layout |
280 pthread_h | 266 pthread_h |
281 sys_mman_h | 267 sys_mman_h |
282 unistd_h | 268 unistd_h |
283 " | 269 " |
(...skipping 14 matching lines...) Expand all Loading... |
298 gprof | 284 gprof |
299 gcov | 285 gcov |
300 rvct | 286 rvct |
301 gcc | 287 gcc |
302 msvs | 288 msvs |
303 pic | 289 pic |
304 big_endian | 290 big_endian |
305 | 291 |
306 codec_srcs | 292 codec_srcs |
307 debug_libs | 293 debug_libs |
308 fast_unaligned | |
309 mem_manager | |
310 mem_tracker | |
311 mem_checks | |
312 | 294 |
313 dequant_tokens | 295 dequant_tokens |
314 dc_recon | 296 dc_recon |
315 runtime_cpu_detect | 297 runtime_cpu_detect |
316 postproc | 298 postproc |
317 vp9_postproc | 299 vp9_postproc |
318 multithread | 300 multithread |
319 internal_stats | 301 internal_stats |
320 ${CODECS} | 302 ${CODECS} |
321 ${CODEC_FAMILIES} | 303 ${CODEC_FAMILIES} |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
363 ccache | 345 ccache |
364 runtime_cpu_detect | 346 runtime_cpu_detect |
365 thumb | 347 thumb |
366 | 348 |
367 libs | 349 libs |
368 examples | 350 examples |
369 docs | 351 docs |
370 libc | 352 libc |
371 as | 353 as |
372 size_limit | 354 size_limit |
373 fast_unaligned | |
374 codec_srcs | 355 codec_srcs |
375 debug_libs | 356 debug_libs |
376 | 357 |
377 dequant_tokens | 358 dequant_tokens |
378 dc_recon | 359 dc_recon |
379 postproc | 360 postproc |
380 vp9_postproc | 361 vp9_postproc |
381 multithread | 362 multithread |
382 internal_stats | 363 internal_stats |
383 ${CODECS} | 364 ${CODECS} |
384 ${CODEC_FAMILIES} | 365 ${CODEC_FAMILIES} |
385 static_msvcrt | 366 static_msvcrt |
386 mem_tracker | |
387 spatial_resampling | 367 spatial_resampling |
388 realtime_only | 368 realtime_only |
389 onthefly_bitpacking | 369 onthefly_bitpacking |
390 error_concealment | 370 error_concealment |
391 shared | 371 shared |
392 static | 372 static |
393 small | 373 small |
394 postproc_visualizer | 374 postproc_visualizer |
395 unit_tests | 375 unit_tests |
396 webm_io | 376 webm_io |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
614 } | 594 } |
615 | 595 |
616 process_toolchain() { | 596 process_toolchain() { |
617 process_common_toolchain | 597 process_common_toolchain |
618 | 598 |
619 # Handle universal binaries for this architecture | 599 # Handle universal binaries for this architecture |
620 case $toolchain in | 600 case $toolchain in |
621 universal-darwin*) | 601 universal-darwin*) |
622 darwin_ver=${tgt_os##darwin} | 602 darwin_ver=${tgt_os##darwin} |
623 | 603 |
624 # Snow Leopard (10.6/darwin10) dropped support for PPC | |
625 # Include PPC support for all prior versions | |
626 if [ $darwin_ver -lt 10 ]; then | |
627 fat_bin_archs="$fat_bin_archs ppc32-${tgt_os}-gcc" | |
628 fi | |
629 | |
630 # Tiger (10.4/darwin8) brought support for x86 | 604 # Tiger (10.4/darwin8) brought support for x86 |
631 if [ $darwin_ver -ge 8 ]; then | 605 if [ $darwin_ver -ge 8 ]; then |
632 fat_bin_archs="$fat_bin_archs x86-${tgt_os}-${tgt_cc}" | 606 fat_bin_archs="$fat_bin_archs x86-${tgt_os}-${tgt_cc}" |
633 fi | 607 fi |
634 | 608 |
635 # Leopard (10.5/darwin9) brought 64 bit support | 609 # Leopard (10.5/darwin9) brought 64 bit support |
636 if [ $darwin_ver -ge 9 ]; then | 610 if [ $darwin_ver -ge 9 ]; then |
637 fat_bin_archs="$fat_bin_archs x86_64-${tgt_os}-${tgt_cc}" | 611 fat_bin_archs="$fat_bin_archs x86_64-${tgt_os}-${tgt_cc}" |
638 fi | 612 fi |
639 ;; | 613 ;; |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
720 gen_vcproj_cmd=${source_path}/build/make/gen_msvs_vcxproj.sh | 694 gen_vcproj_cmd=${source_path}/build/make/gen_msvs_vcxproj.sh |
721 enabled werror && gen_vcproj_cmd="${gen_vcproj_cmd} --enable-we
rror" | 695 enabled werror && gen_vcproj_cmd="${gen_vcproj_cmd} --enable-we
rror" |
722 ;; | 696 ;; |
723 esac | 697 esac |
724 all_targets="${all_targets} solution" | 698 all_targets="${all_targets} solution" |
725 INLINE="__forceinline" | 699 INLINE="__forceinline" |
726 ;; | 700 ;; |
727 esac | 701 esac |
728 | 702 |
729 # Other toolchain specific defaults | 703 # Other toolchain specific defaults |
730 case $toolchain in x86*|ppc*|universal*) soft_enable postproc;; esac | 704 case $toolchain in x86*|universal*) soft_enable postproc;; esac |
731 | 705 |
732 if enabled postproc_visualizer; then | 706 if enabled postproc_visualizer; then |
733 enabled postproc || die "postproc_visualizer requires postproc to be ena
bled" | 707 enabled postproc || die "postproc_visualizer requires postproc to be ena
bled" |
734 fi | 708 fi |
735 | 709 |
736 # Enable unit tests by default if we have a working C++ compiler. | 710 # Enable unit tests by default if we have a working C++ compiler. |
737 case "$toolchain" in | 711 case "$toolchain" in |
738 *-vs*) | 712 *-vs*) |
739 soft_enable unit_tests | 713 soft_enable unit_tests |
740 soft_enable webm_io | 714 soft_enable webm_io |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
787 ## | 761 ## |
788 ## END APPLICATION SPECIFIC CONFIGURATION | 762 ## END APPLICATION SPECIFIC CONFIGURATION |
789 ## | 763 ## |
790 CONFIGURE_ARGS="$@" | 764 CONFIGURE_ARGS="$@" |
791 process "$@" | 765 process "$@" |
792 print_webm_license ${BUILD_PFX}vpx_config.c "/*" " */" | 766 print_webm_license ${BUILD_PFX}vpx_config.c "/*" " */" |
793 cat <<EOF >> ${BUILD_PFX}vpx_config.c | 767 cat <<EOF >> ${BUILD_PFX}vpx_config.c |
794 static const char* const cfg = "$CONFIGURE_ARGS"; | 768 static const char* const cfg = "$CONFIGURE_ARGS"; |
795 const char *vpx_codec_build_config(void) {return cfg;} | 769 const char *vpx_codec_build_config(void) {return cfg;} |
796 EOF | 770 EOF |
OLD | NEW |