]> git.sesse.net Git - ffmpeg/blobdiff - configure
Give better names to multicast functions (they are not IPv6-only)
[ffmpeg] / configure
index 97c839c29b69c660ea41e21a5da385a0c9dd6989..e556be2763e30d340f3ba73a386837f68a8e0310 100755 (executable)
--- a/configure
+++ b/configure
@@ -91,10 +91,9 @@ show_help(){
   echo "  --enable-libmp3lame      enable MP3 encoding via libmp3lame [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-libvorbis       enable Vorbis en/decoding via libvorbis,"
-  echo "                           native implementations exist [default=no]"
+  echo "  --enable-libvorbis       enable Vorbis encoding via libvorbis,"
+  echo "                           native implementation exists [default=no]"
   echo "  --enable-libx264         enable H.264 encoding via x264 [default=no]"
   echo "  --enable-libxvid         enable Xvid encoding via xvidcore,"
   echo "                           native MPEG-4/Xvid encoder exists [default=no]"
@@ -164,7 +163,7 @@ show_help(){
   echo
   echo "Developer options (useful when working on FFmpeg itself):"
   echo "  --enable-gprof           enable profiling with gprof [$gprof]"
-  echo "  --disable-opts           disable compiler optimizations"
+  echo "  --disable-optimizations  disable compiler optimizations"
   echo "  --enable-extra-warnings  enable more compiler warnings"
   echo "  --disable-strip          disable stripping of executables and shared libraries"
   echo ""
@@ -178,7 +177,7 @@ log(){
 
 log_file(){
     log BEGIN $1
-    cat -n $1 >>$logfile
+    pr -n -t $1 >>$logfile
     log END $1
 }
 
@@ -410,6 +409,18 @@ check_cpp(){
     check_cmd $cc $CFLAGS "$@" -E -o $TMPO $TMPC
 }
 
+check_asm(){
+    log check_asm "$@"
+    name="$1"
+    asm="$2"
+    shift 2
+    check_cc "$@" <<EOF && enable $name || disable $name
+int foo(void){
+    asm volatile($asm);
+}
+EOF
+}
+
 check_ld(){
     log check_ld "$@"
     check_cc || return
@@ -608,7 +619,6 @@ CONFIG_LIST="
     libgsm
     libmp3lame
     libnut
-    libogg
     libtheora
     libvorbis
     libx264
@@ -713,6 +723,7 @@ CMDLINE_SELECT="
     $THREADS_LIST
     debug
     extra_warnings
+    optimizations
     shared
     static
 "
@@ -769,7 +780,6 @@ libgsm_ms_decoder_deps="libgsm"
 libgsm_ms_encoder_deps="libgsm"
 libmp3lame_encoder_deps="libmp3lame"
 libtheora_encoder_deps="libtheora"
-libvorbis_decoder_deps="libvorbis"
 libvorbis_encoder_deps="libvorbis"
 libx264_encoder_deps="libx264"
 libxvid_encoder_deps="libxvid"
@@ -781,13 +791,13 @@ audio_beos_demuxer_deps="audio_beos"
 audio_beos_demuxer_extralibs="-lmedia -lbe"
 audio_beos_muxer_deps="audio_beos"
 audio_beos_muxer_extralibs="-lmedia -lbe"
+avisynth_demuxer_deps="avisynth"
 bktr_demuxer_deps_any="dev_bktr_ioctl_bt848_h machine_ioctl_bt848_h dev_video_bktr_ioctl_bt848_h dev_ic_bt8xx_h"
 dv1394_demuxer_deps="dv1394"
 libdc1394_demuxer_deps="libdc1394"
 libnut_demuxer_deps="libnut"
 libnut_muxer_deps="libnut"
 mp3_demuxer_deps="mpegaudio_parser"
-ogg_muxer_deps="libogg"
 oss_demuxer_deps_any="soundcard_h sys_soundcard_h"
 oss_muxer_deps_any="soundcard_h sys_soundcard_h"
 redir_demuxer_deps="network"
@@ -807,7 +817,7 @@ udp_protocol_deps="network"
 
 # programs
 ffplay_deps="sdl"
-ffserver_deps="muxers rtp_protocol"
+ffserver_deps="ffm_muxer rtp_protocol rtsp_demuxer"
 ffserver_extralibs='$ldl'
 vhook_extralibs='$ldl'
 
@@ -869,7 +879,7 @@ enable ipv6
 enable static
 enable mpegaudio_hp
 enable network
-enable optimize
+enable optimizations
 enable protocols
 vhook="default"
 
@@ -881,13 +891,14 @@ FFSERVERLDFLAGS=-Wl,-E
 LDCONFIG="ldconfig"
 LIBPREF="lib"
 LIBSUF=".a"
-LIB='$(LIBPREF)$(NAME)$(LIBSUF)'
+FULLNAME='$(NAME)$(BUILDSUF)'
+LIBNAME='$(LIBPREF)$(FULLNAME)$(LIBSUF)'
 SLIBPREF="lib"
 SLIBSUF=".so"
-SLIBNAME='$(SLIBPREF)$(NAME)$(SLIBSUF)'
+SLIBNAME='$(SLIBPREF)$(FULLNAME)$(SLIBSUF)'
 SLIBNAME_WITH_VERSION='$(SLIBNAME).$(LIBVERSION)'
 SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
-LIB_INSTALL_EXTRA_CMD='$(RANLIB) "$(LIBDIR)/$(LIB)"'
+LIB_INSTALL_EXTRA_CMD='$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
 
 # find source path
 source_path="`dirname \"$0\"`"
@@ -921,9 +932,9 @@ die_unknown(){
 }
 
 show_list() {
-    for part in $*; do
-        echo $part | sed 's/_[^_]*$//'
-    done | sort
+    suffix=_$1
+    shift
+    echo $* | sed s/$suffix//g | tr ' ' '\n' | sort
     exit 0
 }
 
@@ -968,8 +979,6 @@ for opt do
   ;;
   --cpu=*) cpu="$optval"
   ;;
-  --disable-opts) disable optimize
-  ;;
   --enable-sunmlib) enable mlib
   ;;
   --disable-strip) disable dostrip
