]> git.sesse.net Git - ffmpeg/blobdiff - configure
Make vhook build non-recursive.
[ffmpeg] / configure
index 6370663612732253e9053d72a13029b283c8692f..31ebe590efaefce356bb27c7fee3dda2b0722d8c 100755 (executable)
--- a/configure
+++ b/configure
@@ -87,7 +87,7 @@ show_help(){
   echo "  --enable-libamr-wb       enable libamr-wb floating point audio codec"
   echo "  --enable-libfaac         enable FAAC support via libfaac [default=no]"
   echo "  --enable-libfaad         enable FAAD support via libfaad [default=no]"
-  echo "  --enable-libfaadbin      build FAAD support with runtime linking [default=no]"
+  echo "  --enable-libfaadbin      open libfaad.so.0 at runtime [default=no]"
   echo "  --enable-libgsm          enable GSM support via libgsm [default=no]"
   echo "  --enable-libmp3lame      enable MP3 encoding via libmp3lame [default=no]"
   echo "  --enable-libnut          enable NUT (de)muxing via libnut,"
@@ -398,7 +398,12 @@ check_cpp(){
 check_ld(){
     log check_ld "$@"
     check_cc || return
-    check_cmd $cc $LDFLAGS "$@" -o $TMPE $TMPO $extralibs
+    flags=''
+    libs=''
+    for f; do
+        test "${f}" = "${f#-l}" && flags="$flags $f" || libs="$libs $f"
+    done
+    check_cmd $cc $LDFLAGS $flags -o $TMPE $TMPO $extralibs $libs
 }
 
 check_cflags(){
@@ -597,6 +602,7 @@ CONFIG_LIST='
     powerpc_perf
     pp
     protocols
+    small
     swscaler
     vhook
     v4l
@@ -663,7 +669,6 @@ HAVE_LIST="
     freetype2
     imlib2
     inet_aton
-    localtime_r
     lrintf
     machine_ioctl_bt848_h
     machine_ioctl_meteor_h
@@ -671,6 +676,7 @@ HAVE_LIST="
     memalign
     mlib
     os2
+    ppc64
     sdl
     sdl_video_size
     soundcard_h
@@ -814,20 +820,11 @@ asmalign_pot="unknown"
 # machine
 arch=`uname -m`
 cpu="generic"
-powerpc_perf="no"
-cmov="no"
-fast_cmov="no"
-fast_unaligned="no"
-dcbzl="no"
-bigendian="no"
 
 # OS
 targetos=$(tolower $(uname -s))
-beos_netserver="no"
-os2="no"
 
 # non-library system interfaces
-audio_beos="default"
 audio_oss="yes"
 bktr="yes"
 dv1394="yes"
@@ -835,39 +832,15 @@ v4l2="yes"
 v4l="yes"
 
 # libraries
-avisynth="no"
-dc1394="no"
-dlfcn_h="no"
-dlopen="no"
-liba52="no"
-liba52bin="no"
-libamr_nb="no"
-libamr_wb="no"
-libfaac="no"
-libfaad2="no"
-libfaad="no"
-libfaadbin="no"
-libgsm="no"
-libmp3lame="no"
-libnut="no"
-libogg="no"
-libtheora="no"
-libvorbis="no"
-libx264="no"
-libxvid="no"
-mlib="no"
-x11grab="no"
 zlib="yes"
 
 # configurable options
 debug="yes"
 dostrip="yes"
-extra_warnings="no"
 ffmpeg="yes"
 ffplay="yes"
 ffserver="yes"
 gpl="no"
-gprof="no"
 ipv6="yes"
 shared="no"
 static="yes"
@@ -875,18 +848,9 @@ memalign_hack="no"
 mpegaudio_hp="yes"
 network="yes"
 optimize="yes"
-pp="no"
 protocols="yes"
-swscaler="no"
 vhook="default"
 
-# threading
-beosthreads="no"
-os2threads="no"
-pthreads="no"
-w32threads="no"
-thread_type="no"
-
 # build settings
 SHFLAGS='-shared -Wl,-soname,$@'
 VHOOKSHFLAGS='$(SHFLAGS)'
@@ -984,8 +948,6 @@ for opt do
   ;;
   --disable-opts) optimize="no"
   ;;
-  --enable-small) optimize="small"
-  ;;
   --enable-sunmlib) mlib="yes"
   ;;
   --disable-strip) dostrip="no"
@@ -1200,8 +1162,12 @@ case $targetos in
     targetos=cygwin
     shlibdir="$bindir"
     dv1394="no"
