]> git.sesse.net Git - ffmpeg/blobdiff - configure
Reindent after the last commit, while at it also add some spaces for
[ffmpeg] / configure
index 1cb601dea69e579497ee0dc471c2b0988c6236b5..f1eab728fef7ef3a4ff11d49ec8ca742c7356859 100755 (executable)
--- a/configure
+++ b/configure
@@ -84,6 +84,7 @@ show_help(){
   echo "  --enable-beosthreads     use BeOS threads [no]"
   echo "  --enable-os2threads      use OS/2 threads [no]"
   echo "  --enable-pthreads        use pthreads [no]"
+  echo "  --enable-vdpau           enable VDPAU support [no]"
   echo "  --enable-w32threads      use Win32 threads [no]"
   echo "  --enable-x11grab         enable X11 grabbing [no]"
   echo "  --enable-xvmc            enable XvMC support [no]"
@@ -91,9 +92,9 @@ show_help(){
   echo "External library support:"
   echo "  --enable-mlib            enable Sun medialib [no]"
   echo "  --enable-avisynth        enable reading of AVISynth script files [no]"
-  echo "  --enable-bzlib           enable bzlib [no]"
-  echo "  --enable-libamr-nb       enable libamr-nb floating point audio codec"
-  echo "  --enable-libamr-wb       enable libamr-wb floating point audio codec"
+  echo "  --enable-bzlib           enable bzlib [autodetect]"
+  echo "  --enable-libamr-nb       enable libamr-nb floating point audio codec [no]"
+  echo "  --enable-libamr-wb       enable libamr-wb floating point audio codec [no]"
   echo "  --enable-libdc1394       enable IIDC-1394 grabbing using libdc1394"
   echo "                           and libraw1394 [no]"
   echo "  --enable-libdirac        enable Dirac support via libdirac [no]"
@@ -112,7 +113,7 @@ show_help(){
   echo "  --enable-libx264         enable H.264 encoding via x264 [no]"
   echo "  --enable-libxvid         enable Xvid encoding via xvidcore,"
   echo "                           native MPEG-4/Xvid encoder exists [no]"
-  echo "  --enable-zlib            enable zlib [no]"
+  echo "  --enable-zlib            enable zlib [autodetect]"
   echo ""
   echo "Advanced options (experts only):"
   echo "  --source-path=PATH       path to source code [$source_path]"
@@ -140,9 +141,11 @@ show_help(){
   echo "  --disable-altivec        disable AltiVec optimizations"
   echo "  --disable-mmx            disable MMX optimizations"
   echo "  --disable-mmx2           disable MMX2 optimizations"
+  echo "  --disable-sse            disable SSE optimizations"
   echo "  --disable-ssse3          disable SSSE3 optimizations"
   echo "  --disable-armv5te        disable armv5te optimizations"
   echo "  --disable-armv6          disable armv6 optimizations"
+  echo "  --disable-armv6t2        disable armv6t2 optimizations"
   echo "  --disable-armvfp         disable ARM VFP optimizations"
   echo "  --disable-iwmmxt         disable iwmmxt optimizations"
   echo "  --disable-mmi            disable MMI optimizations"
@@ -776,6 +779,7 @@ CONFIG_LIST="
     small
     static
     swscale
+    vdpau
     vhook
     x11grab
     xvmc
@@ -818,6 +822,7 @@ ARCH_EXT_LIST='
     mmx
     mmx2
     neon
+    sse
     ssse3
     vis
 '
@@ -864,11 +869,13 @@ HAVE_LIST="
     memalign
     mkstemp
     pld
+    posix_memalign
     ppc64
     round
     roundf
     sdl
     sdl_video_size
+    setmode
     socklen_t
     soundcard_h
     poll_h
@@ -879,6 +886,7 @@ HAVE_LIST="
     sys_videoio_h
     termios_h
     threads
+    truncf
     winsock2_h
     yasm
 "
@@ -943,7 +951,8 @@ mmi_deps="mips"
 mmx_deps="x86"
 mmx2_deps="x86 mmx"
 neon_deps="arm"
-ssse3_deps="x86"
+sse_deps="mmx"
+ssse3_deps="x86 sse"
 vis_deps="sparc"
 
 # common features
@@ -975,6 +984,7 @@ h261_encoder_select="aandct"
 h263_encoder_select="aandct"
 h263p_encoder_select="aandct"
 h264_decoder_select="golomb"
+h264_vdpau_decoder_deps="vdpau"
 imc_decoder_select="fft mdct"
 jpegls_decoder_select="golomb"
 jpegls_encoder_select="golomb"
@@ -1040,6 +1050,7 @@ libvorbis_encoder_deps="libvorbis"
 libx264_encoder_deps="libx264"
 libxvid_encoder_deps="libxvid"
 mpeg4aac_decoder_deps="libfaad"
+vdpau_deps="vdpau_vdpau_h vdpau_vdpau_x11_h"
 
 # demuxers / muxers
 ac3_demuxer_deps="ac3_parser"
@@ -1099,15 +1110,15 @@ mandir_default='${prefix}/share/man'
 shlibdir_default="$libdir_default"
 
 # toolchain
+ar="ar"
 cc_default="gcc"
 host_cc_default="gcc"
-yasmexe="yasm"
-ar="ar"
+ln_s="ln -sf"
 nm_default="nm"
+objformat="elf"
 ranlib="ranlib"
 strip="strip"
-ln_s="ln -sf"
-objformat="elf"
+yasmexe="yasm"
 
 # machine
 arch=`uname -m`
@@ -1216,11 +1227,11 @@ show_list() {
 for opt do
     optval="${opt#*=}"
     case "$opt" in
-    --extra-cflags=*) add_cflags "$optval"
+    --extra-cflags=*) add_cflags $optval
     ;;
-    --extra-ldflags=*) add_ldflags "$optval"
+    --extra-ldflags=*) add_ldflags $optval
     ;;
-    --extra-libs=*) add_extralibs "$optval"
+    --extra-libs=*) add_extralibs $optval
     ;;
     --disable-devices) disable $INDEV_LIST $OUTDEV_LIST
     ;;
