]> git.sesse.net Git - ffmpeg/blobdiff - configure
rename shell variables v4l[2] to video4linux[2]
[ffmpeg] / configure
index 462d2530e99af4db520796f5766e3c363f7735cf..89ae70e88e77f5e093e785ee8ed5e7197361f330 100755 (executable)
--- a/configure
+++ b/configure
@@ -31,6 +31,7 @@ show_help(){
   echo "  --incdir=DIR             install includes in DIR [PREFIX/include/ffmpeg]"
   echo "  --mandir=DIR             install man page in DIR [PREFIX/man]"
   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-vorbis          enable Vorbis support via libvorbis [default=no]"
   echo "  --enable-faad            enable FAAD support via libfaad [default=no]"
@@ -90,11 +91,11 @@ show_help(){
   echo "  --disable-network        disable network support [default=no]"
   echo "  --disable-ipv6           disable ipv6 support [default=no]"
   echo "  --disable-zlib           disable zlib [default=no]"
-  echo "  --disable-simple_idct    disable simple IDCT routines [default=no]"
   echo "  --disable-vhook          disable video hooking support"
   echo "  --enable-gprof           enable profiling with gprof [$gprof]"
   echo "  --disable-debug          disable debugging symbols"
   echo "  --disable-opts           disable compiler optimizations"
+  echo "  --enable-extra-warnings  enable more compiler warnings"
   echo "  --disable-mpegaudio-hp   faster (but less accurate)"
   echo "                           MPEG audio decoding [default=no]"
   echo "  --disable-protocols      disable I/O protocols support [default=no]"
@@ -161,6 +162,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"
 }
@@ -306,12 +323,6 @@ require(){
     check_lib $header $func "$@" || die "ERROR: $name not found"
 }
 
-filter_out(){
-    pattern="$1"
-    shift
-    echo "$@" | sed "s%\\<$pattern\\>%%g"
-}
-
 # set temporary file name
 if test ! -z "$TMPDIR" ; then
     TMPDIR1="${TMPDIR}"
@@ -409,8 +420,8 @@ case "$arch" in
   ;;
 esac
 gprof="no"
-v4l="yes"
-v4l2="yes"
+video4linux="yes"
+video4linux2="yes"
 bktr="no"
 audio_oss="yes"
 audio_beos="no"
@@ -421,8 +432,9 @@ ipv6="yes"
 zlib="yes"
 libgsm="no"
 mp3lame="no"
+libnut="no"
 libogg="no"
-vorbis="no"
+libvorbis="no"
 faad="no"
 faadbin="no"
 faac="no"
@@ -439,10 +451,10 @@ lstatic="yes"
 lshared="no"
 optimize="yes"
 debug="yes"
+extrawarnings="no"
 dostrip="yes"
 installstrip="-s"
 extralibs="-lm"
-simpleidct="yes"
 bigendian="no"
 inttypes="yes"
 emu_fast_int="no"
@@ -453,7 +465,7 @@ dlopen="no"
 mpegaudio_hp="yes"
 SHFLAGS='-shared -Wl,-soname,$@'
 VHOOKSHFLAGS='$(SHFLAGS)'
-netserver="no"
+beos_netserver="no"
 need_inet_aton="no"
 protocols="yes"
 ffmpeg="yes"
@@ -478,7 +490,7 @@ amr_nb="no"
 amr_wb="no"
 amr_nb_fixed="no"
 amr_if2="no"
-sunmlib="no"
+mlib="no"
 pthreads="no"
 swscaler="no"
 gpl="no"
@@ -506,8 +518,8 @@ esac
 SHFLAGS=-nostart
 # disable Linux things
 audio_oss="no"
-v4l="no"
-v4l2="no"
+video4linux="no"
+video4linux2="no"
 dv1394="no"
 # enable BeOS things
 audio_beos="yes"
@@ -516,13 +528,13 @@ audio_beos="yes"
 if (echo $BEINCLUDES|grep 'headers/be/bone' >/dev/null); then
 extralibs="-lbind -lsocket"
 else
-netserver="yes"
+beos_netserver="yes"
 need_inet_aton="yes"
 extralibs="-lnet"
 fi ;;
 SunOS)