@@ -1003,8 +1012,8 @@ for opt do
   --list-*)
     NAME="${opt#--list-}"
     is_in $NAME $COMPONENT_LIST || die_unknown $opt
-    NAME=$(toupper ${NAME%s})
-    eval show_list \$${NAME}_LIST
+    NAME=${NAME%s}
+    eval show_list $NAME \$$(toupper $NAME)_LIST
   ;;
   --help|-h) show_help
   ;;
@@ -1118,7 +1127,7 @@ case $targetos in
     fi ;;
   sunos)
     FFSERVERLDFLAGS=""
-    SHFLAGS="-shared -Wl,-h,\$@"
+    SHFLAGS='-shared -Wl,-h,$@'
     network_extralibs="-lsocket -lnsl"
     ;;
   netbsd)
@@ -1127,10 +1136,10 @@ case $targetos in
     ;;
   openbsd)
     disable need_memalign
-    LIBOBJFLAGS="\$(PIC)"
-    LDCONFIG="ldconfig -m \$(SHLIBDIR)"
+    LIBOBJFLAGS='$(PIC)'
+    LDCONFIG='ldconfig -m $(SHLIBDIR)'
     SHFLAGS='-shared'
-    SLIBNAME='$(SLIBPREF)$(NAME)$(SLIBSUF).$(LIBVERSION)'
+    SLIBNAME='$(SLIBPREF)$(FULLNAME)$(SLIBSUF).$(LIBVERSION)'
     SLIBNAME_WITH_VERSION='$(SLIBNAME)'
     SLIBNAME_WITH_MAJOR='$(SLIBNAME)'
     oss_demuxer_extralibs="-lossaudio"
@@ -1145,13 +1154,13 @@ case $targetos in
     ;;
   darwin)
     disable need_memalign
