]> git.sesse.net Git - ffmpeg/blobdiff - configure
Progressive frames disguised as interlaced are supported
[ffmpeg] / configure
index 0ab65a9e08f548c1807dc2f5987bffb48d27bf0e..a5c24a05b0212f4961a72d7d7058143bf642a6ad 100755 (executable)
--- a/configure
+++ b/configure
@@ -87,12 +87,15 @@ show_help(){
   echo "  --enable-faadbin         build FAAD support with runtime linking [default=no]"
   echo "  --enable-libgsm          enable GSM support via libgsm [default=no]"
   echo "  --enable-mp3lame         enable MP3 encoding via libmp3lame [default=no]"
-  echo "  --enable-libnut          enable NUT support via libnut [default=no]"
-  echo "  --enable-libogg          enable Ogg support via libogg [default=no]"
-  echo "  --enable-libtheora       enable Theora support via libtheora [default=no]"
-  echo "  --enable-vorbis          enable Vorbis support via libvorbis [default=no]"
+  echo "  --enable-libnut          enable NUT (de)muxing via libnut,"
+  echo "                           native demuxer exists [default=no]"
+  echo "  --enable-libogg          enable Ogg muxing via libogg [default=no]"
+  echo "  --enable-libtheora       enable Theora encoding via libtheora [default=no]"
+  echo "  --enable-vorbis          enable Vorbis en/decoding via libvorbis,"
+  echo "                           native implementations exist [default=no]"
   echo "  --enable-x264            enable H.264 encoding via x264 [default=no]"
-  echo "  --enable-xvid            enable Xvid encoding via xvidcore [default=no]"
+  echo "  --enable-xvid            enable Xvid encoding via xvidcore,"
+  echo "                           native MPEG-4/Xvid encoder exists [default=no]"
   echo "  --enable-amr_nb          enable amr_nb float audio codec"
   echo "  --enable-amr_nb-fixed    use fixed point for amr-nb codec"
   echo "  --enable-amr_wb          enable amr_wb float audio codec"
@@ -117,6 +120,7 @@ show_help(){
   echo "                           (requires enabling PMC)"
   echo "  --disable-mmx            disable MMX usage"
   echo "  --disable-armv5te        disable armv5te usage"
+  echo "  --disable-armv6          disable armv6 usage"
   echo "  --disable-iwmmxt         disable iwmmxt usage"
   echo "  --disable-altivec        disable AltiVec usage"
   echo "  --disable-audio-oss      disable OSS audio support [default=no]"
@@ -224,18 +228,34 @@ enabled(){
     eval test "x\$$1" = "xyes"
 }
 
+disabled(){
+    eval test "x\$$1" = "xno"
+}
+
 enabled_all(){
     for opt; do
         enabled $opt || return 1
     done
 }
 
+disabled_all(){
+    for opt; do
+        disabled $opt || return 1
+    done
+}
+
 enabled_any(){
     for opt; do
         enabled $opt && return 0
     done
 }
 
+disabled_any(){
+    for opt; do
+        disabled $opt && return 0
+    done
+}
+
 check_deps(){
     for cfg; do
         eval dep_all="\$${cfg}_deps"
@@ -396,7 +416,7 @@ check_lib(){
 }
 
 check_exec(){
-    check_ld "$@" && { test "$cross_compile" = yes || $TMPE >>$logfile 2>&1; }
+    check_ld "$@" && { enabled cross_compile || $TMPE >>$logfile 2>&1; }
 }
 
 require(){
@@ -464,9 +484,13 @@ CONFIG_LIST='
 '
 
 HAVE_LIST='
+    altivec
     altivec_h
+    armv5te
+    armv6
     beosthreads
     byteswap_h
+    cmov
     dcbzl
     dev_bktr_ioctl_bt848_h
     dev_bktr_ioctl_meteor_h
@@ -475,10 +499,12 @@ HAVE_LIST='
     dev_video_bktr_ioctl_bt848_h
     dlfcn_h
     dlopen
+    fast_cmov
     freetype2
     gprof
     imlib2
     inet_aton
+    iwmmxt
     localtime_r
     lrintf
     machine_ioctl_bt848_h
@@ -486,6 +512,8 @@ HAVE_LIST='
     malloc_h
     memalign
     mlib
+    mmi
+    mmx
     os2
     os2threads
     pthreads
@@ -495,6 +523,14 @@ HAVE_LIST='
     w32threads
 '
 
+TARGET_LIST='
+    altivec
+    armv5te
+    iwmmxt
+    mmi
+    mmx
+'
+
 flashsv_decoder_deps="zlib"
 flashsv_encoder_deps="zlib"
 mpeg_xvmc_decoder_deps="xvmc"
@@ -572,8 +608,9 @@ cpu="generic"
 powerpc_perf="no"
 mmx="default"
 cmov="no"
-cmov_is_fast="no"
+fast_cmov="no"
 armv5te="default"
+armv6="default"
 iwmmxt="default"
 altivec="default"
 dcbzl="no"
@@ -649,6 +686,7 @@ liba52bin="no"
 libdts="no"
 libfaac="no"
 libfaad="no"
+libfaad2="no"
 libfaadbin="no"
 libgsm="no"
 libmp3lame="no"
@@ -668,7 +706,6 @@ optimize="yes"
 debug="yes"
 extrawarnings="no"
 dostrip="yes"
-installstrip="-s"
 extralibs="-lm"
 bigendian="no"
 vhook="default"
@@ -810,7 +847,6 @@ dv1394="no"
 extralibs="-lpoll -lgnugetopt -lm"
 make="gmake"
 strip="strip -d"
-installstrip=""
 ;;
 Darwin)
 cc="cc"
@@ -823,7 +859,6 @@ SHFLAGS="-dynamiclib -Wl,-single_module -Wl,-install_name,\$(shlibdir)/\$(SLIBNA
 VHOOKSHFLAGS='-dynamiclib -Wl,-single_module -flat_namespace -undefined suppress -Wl,-install_name,$(shlibdir)/vhook/$@'
 extralibs=""
 strip="strip -x"
-installstrip=""
 FFLDFLAGS="-Wl,-dynamic,-search_paths_first"
 SLIBSUF=".dylib"
 SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME).$(LIBVERSION)$(SLIBSUF)'
@@ -908,10 +943,7 @@ if test x"$1" = x"-h" -o x"$1" = x"--help" ; then
     show_help
 fi
 
-FFMPEG_CONFIGURATION=" "
-for opt do
-  FFMPEG_CONFIGURATION="$FFMPEG_CONFIGURATION""$opt "
-done
+FFMPEG_CONFIGURATION="$@"
 
 ENCODER_LIST=`sed -n 's/^[^#]*ENC.*, *\(.*\)).*/\1_encoder/p' "$source_path/libavcodec/allcodecs.c"`
 DECODER_LIST=`sed -n 's/^[^#]*DEC.*, *\(.*\)).*/\1_decoder/p' "$source_path/libavcodec/allcodecs.c"`
@@ -966,6 +998,8 @@ for opt do
   ;;
   --disable-armv5te) armv5te="no"
   ;;
+  --disable-armv6) armv6="no"
+  ;;
   --disable-iwmmxt) iwmmxt="no"
   ;;
   --disable-altivec) altivec="no"