-v4l="no"
-v4l2="no"
+video4linux="no"
+video4linux2="no"
 audio_oss="no"
 dv1394="no"
 make="gmake"
@@ -533,8 +545,8 @@ need_inet_aton="yes"
 add_extralibs "-lsocket -lnsl"
 ;;
 NetBSD)
-v4l="no"
-v4l2="no"
+video4linux="no"
+video4linux2="no"
 bktr="yes"
 audio_oss="yes"
 dv1394="no"
@@ -542,8 +554,8 @@ make="gmake"
 add_extralibs "-lossaudio"
 ;;
 OpenBSD)
-v4l="no"
-v4l2="no"
+video4linux="no"
+video4linux2="no"
 bktr="yes"
 audio_oss="yes"
 dv1394="no"
@@ -553,8 +565,8 @@ LDCONFIG="ldconfig -m \$(shlibdir)"
 add_extralibs "-lossaudio"
 ;;
 FreeBSD)
-v4l="no"
-v4l2="no"
+video4linux="no"
+video4linux2="no"
 bktr="yes"
 audio_oss="yes"
 dv1394="no"
@@ -562,16 +574,16 @@ make="gmake"
 add_cflags "-pthread"
 ;;
 GNU/kFreeBSD)
-v4l="no"
-v4l2="no"
+video4linux="no"
+video4linux2="no"
 bktr="yes"
 audio_oss="yes"
 dv1394="no"
 add_cflags "-pthread"
 ;;
 BSD/OS)
-v4l="no"
-v4l2="no"
+video4linux="no"
+video4linux2="no"
 bktr="yes"
 audio_oss="yes"
 dv1394="no"
@@ -582,8 +594,8 @@ installstrip=""
 ;;
 Darwin)
 cc="cc"
-v4l="no"
-v4l2="no"
+video4linux="no"
+video4linux2="no"
 audio_oss="no"
 dv1394="no"
 SHFLAGS="-dynamiclib -Wl,-single_module -Wl,-install_name,\$(shlibdir)/\$(SLIBNAME),-current_version,\$(SPPVERSION),-compatibility_version,\$(SPPVERSION)"
@@ -606,8 +618,8 @@ mingw32="yes"
 CYGWIN*)
 targetos=CYGWIN
 shlibdir='${PREFIX}/bin'
-v4l="no"
-v4l2="no"
+video4linux="no"
+video4linux2="no"
 audio_oss="yes"
 dv1394="no"
 VHOOKSHFLAGS='-shared -L$(BUILD_ROOT)/libavformat -L$(BUILD_ROOT)/libavcodec -L$(BUILD_ROOT)/libavutil'
@@ -626,8 +638,8 @@ LDLATEFLAGS="-Wl,--as-needed $LDLATEFLAGS"
 IRIX*)
 targetos=IRIX
 ranlib="echo ignoring ranlib"
-v4l="no"
-v4l2="no"
+video4linux="no"
+video4linux2="no"
 audio_oss="no"
 make="gmake"
 ;;
@@ -647,8 +659,8 @@ SLIBSUF=".dll"
 EXESUF=".exe"
 extralibs=""
 pkg_requires=""
-v4l="no"
-v4l2="no"
+video4linux="no"
+video4linux2="no"
 audio_oss="no"
 dv1394="no"
 ffserver="no"
@@ -662,13 +674,15 @@ targetos="${targetos}-UNKNOWN"
 esac
 
 # find source path
-source_path="`dirname $0`"
+source_path="`dirname \"$0\"`"
 source_path_used="yes"
 if test -z "$source_path" -o "$source_path" = "." ; then
-    source_path=`pwd`
+    source_path="`pwd`"
     source_path_used="no"
 else
     source_path="`cd \"$source_path\"; pwd`"
+    echo "$source_path" | grep -q '[[:blank:]]' &&
+      die "Out of tree builds are impossible with whitespace in source path."
 fi
 
 if test x"$1" = x"-h" -o x"$1" = x"--help" ; then
@@ -680,11 +694,13 @@ for opt do
   FFMPEG_CONFIGURATION="$FFMPEG_CONFIGURATION""$opt "
 done
 