-    SHFLAGS="-dynamiclib -Wl,-single_module -Wl,-install_name,\$(SHLIBDIR)/\$(SLIBNAME),-current_version,\$(SPPVERSION),-compatibility_version,\$(SPPVERSION) -Wl,-read_only_relocs,suppress"
+    SHFLAGS='-dynamiclib -Wl,-single_module -Wl,-install_name,$(SHLIBDIR)/$(SLIBNAME),-current_version,$(SPPVERSION),-compatibility_version,$(SPPVERSION) -Wl,-read_only_relocs,suppress'
     VHOOKSHFLAGS='-dynamiclib -Wl,-single_module -flat_namespace -undefined suppress -Wl,-install_name,$(SHLIBDIR)/vhook/$@'
     strip="strip -x"
     FFLDFLAGS="-Wl,-dynamic,-search_paths_first"
     SLIBSUF=".dylib"
-    SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME).$(LIBVERSION)$(SLIBSUF)'
-    SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(NAME).$(LIBMAJOR)$(SLIBSUF)'
+    SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME).$(LIBVERSION)$(SLIBSUF)'
+    SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME).$(LIBMAJOR)$(SLIBSUF)'
     FFSERVERLDFLAGS=-Wl,-bind_at_load
     ;;
   mingw32*)
@@ -1167,11 +1176,12 @@ case $targetos in
     SLIBPREF=""
     SLIBSUF=".dll"
     EXESUF=".exe"
-    SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME)-$(LIBVERSION)$(SLIBSUF)'
-    SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(NAME)-$(LIBMAJOR)$(SLIBSUF)'
-    SLIB_EXTRA_CMD="-lib /machine:i386 /def:\$(@:${SLIBSUF}=.def)"
-    SLIB_INSTALL_EXTRA_CMD="-install -m 644 \$(SLIBNAME_WITH_MAJOR:\$(SLIBSUF)=.lib) \"\$(SHLIBDIR)/\$(SLIBNAME_WITH_MAJOR:\$(SLIBSUF)=.lib)\""
-    SHFLAGS="-shared -Wl,--output-def,\$(@:${SLIBSUF}=.def),--out-implib,lib\$(SLIBNAME:\$(SLIBSUF)=.dll.a) -Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-image-base"
+    SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)'
+    SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
+    SLIB_EXTRA_CMD='-lib /machine:i386 /def:$(@:$(SLIBSUF)=.def)'
+    SLIB_INSTALL_EXTRA_CMD='-install -m 644 $(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib) "$(SHLIBDIR)/$(SLIBNAME:$(SLIBSUF)=.lib)"'
+    SLIB_UNINSTALL_EXTRA_CMD='rm -f "$(SHLIBDIR)/$(SLIBNAME:$(SLIBSUF)=.lib)"'
+    SHFLAGS='-shared -Wl,--output-def,$(@:$(SLIBSUF)=.def) -Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-image-base'
     ;;
   cygwin*)
     targetos=cygwin
@@ -1185,9 +1195,9 @@ case $targetos in
     EXESUF=".exe"
     SLIBPREF="cyg"
     SLIBSUF=".dll"
-    SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME)-$(LIBVERSION)$(SLIBSUF)'
-    SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(NAME)-$(LIBMAJOR)$(SLIBSUF)'
-    SHFLAGS='-shared -Wl,--out-implib=lib$(NAME).dll.a -Wl,--enable-auto-image-base'
+    SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)'
+    SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
+    SHFLAGS='-shared -Wl,--enable-auto-image-base'
     ;;
   linux)
     LDLATEFLAGS="-Wl,--as-needed $LDLATEFLAGS"
@@ -1204,8 +1214,6 @@ esac
 
 add_extralibs $osextralibs
 
-check_ldflags -lm
-
 if ! disabled logging ; then
     enabled logging || logfile="$logging"
     echo "# $0 $@" >$logfile
@@ -1234,14 +1242,7 @@ EOF
     exit 1;
 fi
 
-if disabled static; then
-    LIB=""
-fi
-
-if ! enabled libogg; then
-    enabled libtheora && die "libogg must be enabled to enable libtheora."
-    enabled libvorbis && die "libogg must be enabled to enable libvorbis."
-fi
+disabled static && LIBNAME=""
 
 if enabled_any libfaad libfaadbin ; then
     if check_header faad.h; then
@@ -1290,7 +1291,7 @@ if test $targetos = darwin; then
     fi
 fi
 
