diff --git a/build/make/configure.sh b/build/make/configure.sh index 33f658e66847c33c12ada51f27d317dcb93b50fa..ea3da9e9a1abee0196bb8a2e4db617f39e6f9d90 100644 --- a/build/make/configure.sh +++ b/build/make/configure.sh @@ -185,6 +185,25 @@ add_extralibs() { # # 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 $* } diff --git a/configure b/configure index 04ea0f4360288539b8aef0ff008b61d0d9d305c8..900d208a380483418b554a5e9e4c43af55eb20fa 100755 --- a/configure +++ b/configure @@ -195,12 +195,12 @@ if [ ${doxy_major:-0} -ge 1 ]; then 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 @@ process_cmdline() { 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 @@ process_cmdline() { 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 @@ -413,14 +417,6 @@ process_cmdline() { 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