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 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 ${toggle_realtime_only} enable this option while building for real-tim
e encoding | 44 ${toggle_realtime_only} enable this option while building for real-tim
e encoding |
45 ${toggle_onthefly_bitpacking} enable on-the-fly bitpacking in real-time enco
ding | 45 ${toggle_onthefly_bitpacking} enable on-the-fly bitpacking in real-time enco
ding |
46 ${toggle_error_concealment} enable this option to get a decoder which is a
ble to conceal losses | 46 ${toggle_error_concealment} enable this option to get a decoder which is a
ble to conceal losses |
47 ${toggle_runtime_cpu_detect} runtime cpu detection | 47 ${toggle_runtime_cpu_detect} runtime cpu detection |
48 ${toggle_shared} shared library support | 48 ${toggle_shared} shared library support |
49 ${toggle_static} static library support | 49 ${toggle_static} static library support |
50 ${toggle_small} favor smaller size over speed | 50 ${toggle_small} favor smaller size over speed |
51 ${toggle_postproc_visualizer} macro block / block level visualizers | 51 ${toggle_postproc_visualizer} macro block / block level visualizers |
52 ${toggle_multi_res_encoding} enable multiple-resolution encoding | 52 ${toggle_multi_res_encoding} enable multiple-resolution encoding |
53 ${toggle_temporal_denoising} enable temporal denoising and disable the spat
ial denoiser | 53 ${toggle_temporal_denoising} enable temporal denoising and disable the spat
ial denoiser |
| 54 ${toggle_webm_io} enable input from and output to WebM container |
54 | 55 |
55 Codecs: | 56 Codecs: |
56 Codecs can be selectively enabled or disabled individually, or by family: | 57 Codecs can be selectively enabled or disabled individually, or by family: |
57 --disable-<codec> | 58 --disable-<codec> |
58 is equivalent to: | 59 is equivalent to: |
59 --disable-<codec>-encoder | 60 --disable-<codec>-encoder |
60 --disable-<codec>-decoder | 61 --disable-<codec>-decoder |
61 | 62 |
62 Codecs available in this distribution: | 63 Codecs available in this distribution: |
63 EOF | 64 EOF |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
153 | 154 |
154 # all_targets is a list of all targets that can be configured | 155 # all_targets is a list of all targets that can be configured |
155 # note that these should be in dependency order for now. | 156 # note that these should be in dependency order for now. |
156 all_targets="libs examples docs" | 157 all_targets="libs examples docs" |
157 | 158 |
158 # all targets available are enabled, by default. | 159 # all targets available are enabled, by default. |
159 for t in ${all_targets}; do | 160 for t in ${all_targets}; do |
160 [ -f ${source_path}/${t}.mk ] && enable_feature ${t} | 161 [ -f ${source_path}/${t}.mk ] && enable_feature ${t} |
161 done | 162 done |
162 | 163 |
| 164 if ! perl --version >/dev/null; then |
| 165 die "Perl is required to build" |
| 166 fi |
| 167 |
| 168 |
| 169 if [ "`cd ${source_path} && pwd`" != "`pwd`" ]; then |
| 170 # test to see if source_path already configured |
| 171 if [ -f ${source_path}/vpx_config.h ]; then |
| 172 die "source directory already configured; run 'make distclean' there first" |
| 173 fi |
| 174 fi |
| 175 |
163 # check installed doxygen version | 176 # check installed doxygen version |
164 doxy_version=$(doxygen --version 2>/dev/null) | 177 doxy_version=$(doxygen --version 2>/dev/null) |
165 doxy_major=${doxy_version%%.*} | 178 doxy_major=${doxy_version%%.*} |
166 if [ ${doxy_major:-0} -ge 1 ]; then | 179 if [ ${doxy_major:-0} -ge 1 ]; then |
167 doxy_version=${doxy_version#*.} | 180 doxy_version=${doxy_version#*.} |
168 doxy_minor=${doxy_version%%.*} | 181 doxy_minor=${doxy_version%%.*} |
169 doxy_patch=${doxy_version##*.} | 182 doxy_patch=${doxy_version##*.} |
170 | 183 |
171 [ $doxy_major -gt 1 ] && enable_feature doxygen | 184 [ $doxy_major -gt 1 ] && enable_feature doxygen |
172 [ $doxy_minor -gt 5 ] && enable_feature doxygen | 185 [ $doxy_minor -gt 5 ] && enable_feature doxygen |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
245 ${ARCH_EXT_LIST} | 258 ${ARCH_EXT_LIST} |
246 vpx_ports | 259 vpx_ports |
247 stdint_h | 260 stdint_h |
248 alt_tree_layout | 261 alt_tree_layout |
249 pthread_h | 262 pthread_h |
250 sys_mman_h | 263 sys_mman_h |
251 unistd_h | 264 unistd_h |
252 " | 265 " |
253 EXPERIMENT_LIST=" | 266 EXPERIMENT_LIST=" |
254 multiple_arf | 267 multiple_arf |
255 non420 | |
256 alpha | 268 alpha |
257 " | 269 " |
258 CONFIG_LIST=" | 270 CONFIG_LIST=" |
259 external_build | 271 external_build |
260 install_docs | 272 install_docs |
261 install_bins | 273 install_bins |
262 install_libs | 274 install_libs |
263 install_srcs | 275 install_srcs |
264 use_x86inc | 276 use_x86inc |
265 debug | 277 debug |
(...skipping 27 matching lines...) Expand all Loading... |
293 spatial_resampling | 305 spatial_resampling |
294 realtime_only | 306 realtime_only |
295 onthefly_bitpacking | 307 onthefly_bitpacking |
296 error_concealment | 308 error_concealment |
297 shared | 309 shared |
298 static | 310 static |
299 small | 311 small |
300 postproc_visualizer | 312 postproc_visualizer |
301 os_support | 313 os_support |
302 unit_tests | 314 unit_tests |
| 315 webm_io |
303 decode_perf_tests | 316 decode_perf_tests |
304 multi_res_encoding | 317 multi_res_encoding |
305 temporal_denoising | 318 temporal_denoising |
306 experimental | 319 experimental |
307 decrypt | 320 decrypt |
308 ${EXPERIMENT_LIST} | 321 ${EXPERIMENT_LIST} |
309 " | 322 " |
310 CMDLINE_SELECT=" | 323 CMDLINE_SELECT=" |
311 external_build | 324 external_build |
312 extra_warnings | 325 extra_warnings |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
346 mem_tracker | 359 mem_tracker |
347 spatial_resampling | 360 spatial_resampling |
348 realtime_only | 361 realtime_only |
349 onthefly_bitpacking | 362 onthefly_bitpacking |
350 error_concealment | 363 error_concealment |
351 shared | 364 shared |
352 static | 365 static |
353 small | 366 small |
354 postproc_visualizer | 367 postproc_visualizer |
355 unit_tests | 368 unit_tests |
| 369 webm_io |
356 decode_perf_tests | 370 decode_perf_tests |
357 multi_res_encoding | 371 multi_res_encoding |
358 temporal_denoising | 372 temporal_denoising |
359 experimental | 373 experimental |
360 decrypt | 374 decrypt |
361 " | 375 " |
362 | 376 |
363 process_cmdline() { | 377 process_cmdline() { |
364 for opt do | 378 for opt do |
365 optval="${opt#*=}" | 379 optval="${opt#*=}" |
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
668 enable_feature solution | 682 enable_feature solution |
669 vs_version=${tgt_cc##vs} | 683 vs_version=${tgt_cc##vs} |
670 case $vs_version in | 684 case $vs_version in |
671 [789]) | 685 [789]) |
672 VCPROJ_SFX=vcproj | 686 VCPROJ_SFX=vcproj |
673 gen_vcproj_cmd=${source_path}/build/make/gen_msvs_proj.sh | 687 gen_vcproj_cmd=${source_path}/build/make/gen_msvs_proj.sh |
674 ;; | 688 ;; |
675 10|11|12) | 689 10|11|12) |
676 VCPROJ_SFX=vcxproj | 690 VCPROJ_SFX=vcxproj |
677 gen_vcproj_cmd=${source_path}/build/make/gen_msvs_vcxproj.sh | 691 gen_vcproj_cmd=${source_path}/build/make/gen_msvs_vcxproj.sh |
| 692 enabled werror && gen_vcproj_cmd="${gen_vcproj_cmd} --enable-we
rror" |
678 ;; | 693 ;; |
679 esac | 694 esac |
680 all_targets="${all_targets} solution" | 695 all_targets="${all_targets} solution" |
681 INLINE="__forceinline" | 696 INLINE="__forceinline" |
682 ;; | 697 ;; |
683 esac | 698 esac |
684 | 699 |
685 # Other toolchain specific defaults | 700 # Other toolchain specific defaults |
686 case $toolchain in x86*|ppc*|universal*) soft_enable postproc;; esac | 701 case $toolchain in x86*|ppc*|universal*) soft_enable postproc;; esac |
687 | 702 |
688 if enabled postproc_visualizer; then | 703 if enabled postproc_visualizer; then |
689 enabled postproc || die "postproc_visualizer requires postproc to be ena
bled" | 704 enabled postproc || die "postproc_visualizer requires postproc to be ena
bled" |
690 fi | 705 fi |
691 | 706 |
| 707 # Enable WebM IO by default. |
| 708 soft_enable webm_io |
| 709 |
692 # 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. |
693 case "$toolchain" in | 711 case "$toolchain" in |
694 *-vs*) | 712 *-vs*) |
695 soft_enable unit_tests | 713 soft_enable unit_tests |
696 ;; | 714 ;; |
697 *-android-*) | 715 *-android-*) |
698 # GTestLog must be modified to use Android logging utilities. | 716 # GTestLog must be modified to use Android logging utilities. |
699 ;; | 717 ;; |
700 *-darwin-*) | 718 *-darwin-*) |
701 # iOS/ARM builds do not work with gtest. This does not match | 719 # iOS/ARM builds do not work with gtest. This does not match |
(...skipping 19 matching lines...) Expand all Loading... |
721 ## | 739 ## |
722 ## END APPLICATION SPECIFIC CONFIGURATION | 740 ## END APPLICATION SPECIFIC CONFIGURATION |
723 ## | 741 ## |
724 CONFIGURE_ARGS="$@" | 742 CONFIGURE_ARGS="$@" |
725 process "$@" | 743 process "$@" |
726 print_webm_license ${BUILD_PFX}vpx_config.c "/*" " */" | 744 print_webm_license ${BUILD_PFX}vpx_config.c "/*" " */" |
727 cat <<EOF >> ${BUILD_PFX}vpx_config.c | 745 cat <<EOF >> ${BUILD_PFX}vpx_config.c |
728 static const char* const cfg = "$CONFIGURE_ARGS"; | 746 static const char* const cfg = "$CONFIGURE_ARGS"; |
729 const char *vpx_codec_build_config(void) {return cfg;} | 747 const char *vpx_codec_build_config(void) {return cfg;} |
730 EOF | 748 EOF |
OLD | NEW |