-disabled optimize || add_cflags -fomit-frame-pointer
+disabled optimizations || add_cflags -fomit-frame-pointer
 
 # Add processor-specific flags
 if test $cpu != "generic"; then
@@ -1356,6 +1357,9 @@ if test $cpu != "generic"; then
             add_cflags "-mfdpic"
             add_ldflags "-mfdpic"
         ;;
+        arm*)
+            add_cflags "-mcpu=$cpu"
+        ;;
         *)
         echo "WARNING: Unknown CPU \"$cpu\", ignored."
         ;;
@@ -1414,18 +1418,10 @@ if enabled x86; then
 EOF
 
     # check wether EBX is available on x86
-    check_cc <<EOF && enable ebx_available
-int main(){
-    asm volatile ("":::"%ebx");
-}
-EOF
+    check_asm ebx_available '"":::"%ebx"'
 
     # check whether binutils is new enough to compile SSSE3
-    enabled ssse3 && check_cc <<EOF || disable ssse3
-int main(){
-    asm volatile ("pabsw %xmm0, %xmm0");
-}
-EOF
+    enabled ssse3 && check_asm ssse3 '"pabsw %xmm0, %xmm0"'
 fi
 
 # check for assembler specific support
@@ -1465,40 +1461,11 @@ int main(void) {
 EOF
 fi
 
-# check armv5te instructions support
-enabled armv5te && check_cc <<EOF || disable armv5te
-int main(void) {
-    __asm__ __volatile__ ("qadd r0, r0, r0");
-}
-EOF
-
-enabled armv6 && check_cc <<EOF || disable armv6
-int main(void) {
-    __asm__ __volatile__ ("sadd16 r0, r0, r0");
-}
-EOF
-
-# check iwmmxt support
-enabled iwmmxt && check_cc <<EOF || disable iwmmxt
-int main(void) {
-    __asm__ __volatile__ ("wunpckelub wr6, wr4");
-}
-EOF
-
-# check if our compiler supports mmi
-enabled mmi && check_cc <<EOF || disable mmi
-int main(void) {
-    __asm__ ("lq \$2, 0(\$2)");
-    return 0;
-}
-EOF
-
-# check VIS support
-enabled vis && check_cc -mcpu=ultrasparc <<EOF || disable vis
-int main(void) {
-    __asm__ __volatile__ ("pdist %f0, %f0, %f0");
-}
-EOF
+enabled armv5te && check_asm armv5te '"qadd r0, r0, r0"'
+enabled armv6   && check_asm armv6   '"sadd16 r0, r0, r0"'
+enabled iwmmxt  && check_asm iwmmxt  '"wunpckelub wr6, wr4"'
+enabled mmi     && check_asm mmi     '"lq $2, 0($2)"'
+enabled vis     && check_asm vis     '"pdist %f0, %f0, %f0"' -mcpu=ultrasparc
 
 enabled vis && add_cflags "-mcpu=ultrasparc -mtune=ultrasparc"
 
@@ -1512,22 +1479,30 @@ grep -q BIGE $TMPO && enable bigendian
 # ---
 # check availability of some header files
 
-check_header malloc.h
-check_func memalign
-
-if ! enabled_any memalign memalign_hack && enabled need_memalign ; then
-    die "Error, no memalign() but SSE enabled, disable it or use --enable-memalign-hack."
+if check_func dlopen; then
+    ldl=
+elif check_func dlopen -ldl; then
+    ldl=-ldl
 fi
 
-check_header byteswap.h
-
-check_func mkstemp
+check_func fork
 check_func gethrtime
+check_func getrusage
+check_func inet_aton
+check_func memalign
+check_func mkstemp
+check_func2 windows.h GetProcessTimes
 
-check_header termios.h
+check_header byteswap.h
 check_header conio.h
+check_header dlfcn.h
+check_header malloc.h
+check_header termios.h
+
+if ! enabled_any memalign memalign_hack && enabled need_memalign ; then
+    die "Error, no memalign() but SSE enabled, disable it or use --enable-memalign-hack."
+fi
 
-check_func inet_aton
 enabled zlib && check_lib zlib.h zlibVersion -lz || disable zlib
 
 # ffserver uses poll(),
@@ -1560,6 +1535,8 @@ for thread in $THREADS_LIST; do
     fi
 done
 
+check_lib math.h sin -lm
+
 # test for lrintf in math.h
 check_exec <<EOF && enable lrintf || disable lrintf
 #define _ISOC9X_SOURCE  1
@@ -1580,9 +1557,8 @@ enabled libfaad    && require2 libfaad faad.h faacDecOpen -lfaad
 enabled libgsm     && require libgsm gsm.h gsm_create -lgsm
 enabled libmp3lame && require LAME lame/lame.h lame_init -lmp3lame -lm
 enabled libnut     && require libnut libnut.h nut_demuxer_init -lnut
-enabled libogg     && require libogg ogg/ogg.h ogg_sync_init -logg
 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 libvorbis  && require libvorbis vorbis/vorbisenc.h vorbis_info_init -lvorbisenc -lvorbis -logg
 enabled libx264    && require x264 x264.h x264_encoder_open -lx264
 enabled libxvid    && require Xvid xvid.h xvid_global -lxvidcore
 enabled mlib       && require mediaLib mlib_types.h mlib_VectorSub_S16_U8_Mod -lmlib
@@ -1597,21 +1573,6 @@ void foo(char * $restrict_keyword p);
 EOF
 done
 
-# dlopen/dlfcn.h probing
-
-check_header dlfcn.h
-
-if check_func dlopen; then
-    ldl=
-elif check_func dlopen -ldl; then
-    ldl=-ldl
-fi
-
-check_func getrusage
-check_func2 windows.h GetProcessTimes
-
-check_func fork
-
 test "$vhook" = "default" && vhook="$dlopen"
 
 if test "$targetos" = cygwin -o "$targetos" = mingw32 && enabled_all static vhook ; then
@@ -1669,7 +1630,7 @@ if enabled network; then
     if check_header arpa/inet.h ; then
         check_func closesocket
     elif check_header winsock2.h ; then
-        add_extralibs -lws2_32
+        network_extralibs="-lws2_32"
         check_func2 winsock2.h closesocket
     fi
 fi
@@ -1731,8 +1692,8 @@ check_ldflags $LDLATEFLAGS
 
 if enabled small; then
     check_cflags -Os            # not all compilers support -Os
-    optimize="small"
-elif enabled optimize; then
+    optimizations="small"
+elif enabled optimizations; then
     if test -n "`$cc -v 2>&1 | grep xlc`"; then
         add_cflags  "-O5"
         add_ldflags "-O5"
@@ -1746,7 +1707,7 @@ if enabled shared; then
     # LIBOBJFLAGS may have already been set in the OS configuration
     if test -z "$LIBOBJFLAGS" ; then
         case "$arch" in
-            x86_64|ia64|alpha|sparc*|power*) LIBOBJFLAGS="\$(PIC)" ;;
+            x86_64|ia64|alpha|sparc*|power*) LIBOBJFLAGS='$(PIC)' ;;
         esac
     fi
 fi