@@ -1128,16 +1162,16 @@ for opt do
   esac
 done
 
-if test "$logging" != no; then
-    test "$logging" = yes || logfile="$logging"
+if ! disabled logging ; then
+    enabled logging || logfile="$logging"
     echo "# $0 $@" >$logfile
     set >>$logfile
 else
     logfile=/dev/null
 fi
 
-if test "$mingw32" = "yes" -o "$wince" = "yes"; then
-    if test "$lshared" = "yes" && test "$lstatic" = "yes" ; then
+if enabled_any mingw32 wince; then
+    if enabled_all lshared lstatic; then
         cat <<EOF
 You can only build one library type at once on MinGW.
 Specify --disable-static --enable-shared to only build
@@ -1153,7 +1187,7 @@ EOF
     dc1394="no"
     ffserver="no"
     network="no"
-    if test "$wince" = "yes"; then
+    if enabled wince; then
         protocols="no"
     fi
     SLIBPREF=""
@@ -1176,7 +1210,7 @@ ranlib="${cross_prefix}${ranlib}"
 strip="${cross_prefix}${strip}"
 
 # we need to build at least one lib type
-if test "$lstatic" = "no" && test "$lshared" = "no" ; then
+if disabled_all lstatic lshared; then
     cat <<EOF
 At least one library type must be built.
 Specify --enable-static to build the static libraries or --enable-shared to