@@ -1268,9 +1279,8 @@ set >> $logfile
 
 test -n "$cross_prefix" && enable cross_compile
 
-cc_default="${cross_prefix}${cc_default}"
-yasmexe="${cross_prefix}${yasmexe}"
 ar="${cross_prefix}${ar}"
+cc_default="${cross_prefix}${cc_default}"
 nm_default="${cross_prefix}${nm_default}"
 ranlib="${cross_prefix}${ranlib}"
 strip="${cross_prefix}${strip}"
@@ -1295,15 +1305,17 @@ check_cflags -std=c99
 
 case "$arch" in
     i386|i486|i586|i686|i86pc|BePC)
-        arch="x86_32"
+        arch="x86"
+        subarch="x86_32"
         enable fast_unaligned
     ;;
     x86_64|amd64)
-        arch="x86_32"
+        arch="x86"
+        subarch="x86_32"
         enable cmov
         enable fast_cmov
         enable fast_unaligned
-        check_cc <<EOF && enable fast_64bit && arch="x86_64"
+        check_cc <<EOF && enable fast_64bit && subarch="x86_64"
         int test[sizeof(char*) - 7];
 EOF
     ;;
@@ -1331,7 +1343,8 @@ EOF
         enable fast_64bit
     ;;
     sun4u|sparc64)
-        arch="sparc64"
+        arch="sparc"
+        subarch="sparc64"
         enable fast_64bit
     ;;
     sparc)
@@ -1365,16 +1378,14 @@ EOF
     ;;
 esac
 
-enable $arch
-enabled_any x86_32 x86_64 && enable x86
-enabled     sparc64       && enable sparc
+enable $arch $subarch
 
 # OS specific
 case $target_os in
     beos|haiku|zeta)
         prefix_default="$HOME/config"
         # helps building libavcodec