@@ -1758,7 +1719,7 @@ fi
 
 VHOOKCFLAGS="-fPIC"
 
-# find if .align arg is power-of-two or not
+# Find out if the .align argument is a power of two or not.
 if test $asmalign_pot = "unknown"; then
     disable asmalign_pot
     echo 'asm (".align 3");' | check_cc && enable asmalign_pot
@@ -1777,9 +1738,8 @@ check_deps $CONFIG_LIST $HAVE_LIST $DECODER_LIST $ENCODER_LIST $PARSER_LIST \
     $BSF_LIST $DEMUXER_LIST $MUXER_LIST $PROTOCOL_LIST
 
 enabled libdc1394 && append pkg_requires "libraw1394"
-enabled libogg    && append pkg_requires "ogg >= 1.1"
 enabled libtheora && append pkg_requires "theora"
-enabled libvorbis && append pkg_requires "vorbis vorbisenc"
+enabled libvorbis && append pkg_requires "vorbisenc"
 
 echo "install prefix            $PREFIX"
 echo "source path               $source_path"
@@ -1813,7 +1773,7 @@ fi
 echo "gprof enabled             ${gprof-no}"
 echo "debug symbols             ${debug-no}"
 echo "strip symbols             ${dostrip-no}"
-echo "optimize                  ${optimize-no}"
+echo "optimizations             ${optimizations-no}"
 echo "static                    ${static-no}"
 echo "shared                    ${shared-no}"
 echo "postprocessing support    ${pp-no}"