@@ -1186,61 +1220,44 @@ EOF
     exit 1;
 fi
 
-if test "$libtheora" = "yes" && test "$libogg" = "no"; then
+if enabled libtheora && disabled libogg; then
     die "libogg must be enabled to enable libtheora."
 fi
 
-if test "$libvorbis" = "yes" && test "$libogg" = "no"; then
+if enabled libvorbis && disabled libogg; then
     die "libogg must be enabled to enable libvorbis."
 fi
 
-if test "$gpl" != "yes"; then
-    if test "$pp" != "no"; then
-        die "The Postprocessing code is under GPL and --enable-gpl is not specified."
-    fi
-
-    if test "$liba52" != "no" -o "$liba52bin" != "no"; then
-        die "liba52 is under GPL and --enable-gpl is not specified."
-    fi
-
-    if test "$xvid" != "no"; then
-        die "libxvidcore is under GPL and --enable-gpl is not specified."
-    fi
-
-    if test "$x264" != "no"; then
-        die "x264 is under GPL and --enable-gpl is not specified."
-    fi
-
-    if test "$libdts" != "no"; then
-        die "libdts is under GPL and --enable-gpl is not specified."
-    fi
-
-    if test "$libfaad" != "no" -o "$libfaadbin" != "no"; then
-        if check_header faad.h; then
-            check_cc << EOF
-                #include <faad.h>
-                #ifndef FAAD2_VERSION
-                ok faad1
-                #endif
-                int main( void ) { return 0; }
+if enabled_any libfaad libfaadbin ; then
+    if check_header faad.h; then
+        check_cc << EOF
+#include <faad.h>
+#ifndef FAAD2_VERSION
+ok faad1
+#endif
+int main( void ) { return 0; }
 EOF
-            if test $? = 0 ; then
-                die "FAAD2 is under GPL and --enable-gpl is not specified."
-            fi
-        else
-            libfaad="no"
-            libfaadbin="no"
-            echo "FAAD test failed."
-        fi
+        test $? = 0 && enable libfaad2
+    else
+        die "FAAD test failed."
     fi
+fi
 
-    if test "$x11grab" != "no"; then
-        die "The X11 grabber is under GPL and --enable-gpl is not specified."
-    fi
 
-    if test "$swscaler" != "no"; then
-        die "The software scaler is under GPL and --enable-gpl is not specified."
-    fi
+if disabled gpl ; then
+    die_gpl_disabled(){
+        name=$1
+        shift
+        enabled_any $@ && die "$name is under GPL and --enable-gpl is not specified."
+    }
+    die_gpl_disabled "The Postprocessing code" pp
+    die_gpl_disabled "liba52"                  liba52 liba52bin
+    die_gpl_disabled "libxvidcore"             xvid
+    die_gpl_disabled "x264"                    x264
+    die_gpl_disabled "libdts"                  libdts
+    die_gpl_disabled "FAAD2"                   libfaad2
+    die_gpl_disabled "The X11 grabber"         x11grab
+    die_gpl_disabled "The software scaler"     swscaler
 fi
 
 # compute MMX state
@@ -1267,13 +1284,13 @@ if test $targetos = Darwin; then
                 ;;
             *[34].*)
                 add_cflags "-no-cpp-precomp -pipe -force_cpusubtype_ALL -Wno-sign-compare"
-                if test "$lshared" = no; then
+                if disabled lshared; then
                    needmdynamicnopic="yes"
                 fi
                 ;;
             *)
                 add_cflags "-no-cpp-precomp -pipe"
-                if test "$lshared" = no; then
+                if disabled lshared; then
                    needmdynamicnopic="yes"
                 fi
                 ;;
