aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMåns Rullgård <mans@mansr.com>2006-11-12 15:19:58 +0000
committerMåns Rullgård <mans@mansr.com>2006-11-12 15:19:58 +0000
commita8d04fba5eb77537ddb272802d7857fca4dfc23c (patch)
tree386e83e3d1a56efafa26f5c1ccec4b3d5a1e6ec6
parente3c97c3be44b2cfa27ff13294026d7a5f233389d (diff)
downloadffmpeg-a8d04fba5eb77537ddb272802d7857fca4dfc23c.tar.gz
#define ENABLE_*_CODEC etc as 0 or 1 in config.h
Originally committed as revision 6983 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rwxr-xr-xconfigure60
1 files changed, 43 insertions, 17 deletions
diff --git a/configure b/configure
index 8543db9d4b..a8b58e9b6d 100755
--- a/configure
+++ b/configure
@@ -163,6 +163,22 @@ EOF
exit 1
}
+set_all(){
+ value=$1
+ shift
+ for var in $*; do
+ eval $var=$value
+ done
+}
+
+enable(){
+ set_all yes $*
+}
+
+disable(){
+ set_all no $*
+}
+
enabled(){
eval test "\$$1" = "yes"
}
@@ -692,6 +708,8 @@ PARSER_LIST=`grep 'av_register_codec_parser(&[a-z]' "$source_path/libavcodec/all
MUXER_LIST=`grep 'av_register_output_format(&[a-z]' "$source_path/libavformat/allformats.c" | sed 's/.*&\(.*\)).*/\1/'`
DEMUXER_LIST=`grep 'av_register_input_format(&[a-z]' "$source_path/libavformat/allformats.c" | sed 's/.*&\(.*\)).*/\1/'`
+enable $ENCODER_LIST $DECODER_LIST $PARSER_LIST $MUXER_LIST $DEMUXER_LIST
+
for opt do
optval="${opt#*=}"
case "$opt" in
@@ -850,35 +868,35 @@ for opt do
;;
--disable-strip) dostrip="no"
;;
- --enable-encoder=*) ENCODER_LIST="$ENCODER_LIST ${optval}_encoder"
+ --enable-encoder=*) enable ${optval}_encoder
;;
- --enable-decoder=*) DECODER_LIST="$DECODER_LIST ${optval}_decoder"
+ --enable-decoder=*) enable ${optval}_decoder
;;
- --disable-encoder=*) ENCODER_LIST="`filter_out ${optval}_encoder $ENCODER_LIST`"
+ --disable-encoder=*) disable ${optval}_encoder
;;
- --disable-decoder=*) DECODER_LIST="`filter_out ${optval}_decoder $DECODER_LIST`"
+ --disable-decoder=*) disable ${optval}_decoder
;;
- --disable-encoders) ENCODER_LIST=""
+ --disable-encoders) disable $ENCODER_LIST
;;
- --disable-decoders) DECODER_LIST=""
+ --disable-decoders) disable $DECODER_LIST
;;
- --enable-muxer=*) MUXER_LIST="$MUXER_LIST ${optval}_muxer"
+ --enable-muxer=*) enable ${optval}_muxer
;;
- --disable-muxer=*) MUXER_LIST="`filter_out ${optval}_muxer $MUXER_LIST`"
+ --disable-muxer=*) disable ${optval}_muxer
;;
- --disable-muxers) MUXER_LIST=""; ffserver="no"
+ --disable-muxers) disable $MUXER_LIST; ffserver="no"
;;
- --enable-demuxer=*) DEMUXER_LIST="$DEMUXER_LIST ${optval}_demuxer"
+ --enable-demuxer=*) enable ${optval}_demuxer
;;
- --disable-demuxer=*) DEMUXER_LIST="`filter_out ${optval}_demuxer $DEMUXER_LIST`"
+ --disable-demuxer=*) disable ${optval}_demuxer
;;
- --disable-demuxers) DEMUXER_LIST=""
+ --disable-demuxers) disable $DEMUXER_LIST
;;
- --enable-parser=*) PARSER_LIST="$PARSER_LIST ${optval}_parser"
+ --enable-parser=*) enable ${optval}_parser
;;
- --disable-parser=*) PARSER_LIST="`filter_out ${optval}_parser $PARSER_LIST`"
+ --disable-parser=*) disable ${optval}_parser
;;
- --disable-parsers) PARSER_LIST=""
+ --disable-parsers) disable $PARSER_LIST
;;
--help) show_help
;;
@@ -2252,8 +2270,16 @@ fi
# "tr '[a-z]' '[A-Z]'" is a workaround for Solaris tr not grokking "tr a-z A-Z"
for codec in $DECODER_LIST $ENCODER_LIST $PARSER_LIST $DEMUXER_LIST $MUXER_LIST; do
- echo "#define CONFIG_`echo $codec | tr '[a-z]' '[A-Z]'` 1" >> $TMPH
- echo "CONFIG_`echo $codec | tr '[a-z]' '[A-Z]'`=yes" >> config.mak
+ ucname="`echo $codec | tr '[a-z]' '[A-Z]'`"
+ config_name="CONFIG_$ucname"
+ enabled_name="ENABLE_$ucname"
+ if enabled $codec; then
+ echo "#define $config_name 1" >> $TMPH
+ echo "#define $enabled_name 1" >> $TMPH
+ echo "$config_name=yes" >> config.mak
+ else
+ echo "#define $enabled_name 0" >> $TMPH
+ fi
done
# Do not overwrite config.h if unchanged to avoid superfluous rebuilds.