@@ -1845,7 +1805,6 @@ echo "libfaad dlopened          ${libfaadbin-no}"
 echo "libgsm enabled            ${libgsm-no}"
 echo "libmp3lame enabled        ${libmp3lame-no}"
 echo "libnut enabled            ${libnut-no}"
-echo "libogg enabled            ${libogg-no}"
 echo "libtheora enabled         ${libtheora-no}"
 echo "libvorbis enabled         ${libvorbis-no}"
 echo "x264 enabled              ${libx264-no}"
@@ -1855,10 +1814,24 @@ enabled gpl &&
     echo "License: GPL" ||
     echo "License: LGPL"
 
+for type in decoder encoder parser demuxer muxer protocol bsf; do
+    echo "Enabled ${type}s:"
+    ucname="\$`toupper $type`_LIST"
+    list="`eval echo $ucname`"
+    partlist=""
+    for part in $list; do
+        enabled $part && partlist="$partlist $part"
+    done
+    partlist=`echo $partlist | sed s/_$type//g | tr ' ' '\n' | sort`
+    echo $partlist
+done
+
 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 "#ifndef FFMPEG_CONFIG_H" >> $TMPH
+echo "#define FFMPEG_CONFIG_H" >> $TMPH
 echo "#define FFMPEG_CONFIGURATION \"$FFMPEG_CONFIGURATION\"" >> $TMPH
 
 echo "PREFIX=$PREFIX" >> config.mak
@@ -1888,12 +1861,13 @@ echo "VHOOKLIBS=$VHOOKLIBS" >> config.mak
 echo "LIBOBJFLAGS=$LIBOBJFLAGS" >> config.mak
 echo "BUILD_STATIC=$static" >> config.mak
 echo "BUILDSUF=$BUILDSUF" >> config.mak
+echo "FULLNAME=$FULLNAME" >> config.mak
 echo "LIBPREF=$LIBPREF" >> config.mak
-echo "LIBSUF=\${BUILDSUF}$LIBSUF" >> config.mak
-echo "LIB=$LIB" >> config.mak
+echo "LIBSUF=$LIBSUF" >> config.mak
+echo "LIBNAME=$LIBNAME" >> config.mak
 echo "SLIBPREF=$SLIBPREF" >> config.mak
-echo "SLIBSUF=\${BUILDSUF}$SLIBSUF" >> config.mak
-echo "EXESUF=\${BUILDSUF}$EXESUF" >> config.mak
+echo "SLIBSUF=$SLIBSUF" >> config.mak
+echo "EXESUF=$EXESUF" >> config.mak
 
 if enabled bigendian; then
   echo "WORDS_BIGENDIAN=yes" >> config.mak
@@ -1937,6 +1911,7 @@ if enabled shared; then
   echo "SLIBNAME_WITH_MAJOR=${SLIBNAME_WITH_MAJOR}" >> config.mak
   echo "SLIB_EXTRA_CMD=${SLIB_EXTRA_CMD}" >> config.mak
   echo "SLIB_INSTALL_EXTRA_CMD=${SLIB_INSTALL_EXTRA_CMD}" >> config.mak
+  echo "SLIB_UNINSTALL_EXTRA_CMD=${SLIB_UNINSTALL_EXTRA_CMD}" >> config.mak
 fi
 echo "LIB_INSTALL_EXTRA_CMD=${LIB_INSTALL_EXTRA_CMD}" >> config.mak
 echo "EXTRALIBS=$extralibs" >> config.mak
@@ -1968,6 +1943,8 @@ enabled asmalign_pot &&
   printf '#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\\n\\t"\n' >> $TMPH
 
 
+echo "#endif /* FFMPEG_CONFIG_H */" >> $TMPH
+
 # Do not overwrite config.h if unchanged to avoid superfluous rebuilds.
 cmp -s $TMPH config.h &&
     echo "config.h is unchanged" ||