-ENCODER_LIST=`grep 'register_avcodec(&[a-z0-9_]*_encoder)' $source_path/libavcodec/allcodecs.c  | sed 's/.*&\(.*\)).*/\1/'`
-DECODER_LIST=`grep 'register_avcodec(&[a-z0-9_]*_decoder)' $source_path/libavcodec/allcodecs.c  | sed 's/.*&\(.*\)).*/\1/'`
-PARSER_LIST=`grep 'av_register_codec_parser(&[a-z]' $source_path/libavcodec/allcodecs.c  | sed 's/.*&\(.*\)).*/\1/'`
-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/'`
+ENCODER_LIST=`grep 'register_avcodec(&[a-z0-9_]*_encoder)' "$source_path/libavcodec/allcodecs.c"  | sed 's/.*&\(.*\)).*/\1/'`
+DECODER_LIST=`grep 'register_avcodec(&[a-z0-9_]*_decoder)' "$source_path/libavcodec/allcodecs.c"  | sed 's/.*&\(.*\)).*/\1/'`
+PARSER_LIST=`grep 'av_register_codec_parser(&[a-z]' "$source_path/libavcodec/allcodecs.c"  | sed 's/.*&\(.*\)).*/\1/'`
+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#*=}"
@@ -737,9 +753,9 @@ for opt do
   ;;
   --enable-gprof) gprof="yes"
   ;;
-  --disable-v4l) v4l="no"
+  --disable-v4l) video4linux="no"
   ;;
-  --disable-v4l2) v4l2="no"
+  --disable-v4l2) video4linux2="no"
   ;;
   --disable-bktr) bktr="no"
   ;;
@@ -767,10 +783,12 @@ for opt do
   ;;
   --enable-mp3lame) mp3lame="yes"
   ;;
+  --enable-libnut) libnut="yes"
+  ;;
   --enable-libogg) libogg="yes"
     pkg_requires="$pkg_requires ogg >= 1.1"
   ;;
-  --enable-vorbis) vorbis="yes"
+  --enable-vorbis) libvorbis="yes"
     pkg_requires="$pkg_requires vorbis vorbisenc"
   ;;
   --enable-faad) faad="yes"
@@ -790,8 +808,6 @@ for opt do
   ;;
   --disable-vhook) vhook="no"
   ;;
-  --disable-simple_idct) simpleidct="no"
-  ;;
   --enable-mingw32) mingw32="yes"
   ;;
   --enable-mingwce) mingwce="yes"
@@ -808,6 +824,8 @@ for opt do
   ;;
   --disable-opts) optimize="no"
   ;;
+  --enable-extra-warnings) extrawarnings="yes"
+  ;;
   --disable-mpegaudio-hp) mpegaudio_hp="no"
   ;;
   --disable-protocols) protocols="no"; network="no"; ffserver="no"
@@ -828,7 +846,7 @@ for opt do
   ;;
   --enable-amr_if2) amr="yes"; amr_if2="yes"
   ;;
-  --enable-sunmlib) sunmlib="yes"
+  --enable-sunmlib) mlib="yes"
   ;;
   --enable-pthreads) pthreads="yes"
   ;;
@@ -840,35 +858,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
   ;;
@@ -898,8 +916,8 @@ you do not need to pass additional options.
 EOF
         exit 1
     fi
-    v4l="no"
-    v4l2="no"
+    video4linux="no"
+    video4linux2="no"
     bktr="no"
     audio_oss="no"
     dv1394="no"
@@ -941,7 +959,7 @@ EOF
     exit 1;
 fi
 
-if test "$vorbis" = "yes" ; then
+if test "$libvorbis" = "yes" ; then
     if test "$libogg" = "no"; then
         echo "libogg must be enabled to enable Vorbis."
         fail="yes"
@@ -1190,11 +1208,11 @@ if test $arch = "powerpc"; then
     fi
 fi
 
-check_header altivec.h && _altivec_h=yes || _altivec_h=no
+check_header altivec.h && altivec_h=yes || altivec_h=no
 
 # check if our compiler supports Motorola AltiVec C API
 if test $altivec = "yes"; then
-    if test $_altivec_h = "yes"; then
+    if test $altivec_h = "yes"; then
         inc_altivec_h="#include <altivec.h>"
     else
         inc_altivec_h=
@@ -1280,20 +1298,22 @@ EOF
 # ---
 # check availability of some header files
 