-    VHOOKSHFLAGS='-shared -L$(BUILD_ROOT)/libavformat -L$(BUILD_ROOT)/libavcodec -L$(BUILD_ROOT)/libswscale -L$(BUILD_ROOT)/libavutil'
-    VHOOKLIBS='-lavformat$(BUILDSUF) -lavcodec$(BUILDSUF) -lswscale$(BUILDSUF) -lavutil$(BUILDSUF) $(EXTRALIBS)'
+    VHOOKSHFLAGS='-shared -L$(BUILD_ROOT)/libavformat -L$(BUILD_ROOT)/libavcodec -L$(BUILD_ROOT)/libavutil'
+    VHOOKLIBS='-lavformat$(BUILDSUF) -lavcodec$(BUILDSUF) -lavutil$(BUILDSUF) $(EXTRALIBS)'
+    if enabled swscaler; then
+        VHOOKSHFLAGS="$VHOOKSHFLAGS -L\$(BUILD_ROOT)/libswscale"
+        VHOOKLIBS="$VHOOKLIBS -lswscale\$(BUILDSUF)"
+    fi
     osextralibs=""
     EXESUF=".exe"
     SLIBPREF="cyg"
@@ -1331,7 +1297,6 @@ enabled needmdynamicnopic && add_cflags -mdynamic-no-pic
 disabled optimize || add_cflags -fomit-frame-pointer
 
 # Add processor-specific flags
-POWERPCMODE="32bits"
 if test $cpu != "generic"; then
     warn_altivec(){
         $1 altivec && echo "WARNING: Tuning for $2 but AltiVec $1.";
@@ -1364,12 +1329,12 @@ if test $cpu != "generic"; then
         G5|g5|970|ppc970|PowerPC970|power4*|Power4*)
             add_cflags "-mcpu=970 -mpowerpc-gfxopt -mpowerpc64"
             warn_altivec disabled PPC970
-            POWERPCMODE="64bits"
+            enable ppc64
         ;;
         Cell|CELL|cell)
             add_cflags "-mcpu=cell"
             warn_altivec disabled Cell
-            POWERPCMODE="64bits"
+            enable ppc64
         ;;
         # targets that do NOT support conditional mov (cmov)
         i[345]86|pentium|pentium-mmx|k6|k6-[23]|winchip-c6|winchip2|c3)
@@ -1568,7 +1533,6 @@ check_header byteswap.h
 check_header arpa/inet.h
 
 check_func inet_aton
-check_func localtime_r
 enabled zlib && check_lib zlib.h zlibVersion -lz || zlib="no"
 
 # ffserver uses poll(),
@@ -1595,7 +1559,7 @@ fi
 
 for thread in $THREADS_LIST; do
     if enabled $thread; then
-        if ! disabled thread_type ; then
+        if test -n "$thread_type"; then
             die "ERROR: Only one thread type must be selected."
         else
             thread_type="$thread"
@@ -1603,6 +1567,13 @@ for thread in $THREADS_LIST; do
     fi
 done
 
+# test for lrintf in math.h
+check_exec <<EOF && lrintf=yes || lrintf=no
+#define _ISOC9X_SOURCE  1
+#include <math.h>
+int main( void ) { return (lrintf(3.999f) > 0)?0:1; }
+EOF
+
 enabled_any libamr_nb libamr_wb && enable libamr
 
 # these are off by default, so fail if requested and not available
@@ -1623,13 +1594,6 @@ enabled libfaac    && require2 libfaac "stdint.h faac.h" faacEncGetVersion -lfaa
 enabled libfaad    && require2 libfaad faad.h faacDecOpen -lfaad
 enabled avisynth   && require2 vfw32 "windows.h vfw.h" AVIFileInit -lvfw32
 
-# test for lrintf in math.h
-check_exec <<EOF && lrintf=yes || lrintf=no
-#define _ISOC9X_SOURCE  1
-#include <math.h>
-int main( void ) { return (lrintf(3.999f) > 0)?0:1; }
-EOF
-
 _restrict=
 for restrict_keyword in restrict __restrict__ __restrict; do
     check_cc <<EOF && _restrict=$restrict_keyword && break
@@ -1766,10 +1730,10 @@ enabled extra_warnings && check_cflags -Winline
 check_ldflags -Wl,--warn-common
 check_ldflags $LDLATEFLAGS
 
-# not all compilers support -Os
-test "$optimize" = "small" && check_cflags -Os
-
-if enabled optimize; then
+if enabled small; then
+    check_cflags -Os            # not all compilers support -Os
+    optimize="small"
+elif enabled optimize; then
     if test -n "`$cc -v 2>&1 | grep xlc`"; then
         add_cflags  "-O5"
         add_ldflags "-O5"
@@ -1827,64 +1791,64 @@ echo "ARCH                      $arch ($cpu)"
 if test "$BUILDSUF" != ""; then
     echo "build suffix              $BUILDSUF"
 fi
-echo "big-endian                $bigendian"
+echo "big-endian                ${bigendian-no}"
 if test $arch = "x86_32" -o $arch = "x86_64"; then
-    echo "MMX enabled               $mmx"
-    echo "CMOV enabled              $cmov"
-    echo "CMOV is fast              $fast_cmov"
+    echo "MMX enabled               ${mmx-no}"
+    echo "CMOV enabled              ${cmov-no}"
+    echo "CMOV is fast              ${fast_cmov-no}"
 fi
 if test $arch = "armv4l"; then