-        add_cflags "-DPIC -fomit-frame-pointer"
+        add_cflags -DPIC -fomit-frame-pointer
         # 3 gcc releases known for BeOS, each with ugly bugs
         gcc_version="`$cc -v 2>&1 | grep version | cut -d ' ' -f3-`"
         case "$gcc_version" in
@@ -1382,7 +1393,7 @@ case $target_os in
             disable mmx
             ;;
           *20010315*) echo "BeBits gcc"
-            add_cflags "-fno-expensive-optimizations"
+            add_cflags -fno-expensive-optimizations
             ;;
         esac
         SHFLAGS=-nostart
@@ -1401,6 +1412,7 @@ case $target_os in
         FFSERVERLDFLAGS=""
         SHFLAGS='-shared -Wl,-h,$$(@F)'
         network_extralibs="-lsocket -lnsl"
+        add_cflags -D__EXTENSIONS__
         ;;
     netbsd)
         oss_demuxer_extralibs="-lossaudio"
@@ -1436,7 +1448,7 @@ case $target_os in
     mingw32*)
         target_os=mingw32
         LIBTARGET=i386
-        if test $arch = x86_64; then
+        if enabled x86_64; then
             disable need_memalign
             LIBTARGET=x64
         fi
@@ -1489,7 +1501,7 @@ case $target_os in
         disable $INDEV_LIST $OUTDEV_LIST
         network_extralibs="-lsocket"
         EXESUF=".exe"
-        objformat="win32"
+        objformat="coff"
         enable dos_paths
         ;;
     linux)
@@ -1594,11 +1606,11 @@ test -z "$need_memalign" && need_memalign="$mmx"
 #Darwin CC versions
 if test $target_os = darwin; then
     if $cc -v 2>&1 | grep -q xlc; then
-        add_cflags "-qpdf2 -qlanglvl=extc99 -qmaxmem=-1 -qarch=auto -qtune=auto"
+        add_cflags -qpdf2 -qlanglvl=extc99 -qmaxmem=-1 -qarch=auto -qtune=auto
     else
-        add_cflags "-pipe"
-        check_cflags "-force_cpusubtype_ALL"
-        check_cflags "-Wno-sign-compare"
+        add_cflags -pipe
+        check_cflags -force_cpusubtype_ALL
+        check_cflags -Wno-sign-compare
         enabled shared || check_cflags -mdynamic-no-pic
     fi
 fi
@@ -1612,68 +1624,68 @@ if test $cpu != "generic"; then
     }
     case $cpu in
         601|ppc601|PowerPC601)
-            add_cflags "-mcpu=601"
+            add_cflags -mcpu=601
             warn_altivec enabled PPC601
         ;;
         603*|ppc603*|PowerPC603*)
-            add_cflags "-mcpu=603"
+            add_cflags -mcpu=603
             warn_altivec enabled PPC603
         ;;
         604*|ppc604*|PowerPC604*)
-            add_cflags "-mcpu=604"
+            add_cflags -mcpu=604
             warn_altivec enabled PPC604
         ;;
         G3|g3|75*|ppc75*|PowerPC75*)
-            add_cflags "-mcpu=750 -mpowerpc-gfxopt"
+            add_cflags -mcpu=750 -mpowerpc-gfxopt
             warn_altivec enabled PPC75x
         ;;
         G4|g4|745*|ppc745*|PowerPC745*)
-            add_cflags "-mcpu=7450 -mpowerpc-gfxopt"
+            add_cflags -mcpu=7450 -mpowerpc-gfxopt
             warn_altivec disabled PPC745x
         ;;
         74*|ppc74*|PowerPC74*)
-            add_cflags "-mcpu=7400 -mpowerpc-gfxopt"
+            add_cflags -mcpu=7400 -mpowerpc-gfxopt
             warn_altivec disabled PPC74xx
         ;;
         G5|g5|970|ppc970|PowerPC970|power4*|Power4*)