-_memalign=no
-_malloc_h=no
+memalign=no
+malloc_h=no
 if check_header malloc.h; then
-    _malloc_h=yes
-    _memalign=yes
-    check_func memalign || _memalign="no"
+    malloc_h=yes
+    memalign=yes
+    check_func memalign || memalign="no"
 fi
 
-if test "$_memalign" = "no" -a "$mmx" = "yes" -a \
+if test "$memalign" = "no" -a "$mmx" = "yes" -a \
         "$memalignhack" != "yes" -a "$targetos" != "Darwin" -a \
         "$targetos" != "FreeBSD" ; then
     die "Error, no memalign() but SSE enabled, disable it or use --enable-memalign-hack."
 fi
 
+check_header byteswap.h && byteswap_h=yes || byteswap_h=no
+
 check_func localtime_r && localtime_r=yes || localtime_r=no
 enabled zlib && check_lib zlib.h zlibVersion -lz || zlib="no"
 
@@ -1311,12 +1331,13 @@ fi
 enabled dts     && require libdts dts.h dts_init -ldts -lm
 enabled libgsm  && require libgsm gsm.h gsm_create -lgsm
 enabled mp3lame && require LAME lame/lame.h lame_init -lmp3lame -lm
-enabled vorbis  && require libvorbis vorbis/vorbisenc.h vorbis_info_init -lvorbis -lvorbisenc -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 nut.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 sunmlib && require mediaLib mlib_types.h mlib_VectorSub_S16_U8_Mod -lmlib
+enabled mlib    && require mediaLib mlib_types.h mlib_VectorSub_S16_U8_Mod -lmlib
 
 # Ugh, faac uses stdcall calling convention on win32 so we can't use
 # the generic test functions