-    echo "ARMv5TE enabled           $armv5te"
-    echo "ARMv6 enabled             $armv6"
-    echo "IWMMXT enabled            $iwmmxt"
+    echo "ARMv5TE enabled           ${armv5te-no}"
+    echo "ARMv6 enabled             ${armv6-no}"
+    echo "IWMMXT enabled            ${iwmmxt-no}"
 fi
 if test $arch = "mips"; then
-    echo "MMI enabled               $mmi"
+    echo "MMI enabled               ${mmi-no}"
 fi
 if test $arch = "powerpc"; then
-    echo "AltiVec enabled           $altivec"
-    echo "dcbzl available           $dcbzl"
+    echo "AltiVec enabled           ${altivec-no}"
+    echo "dcbzl available           ${dcbzl-no}"
 fi
-echo "gprof enabled             $gprof"
-echo "debug symbols             $debug"
-echo "strip symbols             $dostrip"
-echo "optimize                  $optimize"
-echo "static                    $static"
-echo "shared                    $shared"
-echo "postprocessing support    $pp"
-echo "software scaler enabled   $swscaler"
-echo "video hooking             $vhook"
+echo "gprof enabled             ${gprof-no}"
+echo "debug symbols             ${debug-no}"
+echo "strip symbols             ${dostrip-no}"
+echo "optimize                  ${optimize-no}"
+echo "static                    ${static-no}"
+echo "shared                    ${shared-no}"
+echo "postprocessing support    ${pp-no}"
+echo "software scaler enabled   ${swscaler-no}"
+echo "video hooking             ${vhook-no}"
 if enabled vhook; then
-    echo "Imlib2 support            $imlib2"
-    echo "FreeType support          $freetype2"
+    echo "Imlib2 support            ${imlib2-no}"
+    echo "FreeType support          ${freetype2-no}"
 fi
-echo "network support           $network"
+echo "network support           ${network-no}"
 if enabled network; then
-    echo "IPv6 support              $ipv6"
+    echo "IPv6 support              ${ipv6-no}"
 fi
-echo "threading support         $thread_type"
-echo "SDL support               $sdl"
+echo "threading support         ${thread_type-no}"
+echo "SDL support               ${sdl-no}"
 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"
-echo "AVISynth enabled          $avisynth"
-echo "liba52 support            $liba52"
-echo "liba52 dlopened           $liba52bin"
-echo "libamr-nb support         $libamr_nb"
-echo "libamr-wb support         $libamr_wb"
-echo "libfaac enabled           $libfaac"
-echo "libfaad enabled           $libfaad"
-echo "faadbin enabled           $libfaadbin"
-echo "libgsm enabled            $libgsm"
-echo "libmp3lame enabled        $libmp3lame"
-echo "libnut enabled            $libnut"
-echo "libogg enabled            $libogg"
-echo "libtheora enabled         $libtheora"
-echo "libvorbis enabled         $libvorbis"
-echo "x264 enabled              $libx264"
-echo "XviD enabled              $libxvid"
-echo "zlib enabled              $zlib"
+echo "Sun medialib support      ${mlib-no}"
+echo "AVISynth enabled          ${avisynth-no}"
+echo "liba52 support            ${liba52-no}"
+echo "liba52 dlopened           ${liba52bin-no}"
+echo "libamr-nb support         ${libamr_nb-no}"
+echo "libamr-wb support         ${libamr_wb-no}"
+echo "libfaac enabled           ${libfaac-no}"
+echo "libfaad enabled           ${libfaad-no}"
+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}"
+echo "XviD enabled              ${libxvid-no}"
+echo "zlib enabled              ${zlib-no}"
 if disabled gpl; then
     echo "License: LGPL"
 else
@@ -1936,14 +1900,6 @@ echo "SLIBPREF=$SLIBPREF" >> config.mak
 echo "SLIBSUF=\${BUILDSUF}$SLIBSUF" >> config.mak
 echo "EXESUF=\${BUILDSUF}$EXESUF" >> config.mak
 
-case "$arch" in
-    powerpc)
-        if test "$POWERPCMODE" = "64bits"; then
-            echo "#define POWERPC_MODE_64BITS 1" >> $TMPH
-        fi
-        ;;
-esac
-
 if enabled bigendian; then
   echo "WORDS_BIGENDIAN=yes" >> config.mak
   echo "#define WORDS_BIGENDIAN 1" >> $TMPH
@@ -2007,9 +1963,8 @@ fi
 
 echo "#define restrict $_restrict" >> $TMPH
 
-if test "$optimize" = "small"; then
+if enabled small; then
   echo "#define always_inline"  >> $TMPH
-  echo "#define CONFIG_SMALL 1" >> $TMPH
 fi
 
 echo "SRC_PATH=\"$source_path\"" >> config.mak
@@ -2060,8 +2015,6 @@ if enabled source_path_used; then
           libpostproc/Makefile \
           libavutil/Makefile \
           libswscale/Makefile \
-          tests/Makefile \
-          vhook/Makefile \
           doc/texi2pod.pl \
           "
     for dir in $DIRS ; do