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 19 matching lines...) Expand all Loading... |
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_codec_srcs} in/exclude codec library source code | 34 ${toggle_codec_srcs} in/exclude codec library source code |
35 ${toggle_debug_libs} in/exclude debug version of libraries | 35 ${toggle_debug_libs} in/exclude debug version of libraries |
36 ${toggle_static_msvcrt} use static MSVCRT (VS builds only) | 36 ${toggle_static_msvcrt} use static MSVCRT (VS builds only) |
37 ${toggle_vp9_highbitdepth} use VP9 high bit depth (10/12) profiles | 37 ${toggle_vp9_highbitdepth} use VP9 high bit depth (10/12) profiles |
38 ${toggle_vp8} VP8 codec support | 38 ${toggle_vp8} VP8 codec support |
39 ${toggle_vp9} VP9 codec support | 39 ${toggle_vp9} VP9 codec support |
| 40 ${toggle_vp10} VP10 codec support |
40 ${toggle_internal_stats} output of encoder internal stats for debug, if
supported (encoders) | 41 ${toggle_internal_stats} output of encoder internal stats for debug, if
supported (encoders) |
41 ${toggle_postproc} postprocessing | 42 ${toggle_postproc} postprocessing |
42 ${toggle_vp9_postproc} vp9 specific postprocessing | 43 ${toggle_vp9_postproc} vp9 specific postprocessing |
43 ${toggle_multithread} multithreaded encoding and decoding | 44 ${toggle_multithread} multithreaded encoding and decoding |
44 ${toggle_spatial_resampling} spatial sampling (scaling) support | 45 ${toggle_spatial_resampling} spatial sampling (scaling) support |
45 ${toggle_realtime_only} enable this option while building for real-tim
e encoding | 46 ${toggle_realtime_only} enable this option while building for real-tim
e encoding |
46 ${toggle_onthefly_bitpacking} enable on-the-fly bitpacking in real-time enco
ding | 47 ${toggle_onthefly_bitpacking} enable on-the-fly bitpacking in real-time enco
ding |
47 ${toggle_error_concealment} enable this option to get a decoder which is a
ble to conceal losses | 48 ${toggle_error_concealment} enable this option to get a decoder which is a
ble to conceal losses |
48 ${toggle_coefficient_range_checking} | 49 ${toggle_coefficient_range_checking} |
49 enable decoder to check if intermediate | 50 enable decoder to check if intermediate |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 all_platforms="${all_platforms} armv6-linux-gcc" | 100 all_platforms="${all_platforms} armv6-linux-gcc" |
100 all_platforms="${all_platforms} armv6-none-rvct" | 101 all_platforms="${all_platforms} armv6-none-rvct" |
101 all_platforms="${all_platforms} arm64-darwin-gcc" | 102 all_platforms="${all_platforms} arm64-darwin-gcc" |
102 all_platforms="${all_platforms} armv7-android-gcc" #neon Cortex-A8 | 103 all_platforms="${all_platforms} armv7-android-gcc" #neon Cortex-A8 |
103 all_platforms="${all_platforms} armv7-darwin-gcc" #neon Cortex-A8 | 104 all_platforms="${all_platforms} armv7-darwin-gcc" #neon Cortex-A8 |
104 all_platforms="${all_platforms} armv7-linux-rvct" #neon Cortex-A8 | 105 all_platforms="${all_platforms} armv7-linux-rvct" #neon Cortex-A8 |
105 all_platforms="${all_platforms} armv7-linux-gcc" #neon Cortex-A8 | 106 all_platforms="${all_platforms} armv7-linux-gcc" #neon Cortex-A8 |
106 all_platforms="${all_platforms} armv7-none-rvct" #neon Cortex-A8 | 107 all_platforms="${all_platforms} armv7-none-rvct" #neon Cortex-A8 |
107 all_platforms="${all_platforms} armv7-win32-vs11" | 108 all_platforms="${all_platforms} armv7-win32-vs11" |
108 all_platforms="${all_platforms} armv7-win32-vs12" | 109 all_platforms="${all_platforms} armv7-win32-vs12" |
| 110 all_platforms="${all_platforms} armv7-win32-vs14" |
109 all_platforms="${all_platforms} armv7s-darwin-gcc" | 111 all_platforms="${all_platforms} armv7s-darwin-gcc" |
110 all_platforms="${all_platforms} mips32-linux-gcc" | 112 all_platforms="${all_platforms} mips32-linux-gcc" |
111 all_platforms="${all_platforms} mips64-linux-gcc" | 113 all_platforms="${all_platforms} mips64-linux-gcc" |
112 all_platforms="${all_platforms} sparc-solaris-gcc" | 114 all_platforms="${all_platforms} sparc-solaris-gcc" |
113 all_platforms="${all_platforms} x86-android-gcc" | 115 all_platforms="${all_platforms} x86-android-gcc" |
114 all_platforms="${all_platforms} x86-darwin8-gcc" | 116 all_platforms="${all_platforms} x86-darwin8-gcc" |
115 all_platforms="${all_platforms} x86-darwin8-icc" | 117 all_platforms="${all_platforms} x86-darwin8-icc" |
116 all_platforms="${all_platforms} x86-darwin9-gcc" | 118 all_platforms="${all_platforms} x86-darwin9-gcc" |
117 all_platforms="${all_platforms} x86-darwin9-icc" | 119 all_platforms="${all_platforms} x86-darwin9-icc" |
118 all_platforms="${all_platforms} x86-darwin10-gcc" | 120 all_platforms="${all_platforms} x86-darwin10-gcc" |
119 all_platforms="${all_platforms} x86-darwin11-gcc" | 121 all_platforms="${all_platforms} x86-darwin11-gcc" |
120 all_platforms="${all_platforms} x86-darwin12-gcc" | 122 all_platforms="${all_platforms} x86-darwin12-gcc" |
121 all_platforms="${all_platforms} x86-darwin13-gcc" | 123 all_platforms="${all_platforms} x86-darwin13-gcc" |
122 all_platforms="${all_platforms} x86-darwin14-gcc" | 124 all_platforms="${all_platforms} x86-darwin14-gcc" |
123 all_platforms="${all_platforms} x86-iphonesimulator-gcc" | 125 all_platforms="${all_platforms} x86-iphonesimulator-gcc" |
124 all_platforms="${all_platforms} x86-linux-gcc" | 126 all_platforms="${all_platforms} x86-linux-gcc" |
125 all_platforms="${all_platforms} x86-linux-icc" | 127 all_platforms="${all_platforms} x86-linux-icc" |
126 all_platforms="${all_platforms} x86-os2-gcc" | 128 all_platforms="${all_platforms} x86-os2-gcc" |
127 all_platforms="${all_platforms} x86-solaris-gcc" | 129 all_platforms="${all_platforms} x86-solaris-gcc" |
128 all_platforms="${all_platforms} x86-win32-gcc" | 130 all_platforms="${all_platforms} x86-win32-gcc" |
129 all_platforms="${all_platforms} x86-win32-vs7" | 131 all_platforms="${all_platforms} x86-win32-vs7" |
130 all_platforms="${all_platforms} x86-win32-vs8" | 132 all_platforms="${all_platforms} x86-win32-vs8" |
131 all_platforms="${all_platforms} x86-win32-vs9" | 133 all_platforms="${all_platforms} x86-win32-vs9" |
132 all_platforms="${all_platforms} x86-win32-vs10" | 134 all_platforms="${all_platforms} x86-win32-vs10" |
133 all_platforms="${all_platforms} x86-win32-vs11" | 135 all_platforms="${all_platforms} x86-win32-vs11" |
134 all_platforms="${all_platforms} x86-win32-vs12" | 136 all_platforms="${all_platforms} x86-win32-vs12" |
| 137 all_platforms="${all_platforms} x86-win32-vs14" |
135 all_platforms="${all_platforms} x86_64-android-gcc" | 138 all_platforms="${all_platforms} x86_64-android-gcc" |
136 all_platforms="${all_platforms} x86_64-darwin9-gcc" | 139 all_platforms="${all_platforms} x86_64-darwin9-gcc" |
137 all_platforms="${all_platforms} x86_64-darwin10-gcc" | 140 all_platforms="${all_platforms} x86_64-darwin10-gcc" |
138 all_platforms="${all_platforms} x86_64-darwin11-gcc" | 141 all_platforms="${all_platforms} x86_64-darwin11-gcc" |
139 all_platforms="${all_platforms} x86_64-darwin12-gcc" | 142 all_platforms="${all_platforms} x86_64-darwin12-gcc" |
140 all_platforms="${all_platforms} x86_64-darwin13-gcc" | 143 all_platforms="${all_platforms} x86_64-darwin13-gcc" |
141 all_platforms="${all_platforms} x86_64-darwin14-gcc" | 144 all_platforms="${all_platforms} x86_64-darwin14-gcc" |
142 all_platforms="${all_platforms} x86_64-iphonesimulator-gcc" | 145 all_platforms="${all_platforms} x86_64-iphonesimulator-gcc" |
143 all_platforms="${all_platforms} x86_64-linux-gcc" | 146 all_platforms="${all_platforms} x86_64-linux-gcc" |
144 all_platforms="${all_platforms} x86_64-linux-icc" | 147 all_platforms="${all_platforms} x86_64-linux-icc" |
145 all_platforms="${all_platforms} x86_64-solaris-gcc" | 148 all_platforms="${all_platforms} x86_64-solaris-gcc" |
146 all_platforms="${all_platforms} x86_64-win64-gcc" | 149 all_platforms="${all_platforms} x86_64-win64-gcc" |
147 all_platforms="${all_platforms} x86_64-win64-vs8" | 150 all_platforms="${all_platforms} x86_64-win64-vs8" |
148 all_platforms="${all_platforms} x86_64-win64-vs9" | 151 all_platforms="${all_platforms} x86_64-win64-vs9" |
149 all_platforms="${all_platforms} x86_64-win64-vs10" | 152 all_platforms="${all_platforms} x86_64-win64-vs10" |
150 all_platforms="${all_platforms} x86_64-win64-vs11" | 153 all_platforms="${all_platforms} x86_64-win64-vs11" |
151 all_platforms="${all_platforms} x86_64-win64-vs12" | 154 all_platforms="${all_platforms} x86_64-win64-vs12" |
| 155 all_platforms="${all_platforms} x86_64-win64-vs14" |
152 all_platforms="${all_platforms} generic-gnu" | 156 all_platforms="${all_platforms} generic-gnu" |
153 | 157 |
154 # all_targets is a list of all targets that can be configured | 158 # all_targets is a list of all targets that can be configured |
155 # note that these should be in dependency order for now. | 159 # note that these should be in dependency order for now. |
156 all_targets="libs examples docs" | 160 all_targets="libs examples docs" |
157 | 161 |
158 # all targets available are enabled, by default. | 162 # all targets available are enabled, by default. |
159 for t in ${all_targets}; do | 163 for t in ${all_targets}; do |
160 [ -f "${source_path}/${t}.mk" ] && enable_feature ${t} | 164 [ -f "${source_path}/${t}.mk" ] && enable_feature ${t} |
161 done | 165 done |
(...skipping 19 matching lines...) Expand all Loading... |
181 doxy_patch=${doxy_version##*.} | 185 doxy_patch=${doxy_version##*.} |
182 | 186 |
183 [ $doxy_major -gt 1 ] && enable_feature doxygen | 187 [ $doxy_major -gt 1 ] && enable_feature doxygen |
184 [ $doxy_minor -gt 5 ] && enable_feature doxygen | 188 [ $doxy_minor -gt 5 ] && enable_feature doxygen |
185 [ $doxy_minor -eq 5 ] && [ $doxy_patch -ge 3 ] && enable_feature doxygen | 189 [ $doxy_minor -eq 5 ] && [ $doxy_patch -ge 3 ] && enable_feature doxygen |
186 fi | 190 fi |
187 | 191 |
188 # disable codecs when their source directory does not exist | 192 # disable codecs when their source directory does not exist |
189 [ -d "${source_path}/vp8" ] || disable_feature vp8 | 193 [ -d "${source_path}/vp8" ] || disable_feature vp8 |
190 [ -d "${source_path}/vp9" ] || disable_feature vp9 | 194 [ -d "${source_path}/vp9" ] || disable_feature vp9 |
| 195 [ -d "${source_path}/vp10" ] || disable_feature vp10 |
| 196 |
| 197 # disable vp10 codec by default |
| 198 disable_feature vp10 |
191 | 199 |
192 # install everything except the sources, by default. sources will have | 200 # install everything except the sources, by default. sources will have |
193 # to be enabled when doing dist builds, since that's no longer a common | 201 # to be enabled when doing dist builds, since that's no longer a common |
194 # case. | 202 # case. |
195 enabled doxygen && enable_feature install_docs | 203 enabled doxygen && enable_feature install_docs |
196 enable_feature install_bins | 204 enable_feature install_bins |
197 enable_feature install_libs | 205 enable_feature install_libs |
198 | 206 |
199 enable_feature static | 207 enable_feature static |
200 enable_feature optimizations | 208 enable_feature optimizations |
201 enable_feature dependency_tracking | 209 enable_feature dependency_tracking |
202 enable_feature spatial_resampling | 210 enable_feature spatial_resampling |
203 enable_feature multithread | 211 enable_feature multithread |
204 enable_feature os_support | 212 enable_feature os_support |
205 enable_feature temporal_denoising | 213 enable_feature temporal_denoising |
206 | 214 |
207 CODECS=" | 215 CODECS=" |
208 vp8_encoder | 216 vp8_encoder |
209 vp8_decoder | 217 vp8_decoder |
210 vp9_encoder | 218 vp9_encoder |
211 vp9_decoder | 219 vp9_decoder |
| 220 vp10_encoder |
| 221 vp10_decoder |
212 " | 222 " |
213 CODEC_FAMILIES=" | 223 CODEC_FAMILIES=" |
214 vp8 | 224 vp8 |
215 vp9 | 225 vp9 |
| 226 vp10 |
216 " | 227 " |
217 | 228 |
218 ARCH_LIST=" | 229 ARCH_LIST=" |
219 arm | 230 arm |
220 mips | 231 mips |
221 x86 | 232 x86 |
222 x86_64 | 233 x86_64 |
223 " | 234 " |
224 ARCH_EXT_LIST=" | 235 ARCH_EXT_LIST=" |
225 edsp | 236 edsp |
(...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
632 # Enable the postbuild target if building for visual studio. | 643 # Enable the postbuild target if building for visual studio. |
633 case "$tgt_cc" in | 644 case "$tgt_cc" in |
634 vs*) enable_feature msvs | 645 vs*) enable_feature msvs |
635 enable_feature solution | 646 enable_feature solution |
636 vs_version=${tgt_cc##vs} | 647 vs_version=${tgt_cc##vs} |
637 case $vs_version in | 648 case $vs_version in |
638 [789]) | 649 [789]) |
639 VCPROJ_SFX=vcproj | 650 VCPROJ_SFX=vcproj |
640 gen_vcproj_cmd=${source_path}/build/make/gen_msvs_proj.sh | 651 gen_vcproj_cmd=${source_path}/build/make/gen_msvs_proj.sh |
641 ;; | 652 ;; |
642 10|11|12) | 653 10|11|12|14) |
643 VCPROJ_SFX=vcxproj | 654 VCPROJ_SFX=vcxproj |
644 gen_vcproj_cmd=${source_path}/build/make/gen_msvs_vcxproj.sh | 655 gen_vcproj_cmd=${source_path}/build/make/gen_msvs_vcxproj.sh |
645 enabled werror && gen_vcproj_cmd="${gen_vcproj_cmd} --enable-we
rror" | 656 enabled werror && gen_vcproj_cmd="${gen_vcproj_cmd} --enable-we
rror" |
646 ;; | 657 ;; |
647 esac | 658 esac |
648 all_targets="${all_targets} solution" | 659 all_targets="${all_targets} solution" |
649 INLINE="__forceinline" | 660 INLINE="__forceinline" |
650 ;; | 661 ;; |
651 esac | 662 esac |
652 | 663 |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
698 check_cxx "$@" <<EOF && soft_enable webm_io | 709 check_cxx "$@" <<EOF && soft_enable webm_io |
699 int z; | 710 int z; |
700 EOF | 711 EOF |
701 check_cxx "$@" <<EOF && soft_enable libyuv | 712 check_cxx "$@" <<EOF && soft_enable libyuv |
702 int z; | 713 int z; |
703 EOF | 714 EOF |
704 ;; | 715 ;; |
705 esac | 716 esac |
706 # libwebm needs to be linked with C++ standard library | 717 # libwebm needs to be linked with C++ standard library |
707 enabled webm_io && LD=${CXX} | 718 enabled webm_io && LD=${CXX} |
| 719 |
| 720 # append any user defined extra cflags |
| 721 if [ -n "${extra_cflags}" ] ; then |
| 722 check_add_cflags ${extra_cflags} || \ |
| 723 die "Requested extra CFLAGS '${extra_cflags}' not supported by compiler" |
| 724 fi |
708 } | 725 } |
709 | 726 |
710 | 727 |
711 ## | 728 ## |
712 ## END APPLICATION SPECIFIC CONFIGURATION | 729 ## END APPLICATION SPECIFIC CONFIGURATION |
713 ## | 730 ## |
714 CONFIGURE_ARGS="$@" | 731 CONFIGURE_ARGS="$@" |
715 process "$@" | 732 process "$@" |
716 print_webm_license ${BUILD_PFX}vpx_config.c "/*" " */" | 733 print_webm_license ${BUILD_PFX}vpx_config.c "/*" " */" |
717 cat <<EOF >> ${BUILD_PFX}vpx_config.c | 734 cat <<EOF >> ${BUILD_PFX}vpx_config.c |
718 #include "vpx/vpx_codec.h" | 735 #include "vpx/vpx_codec.h" |
719 static const char* const cfg = "$CONFIGURE_ARGS"; | 736 static const char* const cfg = "$CONFIGURE_ARGS"; |
720 const char *vpx_codec_build_config(void) {return cfg;} | 737 const char *vpx_codec_build_config(void) {return cfg;} |
721 EOF | 738 EOF |
OLD | NEW |