@@ -1281,7 +1298,7 @@ if test $targetos = Darwin; then
     fi
 fi
 
-if test $optimize != "no"; then
+if ! disabled optimize ; then
     add_cflags "-fomit-frame-pointer"
 fi
 
@@ -1297,48 +1314,40 @@ fi
 # Add processor-specific flags
 POWERPCMODE="32bits"
 if test $cpu != "generic"; then
+    warn_altivec_enabled(){
+        enabled altivec && echo "WARNING: Tuning for $1 but AltiVec enabled.";
+    }
+    warn_altivec_disabled(){
+        disabled altivec && echo "WARNING: Tuning for $1 but AltiVec disabled.";
+    }
     case $cpu in
         601|ppc601|PowerPC601)
             add_cflags "-mcpu=601"
-            if test $altivec = "yes"; then
-                echo "WARNING: Tuning for PPC601 but AltiVec enabled!";
-            fi
+            warn_altivec_enabled PPC601
         ;;
         603*|ppc603*|PowerPC603*)
             add_cflags "-mcpu=603"
-            if test $altivec = "yes"; then
-                echo "WARNING: Tuning for PPC603 but AltiVec enabled!";
-            fi
+            warn_altivec_enabled PPC603
         ;;
         604*|ppc604*|PowerPC604*)
             add_cflags "-mcpu=604"
-            if test $altivec = "yes"; then
-                echo "WARNING: Tuning for PPC604 but AltiVec enabled!";
-            fi
+            warn_altivec_enabled PPC604
         ;;
         G3|g3|75*|ppc75*|PowerPC75*)
             add_cflags "-mcpu=750 -mpowerpc-gfxopt"
-            if test $altivec = "yes"; then
-                echo "WARNING: Tuning for PPC75x but AltiVec enabled!";
-            fi
+            warn_altivec_enabled PPC75x
         ;;
         G4|g4|745*|ppc745*|PowerPC745*)
             add_cflags "-mcpu=7450 -mpowerpc-gfxopt"
-            if test $altivec = "no"; then
-                echo "WARNING: Tuning for PPC745x but AltiVec disabled!";
-            fi
+            warn_altivec_disabled PPC745x
         ;;
         74*|ppc74*|PowerPC74*)
             add_cflags "-mcpu=7400 -mpowerpc-gfxopt"
-            if test $altivec = "no"; then
-                echo "WARNING: Tuning for PPC74xx but AltiVec disabled!";
-            fi
+            warn_altivec_disabled PPC74xx
         ;;
         G5|g5|970|ppc970|PowerPC970|power4*|Power4*)
             add_cflags "-mcpu=970 -mpowerpc-gfxopt -mpowerpc64"
-            if test $altivec = "no"; then
-                echo "WARNING: Tuning for PPC970 but AltiVec disabled!";
-            fi
+            warn_altivec_disabled PPC970
             POWERPCMODE="64bits"
         ;;
         # targets that do NOT support conditional mov (cmov)
@@ -1350,13 +1359,13 @@ if test $cpu != "generic"; then
         i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64|k8|opteron|athlon-fx|core2)
             add_cflags "-march=$cpu"
             cmov="yes"
-            cmov_is_fast="yes"
+            fast_cmov="yes"
         ;;
         # targets that do support conditional mov but on which it's slow
         pentium4|prescott|nocona)
             add_cflags "-march=$cpu"
             cmov="yes"
-            cmov_is_fast="no"
+            fast_cmov="no"
         ;;
         sparc64)
             add_cflags "-mcpu=v9"