@@ -1505,7 +1526,7 @@ int main( void ) {
 EOF
 
 # check for video4linux2 --- V4L2_PIX_FMT_YUV420
-enabled v4l2 && check_cc <<EOF || v4l2="no"
+enabled video4linux2 && check_cc <<EOF || video4linux2="no"
 #include <sys/time.h>
 #include <asm/types.h>
 #include <linux/videodev2.h>
@@ -1522,7 +1543,7 @@ check_cflags -Wno-switch
 check_cflags -Wdisabled-optimization
 check_cflags -Wpointer-arith
 check_cflags -Wredundant-decls
-check_cflags -Winline
+enabled extrawarnings && check_cflags -Winline
 
 # add some linker flags
 check_ldflags $LDLATEFLAGS
@@ -1591,8 +1612,9 @@ echo "gprof enabled    $gprof"
 echo "zlib enabled     $zlib"
 echo "libgsm enabled   $libgsm"
 echo "mp3lame enabled  $mp3lame"
+echo "libnut enabled   $libnut"
 echo "libogg enabled   $libogg"
-echo "Vorbis enabled   $vorbis"
+echo "Vorbis enabled   $libvorbis"
 echo "FAAD enabled     $faad"
 echo "faadbin enabled  $faadbin"
 echo "FAAC enabled     $faac"
@@ -1619,7 +1641,7 @@ if test "$vhook" = "yes"; then
     echo "Imlib2 support   $imlib2"
     echo "FreeType support $freetype2"
 fi
-echo "Sun medialib support"  $sunmlib
+echo "Sun medialib support"  $mlib
 echo "pthreads support"      $pthreads
 echo "AMR-NB float support"  $amr_nb
 echo "AMR-NB fixed support"  $amr_nb_fixed
@@ -1791,7 +1813,7 @@ fi
 if test "$altivec" = "yes" ; then
   echo "TARGET_ALTIVEC=yes" >> config.mak
   echo "#define HAVE_ALTIVEC 1" >> $TMPH
-  if test "$_altivec_h" = "yes" ; then
+  if test "$altivec_h" = "yes" ; then
     echo "#define HAVE_ALTIVEC_H 1" >> $TMPH
   else
     echo "#undef HAVE_ALTIVEC_H" >> $TMPH
@@ -1809,7 +1831,7 @@ fi
 if test "$freetype2" = "yes" ; then
   echo "HAVE_FREETYPE2=yes" >> config.mak
 fi
-if test "$sunmlib" = "yes" ; then
+if test "$mlib" = "yes" ; then
   echo "HAVE_MLIB=yes" >> config.mak
   echo "#define HAVE_MLIB 1" >> $TMPH
 fi
@@ -1819,7 +1841,7 @@ if test "$pthreads" = "yes" ; then
   echo "#define HAVE_THREADS 1" >> $TMPH
 fi
 if test "$sdl" = "yes" ; then
-  echo "CONFIG_SDL=yes" >> config.mak
+  echo "HAVE_SDL=yes" >> config.mak
   echo "SDL_LIBS=`"${SDL_CONFIG}" --libs`" >> config.mak
   echo "SDL_CFLAGS=`"${SDL_CONFIG}" --cflags`" >> config.mak
   if test "$sdl_video_size" = "yes"; then
@@ -1833,8 +1855,8 @@ if test "$have_lrintf" = "yes" ; then
   echo "#define HAVE_LRINTF 1" >> $TMPH
 fi
 if test "$vhook" = "yes" ; then
-  echo "BUILD_VHOOK=yes" >> config.mak
-  echo "#define HAVE_VHOOK 1" >> $TMPH
+  echo "CONFIG_VHOOK=yes" >> config.mak
+  echo "#define CONFIG_VHOOK 1" >> $TMPH
 fi
 
 sws_version=`grep '#define LIBSWSCALE_VERSION ' "$source_path/libswscale/swscale.h" | sed 's/[^0-9\.]//g'`
@@ -1893,8 +1915,8 @@ fi
 
 # AC3
 if test "$a52" = "yes" ; then
-  echo "#define CONFIG_AC3 1" >> $TMPH
-  echo "CONFIG_AC3=yes" >> config.mak
+  echo "#define CONFIG_A52 1" >> $TMPH
+  echo "CONFIG_A52=yes" >> config.mak
 
   if test "$a52bin" = "yes" ; then
     echo "#define CONFIG_A52BIN 1" >> $TMPH
@@ -1924,12 +1946,12 @@ if test "$mpegaudio_hp" = "yes" ; then
   echo "#define CONFIG_MPEGAUDIO_HP 1" >> $TMPH
 fi
 
-if test "$v4l" = "yes" ; then
+if test "$video4linux" = "yes" ; then
   echo "#define CONFIG_VIDEO4LINUX 1" >> $TMPH
   echo "CONFIG_VIDEO4LINUX=yes" >> config.mak
 fi
 
-if test "$v4l2" = "yes" ; then
+if test "$video4linux2" = "yes" ; then
   echo "#define CONFIG_VIDEO4LINUX2 1" >> $TMPH
   echo "CONFIG_VIDEO4LINUX2=yes" >> config.mak
 fi
@@ -1950,11 +1972,11 @@ if test "$dc1394" = "yes" ; then
 fi
 
 if test "$dlopen" = "yes" ; then
-  echo "#define CONFIG_HAVE_DLOPEN 1" >> $TMPH
+  echo "#define HAVE_DLOPEN 1" >> $TMPH
 fi
 
 if test "$dlfcn" = "yes" ; then
-  echo "#define CONFIG_HAVE_DLFCN 1" >> $TMPH
+  echo "#define HAVE_DLFCN 1" >> $TMPH
 fi
 
 if test "$audio_oss" = "yes" ; then
@@ -1991,12 +2013,17 @@ if test "$mp3lame" = "yes" ; then
   echo "CONFIG_MP3LAME=yes" >> config.mak
 fi
 
+if test "$libnut" = "yes" ; then
+  echo "#define CONFIG_LIBNUT 1" >> $TMPH
+  echo "CONFIG_LIBNUT=yes" >> config.mak
+fi
+
 if test "$libogg" = "yes" ; then
   echo "#define CONFIG_LIBOGG 1" >> $TMPH
   echo "CONFIG_LIBOGG=yes" >> config.mak
 fi
 
-if test "$vorbis" = "yes" ; then
+if test "$libvorbis" = "yes" ; then
   echo "#define CONFIG_LIBVORBIS 1" >> $TMPH
   echo "CONFIG_LIBVORBIS=yes" >> config.mak
 fi
@@ -2073,13 +2100,13 @@ if test "$targetos" = "Darwin"; then
   echo "CONFIG_DARWIN=yes" >> config.mak
 fi
 
-if test "$_malloc_h" = "yes" ; then
+if test "$malloc_h" = "yes" ; then
   echo "#define HAVE_MALLOC_H 1" >> $TMPH
 else
   echo "#undef  HAVE_MALLOC_H" >> $TMPH
 fi
 
-if test "$_memalign" = "yes" ; then
+if test "$memalign" = "yes" ; then
   echo "#define HAVE_MEMALIGN 1" >> $TMPH
 else
   echo "#undef  HAVE_MEMALIGN" >> $TMPH
@@ -2089,8 +2116,11 @@ if test "$memalignhack" = "yes" ; then
   echo "#define MEMALIGN_HACK 1" >> $TMPH
 fi
 
+if test "$byteswap_h" = "yes"; then
+  echo "#define HAVE_BYTESWAP_H 1" >> $TMPH
+fi
 
-if test "$netserver" = "yes" ; then
+if test "$beos_netserver" = "yes" ; then
   echo "#define CONFIG_BEOS_NETSERVER 1" >> $TMPH
   echo "CONFIG_BEOS_NETSERVER=yes" >> config.mak
 fi
@@ -2099,10 +2129,6 @@ if test "$need_inet_aton" = "yes" ; then
   echo "NEED_INET_ATON=yes" >> config.mak
 fi
 
-if test "$simpleidct" = "yes" ; then
-  echo "#define SIMPLE_IDCT 1" >> $TMPH
-fi
-
 if test "$protocols" = "yes" ; then
   echo "#define CONFIG_PROTOCOLS 1" >> $TMPH
   echo "CONFIG_PROTOCOLS=yes" >> config.mak
@@ -2156,6 +2182,7 @@ if test "$source_path_used" = "yes" ; then
          "
     FILES="\
           Makefile \
+          common.mak \
           libavformat/Makefile \
           libavcodec/Makefile \
           libpostproc/Makefile \
@@ -2173,8 +2200,9 @@ if test "$source_path_used" = "yes" ; then
         ln -sf "$source_path/$f" $f
     done
 fi
-echo "SRC_PATH=$source_path" >> config.mak
-echo "BUILD_ROOT=$PWD" >> config.mak
+echo "SRC_PATH=\"$source_path\"" >> config.mak
+echo "SRC_PATH_BARE=$source_path" >> config.mak
+echo "BUILD_ROOT=\"$PWD\"" >> config.mak
 
 if test "$amr" = "yes" ; then
   echo "#define CONFIG_AMR 1" >> $TMPH
@@ -2228,8 +2256,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.
@@ -2369,6 +2405,15 @@ Libs: \${libdir}/${LIBPREF}postproc${LIBSUF}
 Cflags: -I\${includedir}
 EOF
 
+if test "$swscaler" != "no"; then
+  sws_pc_libs="-L\${libdir} -lswscale"
+  sws_pc_uninstalled_libs="\${libdir}/${LIBPREF}swscale${LIBSUF}"
+  sws_pc_requires="$pkg_requires libavutil = $lavu_version"
+else
+  sws_pc_libs=""
+  sws_pc_uninstalled_libs=""
+  sws_pc_requires="$pkg_requires libavcodec = $lavc_version"
+fi
 # libswscale.pc
 cat <<EOF >libswscale.pc
 prefix=$PREFIX
@@ -2379,9 +2424,9 @@ includedir=\${prefix}/include
 Name: libswscale
 Description: FFmpeg image rescaling library
 Version: $sws_version
-Requires: $pkg_requires libavutil = $lavu_version
+Requires: $sws_pc_requires
 Conflicts:
-Libs: -L\${libdir} -lswscale
+Libs: $sws_pc_libs
 Cflags: -I\${includedir} -I\${includedir}/swscale
 EOF
 
@@ -2394,8 +2439,8 @@ includedir=\${pcfiledir}/libswscale
 Name: libswscale
 Description: FFmpeg image rescaling library
 Version: $sws_version
-Requires: $pkg_requires libavutil = $lavu_version
+Requires: $sws_pc_requires
 Conflicts:
-Libs: \${libdir}/${LIBPREF}swscale${LIBSUF}
+Libs: $sws_pc_uninstalled_libs
 Cflags: -I\${includedir}
 EOF