-            add_cflags "-mcpu=970 -mpowerpc-gfxopt -mpowerpc64"
+            add_cflags -mcpu=970 -mpowerpc-gfxopt -mpowerpc64
             warn_altivec disabled PPC970
             enable ppc64
         ;;
         Cell|CELL|cell)
-            add_cflags "-mcpu=cell"
+            add_cflags -mcpu=cell
             warn_altivec disabled Cell
             enable ppc64
         ;;
         # targets that do NOT support conditional mov (cmov)
         i[345]86|pentium|pentium-mmx|k6|k6-[23]|winchip-c6|winchip2|c3)
-            add_cflags "-march=$cpu"
+            add_cflags -march=$cpu
             disable cmov
         ;;
         # targets that do support conditional mov (cmov)
         i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64|k8|opteron|athlon-fx|core2)
-            add_cflags "-march=$cpu"
+            add_cflags -march=$cpu
             enable cmov
             enable fast_cmov
         ;;
         # targets that do support conditional mov but on which it's slow
         pentium4|pentium4m|prescott|nocona)
-            add_cflags "-march=$cpu"
+            add_cflags -march=$cpu
             enable cmov
             disable fast_cmov
         ;;
         sparc64)
-            add_cflags "-mcpu=v9"
+            add_cflags -mcpu=v9
         ;;
         arm11*|cortex*)
-            add_cflags "-mcpu=$cpu"
+            add_cflags -mcpu=$cpu
             enable fast_unaligned
         ;;
         armv*)
-            add_cflags "-march=$cpu"
+            add_cflags -march=$cpu
         ;;
         arm*)
-            add_cflags "-mcpu=$cpu"
+            add_cflags -mcpu=$cpu
         ;;
         *)
             echo "WARNING: Unknown CPU \"$cpu\", ignored."
@@ -1738,7 +1750,7 @@ EOF
 
     check_asm bswap '"bswap %%eax" ::: "%eax"'
 
-    YASMFLAGS="-f $objformat -DARCH_$(toupper $arch)"
+    YASMFLAGS="-f $objformat -DARCH_$(toupper $subarch)"
     enabled     x86_64        && append YASMFLAGS "-m amd64"
     enabled_all x86_64 shared && append YASMFLAGS "-DPIC"
     case "$objformat" in
@@ -1751,9 +1763,7 @@ fi
 
 # check for assembler specific support
 
-if test $arch = "ppc"; then
-    check_asm dcbzl '"dcbzl 0, 1"'
-fi
+enabled ppc && check_asm dcbzl '"dcbzl 0, 1"'
 
 # check for SIMD availability
 
@@ -1791,7 +1801,7 @@ enabled mmi     && check_asm mmi     '"lq $2, 0($2)"'
 enabled neon    && check_asm neon    '"vadd.i16 q0, q0, q0"'
 enabled vis     && check_asm vis     '"pdist %f0, %f0, %f0"' -mcpu=ultrasparc
 
-enabled vis && add_cflags "-mcpu=ultrasparc -mtune=ultrasparc"
+enabled vis && add_cflags -mcpu=ultrasparc -mtune=ultrasparc
 
 # ---
 # big/little-endian test
@@ -1815,6 +1825,8 @@ check_func  getrusage
 check_func  inet_aton $network_extralibs
 check_func  memalign
 check_func  mkstemp
+check_func  posix_memalign
+check_func_headers io.h setmode
 check_func_headers windows.h GetProcessTimes
 
 check_header conio.h
@@ -1825,10 +1837,12 @@ check_header sys/mman.h
 check_header sys/resource.h
 check_header sys/select.h
 check_header termios.h
+check_header vdpau/vdpau.h
+check_header vdpau/vdpau_x11.h
 check_header X11/extensions/XvMClib.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."
+if ! enabled_any memalign memalign_hack posix_memalign && enabled need_memalign ; then
+    die "Error, no aligned memory allocator but SSE enabled, disable it or use --enable-memalign-hack."
 fi
 
 disabled  zlib || check_lib   zlib.h      zlibVersion -lz   || disable  zlib