@@ -1390,7 +1399,7 @@ int main(){
 EOF
 if test "$?" != 0; then
     echo "$cc is unable to create an executable file."
-    if test -z "$cross_prefix" -a "$cross_compile" = no; then
+    if test -z "$cross_prefix" && disabled cross_compile ; then
         echo "If $cc is a cross-compiler, use the --cross-compile option."
         echo "Only do this if you know what cross compiling means."
     fi
@@ -1414,7 +1423,7 @@ fi
 
 # AltiVec flags: The FSF version of GCC differs from the Apple version
 if test $arch = "powerpc"; then
-    if test $altivec = "yes"; then
+    if enabled altivec; then
         if test -n "`$cc -v 2>&1 | grep version | grep Apple`"; then
             add_cflags "-faltivec"
         else
@@ -1426,8 +1435,8 @@ fi
 check_header altivec.h
 
 # check if our compiler supports Motorola AltiVec C API
-if test $altivec = "yes"; then
-    if test $altivec_h = "yes"; then
+if enabled altivec; then
+    if enabled altivec_h; then
         inc_altivec_h="#include <altivec.h>"
     else
         inc_altivec_h=
@@ -1452,6 +1461,14 @@ if test $armv5te = "default" -a $arch = "armv4l"; then
 EOF
 fi
 
+if test $armv6 = "default" -a $arch = "armv4l"; then
+    check_cc <<EOF && armv6=yes || armv6=no
+int main(void) {
+    __asm__ __volatile__ ("sadd16 r0, r0, r0");
+}
+EOF
+fi
+
 # check iwmmxt support
 if test $iwmmxt = "default" -a $arch = "armv4l"; then
     iwmmxt=no
@@ -1481,7 +1498,7 @@ EOF
 
 # ---
 # big/little-endian test
-if test "$cross_compile" = "no"; then
+if disabled cross_compile; then
     check_ld <<EOF || die "endian test failed" && $TMPE && bigendian="yes"
 #include <inttypes.h>
 int main(int argc, char ** argv){
@@ -1502,8 +1519,7 @@ fi
 check_header malloc.h
 check_func memalign
 
-if test "$memalign" = "no" -a "$need_memalign" = "yes" -a \
-        "$memalign_hack" != "yes"; then
+if disabled_all memalign memalign_hack && enabled need_memalign ; then
     die "Error, no memalign() but SSE enabled, disable it or use --enable-memalign-hack."
 fi
 
@@ -1531,7 +1547,7 @@ fi
 
 for thread in pthreads beosthreads os2threads w32threads; do
     if enabled $thread; then
-        if test $thread_type != "no"; then
+        if ! disabled thread_type ; then
             die "ERROR: Only one thread type must be selected."
         else
             thread_type="$thread"
@@ -1540,17 +1556,17 @@ for thread in pthreads beosthreads os2threads w32threads; do
 done
 
 # these are off by default, so fail if requested and not available
-enabled libdts  && require libdts dts.h dts_init -ldts -lm
-enabled libgsm  && require libgsm gsm.h gsm_create -lgsm
+enabled libdts     && require libdts dts.h dts_init -ldts -lm
+enabled libgsm     && require libgsm gsm.h gsm_create -lgsm
 enabled libmp3lame && require LAME lame/lame.h lame_init -lmp3lame -lm
-enabled libtheora && require libtheora theora/theora.h theora_info_init -ltheora -logg
-enabled libvorbis && require libvorbis vorbis/vorbisenc.h vorbis_info_init -lvorbis -lvorbisenc -logg
-enabled libogg  && require libogg ogg/ogg.h ogg_sync_init -logg
-enabled libnut  && require libnut libnut.h nut_demuxer_init -lnut
-enabled xvid    && require XviD xvid.h xvid_global -lxvidcore
-enabled x264    && require x264 x264.h x264_encoder_open -lx264
-enabled dc1394  && require libdc1394 libdc1394/dc1394_control.h dc1394_create_handle -ldc1394_control -lraw1394
-enabled mlib    && require mediaLib mlib_types.h mlib_VectorSub_S16_U8_Mod -lmlib
+enabled libtheora  && require libtheora theora/theora.h theora_info_init -ltheora -logg
+enabled libvorbis  && require libvorbis vorbis/vorbisenc.h vorbis_info_init -lvorbis -lvorbisenc -logg
+enabled libogg     && require libogg ogg/ogg.h ogg_sync_init -logg
+enabled libnut     && require libnut libnut.h nut_demuxer_init -lnut
+enabled xvid       && require XviD xvid.h xvid_global -lxvidcore
+enabled x264       && require x264 x264.h x264_encoder_open -lx264
+enabled dc1394     && require libdc1394 libdc1394/dc1394_control.h dc1394_create_handle -ldc1394_control -lraw1394
+enabled mlib       && require mediaLib mlib_types.h mlib_VectorSub_S16_U8_Mod -lmlib
 
 # Ugh, libfaac uses stdcall calling convention on win32 so we can't use
 # the generic test functions
@@ -1632,7 +1648,7 @@ if enabled_any vhook liba52bin libfaadbin; then
     add_extralibs $ldl
 fi
 
-if test "$targetos" = "CYGWIN" -a "$lstatic" = "yes" ; then
+if test "$targetos" = "CYGWIN" && enabled lstatic ; then
     vhook="no"
     echo
     echo "At the moment vhooks don't work on Cygwin static builds."
@@ -1652,13 +1668,16 @@ fi
 ##########################################
 # imlib check
 
-temp_extralibs -lImlib2
-check_ld <<EOF && imlib2=yes || imlib2=no
-#include <X11/Xlib.h>
+imlib2=no
+if (imlib2-config --version) >/dev/null 2>&1 ; then
+    temp_cflags `imlib2-config --cflags`
+    temp_extralibs `imlib2-config --libs`
+    check_ld <<EOF && imlib2=yes
 #include <Imlib2.h>
 int main( void ) { return (int) imlib_load_font("foo"); }
 EOF
-restore_flags
+    restore_flags
+fi
 
 ##########################################
 # FreeType check
@@ -1779,6 +1798,7 @@ check_cflags -Wno-switch
 check_cflags -Wdisabled-optimization
 check_cflags -Wpointer-arith
 check_cflags -Wredundant-decls
+check_cflags -Wno-pointer-sign
 enabled extrawarnings && check_cflags -Winline
 
 # add some linker flags
@@ -1797,7 +1817,7 @@ if enabled optimize; then
 fi
 
 # PIC flags for shared library objects where they are needed
-if test "$lshared" = "yes" ; then
+if enabled lshared; then
     # LIBOBJFLAGS may have already been set in the OS configuration
     if test -z "$LIBOBJFLAGS" ; then
         case "$arch" in
@@ -1806,13 +1826,13 @@ if test "$lshared" = "yes" ; then
     fi
 fi
 
-if test "$gprof" = "yes" ; then
+if enabled gprof; then
     add_cflags  "-p"
     add_ldflags "-p"
 fi
 
 VHOOKCFLAGS="-fPIC $CFLAGS"
-test "$needmdynamicnopic" = yes && add_cflags -mdynamic-no-pic
+enabled needmdynamicnopic && add_cflags -mdynamic-no-pic
 
 # find if .align arg is power-of-two or not
 if test $asmalign_pot = "unknown"; then
@@ -1833,10 +1853,11 @@ echo "big-endian                $bigendian"
 if test $arch = "x86_32" -o $arch = "x86_64"; then
     echo "MMX enabled               $mmx"
     echo "CMOV enabled              $cmov"
-    echo "CMOV is fast              $cmov_is_fast"
+    echo "CMOV is fast              $fast_cmov"
 fi
 if test $arch = "armv4l"; then
     echo "ARMv5TE enabled           $armv5te"
+    echo "ARMv6 enabled             $armv6"
     echo "IWMMXT enabled            $iwmmxt"
 fi
 if test $arch = "mips"; then
@@ -1855,17 +1876,17 @@ echo "shared                    $lshared"
 echo "postprocessing support    $pp"
 echo "software scaler enabled   $swscaler"
 echo "video hooking             $vhook"
-if test "$vhook" = "yes"; then
+if enabled vhook; then
     echo "Imlib2 support            $imlib2"
     echo "FreeType support          $freetype2"
 fi
 echo "network support           $network"
-if test "$network" = "yes" ; then
+if enabled network; then
     echo "IPv6 support              $ipv6"
 fi
 echo "threading support         $thread_type"
 echo "SDL support               $sdl"
-if test $sdl_too_old = "yes"; then
+if enabled sdl_too_old; then
     echo "-> Your SDL version is too old - please upgrade to have FFplay/SDL support."
 fi
 echo "Sun medialib support      $mlib"
@@ -1889,7 +1910,7 @@ echo "AMR-NB float support      $amr_nb"
 echo "AMR-NB fixed support      $amr_nb_fixed"
 echo "AMR-WB float support      $amr_wb"
 echo "AMR-WB IF2 support        $amr_if2"
-if test "$gpl" = "no" ; then
+if disabled gpl; then
     echo "License: LGPL"
 else
     echo "License: GPL"
@@ -1899,7 +1920,7 @@ echo "Creating config.mak and config.h..."
 
 echo "# Automatically generated by configure - do not modify!" > config.mak
 echo "/* Automatically generated by configure - do not modify! */" > $TMPH
-echo "#define FFMPEG_CONFIGURATION "'"'"$FFMPEG_CONFIGURATION"'"' >> $TMPH
+echo "#define FFMPEG_CONFIGURATION \"$FFMPEG_CONFIGURATION\"" >> $TMPH
 
 echo "PREFIX=$PREFIX" >> config.mak
 echo "prefix=\$(DESTDIR)\${PREFIX}" >> config.mak
@@ -1912,12 +1933,10 @@ echo "MAKE=$make" >> config.mak
 echo "CC=$cc" >> config.mak
 echo "AR=$ar" >> config.mak
 echo "RANLIB=$ranlib" >> config.mak
-if test "$dostrip" = "yes" ; then
+if enabled dostrip; then
     echo "STRIP=$strip" >> config.mak
-    echo "INSTALLSTRIP=$installstrip" >> config.mak
 else
     echo "STRIP=echo ignoring strip" >> config.mak
-    echo "INSTALLSTRIP=" >> config.mak
 fi
 
 echo "OPTFLAGS=$CFLAGS" >> config.mak
@@ -1933,7 +1952,7 @@ echo "BUILD_STATIC=$lstatic" >> config.mak
 echo "BUILDSUF=$BUILDSUF" >> config.mak
 echo "LIBPREF=$LIBPREF" >> config.mak
 echo "LIBSUF=\${BUILDSUF}$LIBSUF" >> config.mak
-if test "$lstatic" = "yes" ; then
+if enabled lstatic; then
   echo "LIB=$LIB" >> config.mak
 else # Some Make complain if this variable does not exist.
   echo "LIB=" >> config.mak
@@ -1957,7 +1976,7 @@ case "$arch" in
         if test "$POWERPCMODE" = "64bits"; then
             echo "#define POWERPC_MODE_64BITS 1" >> $TMPH
         fi
-        if test "$powerpc_perf" = "yes"; then
+        if enabled powerpc_perf; then
             echo "#define POWERPC_PERFORMANCE_REPORT 1" >> $TMPH
         fi
         ;;
@@ -1967,46 +1986,19 @@ case "$arch" in
         ;;
 esac
 
-if test "$bigendian" = "yes" ; then
+if enabled bigendian; then
   echo "WORDS_BIGENDIAN=yes" >> config.mak
   echo "#define WORDS_BIGENDIAN 1" >> $TMPH
 fi
-if test "$mmx" = "yes" ; then
-  echo "TARGET_MMX=yes" >> config.mak
-  echo "#define HAVE_MMX 1" >> $TMPH
+if enabled mmx; then
   echo "#define __CPU__ 586" >> $TMPH
 fi
-if test "$cmov" = "yes" ; then
-  echo "TARGET_CMOV=yes" >> config.mak
-  echo "#define HAVE_CMOV 1" >> $TMPH
-fi
-if test "$cmov_is_fast" = "yes" ; then
-  echo "TARGET_CMOV_IS_FAST=yes" >> config.mak
-  echo "#define CMOV_IS_FAST 1" >> $TMPH
-fi
-if test "$armv5te" = "yes" ; then
-  echo "TARGET_ARMV5TE=yes" >> config.mak
-  echo "#define HAVE_ARMV5TE 1" >> $TMPH
-fi
-if test "$iwmmxt" = "yes" ; then
-  echo "TARGET_IWMMXT=yes" >> config.mak
-  echo "#define HAVE_IWMMXT 1" >> $TMPH
-fi
-if test "$mmi" = "yes" ; then
-  echo "TARGET_MMI=yes" >> config.mak
-  echo "#define HAVE_MMI 1" >> $TMPH
-fi
-
-if test "$altivec" = "yes" ; then
-  echo "TARGET_ALTIVEC=yes" >> config.mak
-  echo "#define HAVE_ALTIVEC 1" >> $TMPH
-fi
 
-if test "$sdl" = "yes" ; then
+if enabled sdl; then
   echo "SDL_LIBS=`"${SDL_CONFIG}" --libs`" >> config.mak
   echo "SDL_CFLAGS=`"${SDL_CONFIG}" --cflags`" >> config.mak
 fi
-if test "$texi2html" = "yes"; then
+if enabled texi2html; then
   echo "BUILD_DOC=yes" >> config.mak
 fi
 
@@ -2018,7 +2010,7 @@ lavu_version=`grep '#define LIBAVUTIL_VERSION ' "$source_path/libavutil/avutil.h
 
 
 
-if test "$lshared" = "yes" ; then
+if enabled lshared; then
   echo "BUILD_SHARED=yes" >> config.mak
   echo "PIC=-fPIC -DPIC" >> config.mak
   echo "SPPMAJOR=${pp_version%%.*}" >> config.mak
@@ -2052,6 +2044,7 @@ check_deps $CONFIG_LIST $HAVE_LIST $DECODER_LIST $ENCODER_LIST $PARSER_LIST \
 
 print_config HAVE_   $TMPH config.mak $HAVE_LIST
 print_config CONFIG_ $TMPH config.mak $CONFIG_LIST
+print_config TARGET_ $TMPH config.mak $TARGET_LIST
 
 if test "$targetos" = "Darwin"; then
   echo "#define CONFIG_DARWIN 1"  >> $TMPH
@@ -2068,12 +2061,12 @@ echo "SRC_PATH=\"$source_path\"" >> config.mak
 echo "SRC_PATH_BARE=$source_path" >> config.mak
 echo "BUILD_ROOT=\"$PWD\"" >> config.mak
 
-if test "$amr_if2" = "yes" ; then
+if enabled amr_if2; then
   echo "AMR_CFLAGS=-DIF2=1" >> config.mak
 fi
 
 # Apparently it's not possible to portably echo a backslash.
-if test "$asmalign_pot" = "yes" ; then
+if enabled asmalign_pot; then
   printf '#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\\n\\t"\n' >> $TMPH
 else
   printf '#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\\n\\t"\n' >> $TMPH
@@ -2103,7 +2096,7 @@ fi
 rm -f $TMPO $TMPC $TMPE $TMPS $TMPH
 
 # build tree in object directory if source path is different from current one
-if test "$source_path_used" = "yes" ; then
+if enabled source_path_used; then
     DIRS="\
          doc \
          libavformat \
@@ -2205,12 +2198,12 @@ pkgconfig_generate_uninstalled libavcodec "FFmpeg codec library" "$lavc_version"
 pkgconfig_generate libavformat "FFmpeg container format library" "$lavf_version" "-lavformat $extralibs" "$pkg_requires libavcodec = $lavc_version" ffmpeg
 pkgconfig_generate_uninstalled libavformat "FFmpeg container format library" "$lavf_version" "$extralibs" "$pkg_requires libavcodec = $lavc_version"
 
-if test "$pp" = "yes"; then
+if enabled pp; then
   pkgconfig_generate libpostproc "FFmpeg post processing library" "$pp_version" -lpostproc "" postproc
   pkgconfig_generate_uninstalled libpostproc "FFmpeg post processing library" "$pp_version"
 fi
 
-if test "$swscaler" != "no"; then
+if enabled swscaler; then
   pkgconfig_generate libswscale "FFmpeg image rescaling library" "$sws_version" "-lswscale" "libavutil = $lavu_version" swscale
   pkgconfig_generate_uninstalled libswscale "FFmpeg image rescaling library" "$sws_version" "" "libavutil = $lavu_version"
 else