ref: 4f367f5cd9e87dacf7d5bf859c1e02830e25b03c
parent: 9d7a12a0e78909343f7e7a18bcbb87edff131313
parent: 0146fa95efb9a0020da53ddcb26755796561673b
author: DO NOT USE <[email protected]>
date: Fri Jun 17 18:03:49 EDT 2016
Merge "Parse codec options in order of occurrence."
--- a/build/make/configure.sh
+++ b/build/make/configure.sh
@@ -185,6 +185,25 @@
#
# Boolean Manipulation Functions
#
+
+enable_codec(){
+ enabled $1 || echo " enabling $1"
+ set_all yes $1
+
+ is_in $1 vp8 vp9 vp10 && \
+ set_all yes $1_encoder && \
+ set_all yes $1_decoder
+}
+
+disable_codec(){
+ disabled $1 || echo " disabling $1"
+ set_all no $1
+
+ is_in $1 vp8 vp9 vp10 && \
+ set_all no $1_encoder && \
+ set_all no $1_decoder
+}
+
enable_feature(){
set_all yes $*
}
--- a/configure
+++ b/configure
@@ -195,12 +195,12 @@
fi
# disable codecs when their source directory does not exist
-[ -d "${source_path}/vp8" ] || disable_feature vp8
-[ -d "${source_path}/vp9" ] || disable_feature vp9
-[ -d "${source_path}/vp10" ] || disable_feature vp10
+[ -d "${source_path}/vp8" ] || disable_codec vp8
+[ -d "${source_path}/vp9" ] || disable_codec vp9
+[ -d "${source_path}/vp10" ] || disable_codec vp10
# disable vp10 codec by default
-disable_feature vp10
+disable_codec vp10
# install everything except the sources, by default. sources will have
# to be enabled when doing dist builds, since that's no longer a common
@@ -391,7 +391,9 @@
for opt do
optval="${opt#*=}"
case "$opt" in
- --disable-codecs) for c in ${CODECS}; do disable_feature $c; done ;;
+ --disable-codecs)
+ for c in ${CODEC_FAMILIES}; do disable_codec $c; done
+ ;;
--enable-?*|--disable-?*)
eval `echo "$opt" | sed 's/--/action=/;s/-/ option=/;s/-/_/g'`
if echo "${EXPERIMENT_LIST}" | grep "^ *$option\$" >/dev/null; then
@@ -400,6 +402,8 @@
else
log_echo "Ignoring $opt -- not in experimental mode."
fi
+ elif is_in ${option} "${CODECS} ${CODEC_FAMILIES}"; then
+ ${action}_codec ${option}
else
process_common_cmdline $opt
fi
@@ -412,14 +416,6 @@
post_process_cmdline() {
c=""
-
- # If the codec family is disabled, disable all components of that family.
- # If the codec family is enabled, enable all components of that family.
- log_echo "Configuring selected codecs"
- for c in ${CODECS}; do
- disabled ${c%%_*} && disable_feature ${c}
- enabled ${c%%_*} && enable_feature ${c}
- done
# Enable all detected codecs, if they haven't been disabled
for c in ${CODECS}; do soft_enable $c; done