@@ -1863,7 +1877,7 @@ done
 check_lib math.h sin -lm
 
 # test for C99 functions in math.h
-for func in llrint lrint lrintf round roundf; do
+for func in llrint lrint lrintf round roundf truncf; do
     check_exec <<EOF && enable $func || disable $func
 #include <math.h>
 int main(void) { return ($func(3.999f) > 0)?0:1; }
@@ -2042,10 +2056,10 @@ if enabled small; then
     optimizations="small"
 elif enabled optimizations; then
     if $cc -v 2>&1 | grep -q xlc; then
-        add_cflags  "-O5"
-        add_ldflags "-O5"
+        add_cflags  -O5
+        add_ldflags -O5
     else
-        add_cflags "-O3"
+        add_cflags -O3
     fi
 fi
 check_cflags -fno-math-errno
@@ -2071,15 +2085,15 @@ fi
 if enabled shared; then
     # LIBOBJFLAGS may have already been set in the OS configuration
     if test -z "$LIBOBJFLAGS" ; then
-        case "$arch" in
+        case "${subarch-$arch}" in
             x86_64|ia64|alpha|sparc*|power*|parisc*|mips*) LIBOBJFLAGS='$(PIC)' ;;
         esac
     fi
 fi
 
 if enabled gprof; then
-    add_cflags  "-p"
-    add_ldflags "-p"
+    add_cflags  -p
+    add_ldflags -p
 fi
 
 VHOOKCFLAGS="-fPIC"
@@ -2125,15 +2139,16 @@ if test "$extra_version" != ""; then
     echo "version string suffix     $extra_version"
 fi
 echo "big-endian                ${bigendian-no}"
-if test $arch = "x86_32" -o $arch = "x86_64"; then
+if enabled x86; then
     echo "yasm                      ${yasm-no}"
     echo "MMX enabled               ${mmx-no}"
+    echo "SSE enabled               ${sse-no}"
     echo "CMOV enabled              ${cmov-no}"
     echo "CMOV is fast              ${fast_cmov-no}"
     echo "EBX available             ${ebx_available-no}"
     echo "EBP available             ${ebp_available-no}"
 fi
-if test $arch = "arm"; then
+if enabled arm; then
     echo "ARMv5TE enabled           ${armv5te-no}"
     echo "ARMv6 enabled             ${armv6-no}"
     echo "ARMv6T2 enabled           ${armv6t2-no}"
@@ -2141,10 +2156,10 @@ if test $arch = "arm"; then
     echo "IWMMXT enabled            ${iwmmxt-no}"
     echo "NEON enabled              ${neon-no}"
 fi
-if test $arch = "mips"; then
+if enabled mips; then
     echo "MMI enabled               ${mmi-no}"
 fi
-if test $arch = "ppc"; then
+if enabled ppc; then
     echo "AltiVec enabled           ${altivec-no}"
     echo "dcbzl available           ${dcbzl-no}"
 fi
@@ -2190,6 +2205,7 @@ echo "libtheora enabled         ${libtheora-no}"
 echo "libvorbis enabled         ${libvorbis-no}"
 echo "libx264 enabled           ${libx264-no}"
 echo "libxvid enabled           ${libxvid-no}"
+echo "vdpau enabled             ${vdpau-no}"
 echo "zlib enabled              ${zlib-no}"
 echo "bzlib enabled             ${bzlib-no}"
 echo
@@ -2309,6 +2325,8 @@ fi
 echo "LIB_INSTALL_EXTRA_CMD=${LIB_INSTALL_EXTRA_CMD}" >> config.mak
 echo "EXTRALIBS=$extralibs" >> config.mak
 
+echo "ARCH=$arch" >> config.mak
+
 print_config ARCH_   $TMPH config.mak $ARCH_LIST
 print_config HAVE_   $TMPH config.mak $HAVE_LIST
 print_config CONFIG_ $TMPH config.mak $CONFIG_LIST       \