[FFmpeg-cvslog] configure: When disabling a library disable all the related components
Luca Barbato
git at videolan.org
Sat Oct 10 09:41:26 CEST 2015
ffmpeg | branch: master | Luca Barbato <lu_zero at gentoo.org> | Mon Oct 5 03:41:41 2015 +0200| [d7a5a178c252b625537adc046392624ad543dea7] | committer: Luca Barbato
configure: When disabling a library disable all the related components
This way is sufficient to use the component specific configure variable
and not guard against the global library configure variable in code
that is outside it (e.g. checkasm).
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d7a5a178c252b625537adc046392624ad543dea7
---
configure | 41 ++++++++++++++++++++++++++++++++++++-----
1 file changed, 36 insertions(+), 5 deletions(-)
diff --git a/configure b/configure
index 14af2b7..ac4c2eb 100755
--- a/configure
+++ b/configure
@@ -1129,20 +1129,39 @@ cp_if_changed(){
# CONFIG_LIST contains configurable options, while HAVE_LIST is for
# system-dependent things.
-COMPONENT_LIST="
+AVCODEC_COMPONENTS="
bsfs
decoders
- demuxers
encoders
- filters
hwaccels
+ parsers
+"
+
+AVDEVICE_COMPONENTS="
indevs
- muxers
outdevs
- parsers
+"
+AVFILTER_COMPONENTS="
+ filters
+"
+AVFORMAT_COMPONENTS="
+ demuxers
+ muxers
protocols
"
+AVRESAMPLE_COMPONENTS=""
+AVUTIL_COMPONENTS=""
+
+COMPONENT_LIST="
+ $AVCODEC_COMPONENTS
+ $AVDEVICE_COMPONENTS
+ $AVFILTER_COMPONENTS
+ $AVFORMAT_COMPONENTS
+ $AVRESAMPLE_COMPONENTS
+ $AVUTIL_COMPONENTS
+"
+
EXAMPLE_LIST="
avcodec_example
filter_audio_example
@@ -2600,6 +2619,18 @@ done
disabled logging && logfile=/dev/null
+# Disable all the library-specific components if the library itself
+# is disabled, see AVCODEC_LIST and following _LIST variables.
+
+disable_components(){
+ disabled ${1} && disable $(
+ eval components="\$$(toupper ${1})_COMPONENTS"
+ map 'eval echo \${$(toupper ${v%s})_LIST}' $components
+ )
+}
+
+map 'disable_components $v' $LIBRARY_LIST
+
echo "# $0 $LIBAV_CONFIGURATION" > $logfile
set >> $logfile
More information about the ffmpeg-cvslog
mailing list