]> git.sesse.net Git - ffmpeg/blobdiff - configure
Modify decode_band_structure() so that the actual band structure is only
[ffmpeg] / configure
index 3b3a6c01cb84e6972f55fc4561c595f163f6c6fc..69c0d015dd9c59907734c595b4936bd534d71af3 100755 (executable)
--- a/configure
+++ b/configure
@@ -925,6 +925,7 @@ HAVE_LIST="
     getrusage
     inet_aton
     inline_asm
+    isatty
     ldbrx
     libdc1394_1
     libdc1394_2
@@ -1049,6 +1050,7 @@ inline_asm_deps="!tms470"
 
 # decoders / encoders / hardware accelerators
 aac_decoder_select="fft mdct"
+aac_encoder_select="fft mdct"
 ac3_decoder_select="fft mdct"
 atrac3_decoder_select="fft mdct"
 cavs_decoder_select="golomb"
@@ -1058,6 +1060,7 @@ dca_decoder_select="fft mdct"
 dnxhd_encoder_select="aandct"
 dxa_decoder_select="zlib"
 eac3_decoder_select="ac3_decoder"
+eamad_decoder_select="aandct"
 eatgq_decoder_select="aandct"
 eatqi_decoder_select="aandct"
 ffv1_decoder_select="golomb"
@@ -1094,6 +1097,7 @@ mpeg2_vaapi_hwaccel_select="vaapi mpeg2video_decoder"
 mpeg4_vaapi_hwaccel_deps="va_va_h"
 mpeg4_vaapi_hwaccel_select="vaapi mpeg4_decoder"
 mpeg_xvmc_decoder_deps="X11_extensions_XvMClib_h"
+mpeg_xvmc_decoder_select="mpegvideo_decoder"
 msmpeg4v1_encoder_select="aandct"
 msmpeg4v2_encoder_select="aandct"
 msmpeg4v3_encoder_select="aandct"
@@ -1112,6 +1116,7 @@ sonic_encoder_select="golomb"
 sonic_ls_encoder_select="golomb"
 svq3_decoder_select="golomb"
 svq3_decoder_suggest="zlib"
+theora_decoder_select="vp3_decoder"
 tiff_decoder_suggest="zlib"
 tiff_encoder_suggest="zlib"
 tscc_decoder_select="zlib"
@@ -1212,6 +1217,7 @@ x11_grab_device_indev_extralibs="-lX11 -lXext"
 # protocols
 gopher_protocol_deps="network"
 http_protocol_deps="network"
+rtmp_protocol_deps="tcp_protocol"
 rtp_protocol_deps="udp_protocol"
 tcp_protocol_deps="network"
 udp_protocol_deps="network"
@@ -1295,7 +1301,7 @@ target_path='.'
 
 # gcc stupidly only outputs the basename of targets with -MM, but we need the
 # full relative path for objects in subdirectories for non-recursive Make.
-DEPEND_CMD='$(DEPCC) $(DEPFLAGS) $< | sed -e "/^\#.*/d" -e "s,^[[:space:]]*$(*F)\\.o,$(@D)/$(*F).o,"'
+DEPEND_CMD='$(DEPCC) $(DEPFLAGS) $< | sed -e "/^\#.*/d" -e "s,^[[:space:]]*$(*F)\\.o,$(@D)/$(*F).o," > $@'
 DEPFLAGS='$(CPPFLAGS) $(CFLAGS) -MM'
 
 # find source path
@@ -1683,6 +1689,7 @@ case "$arch" in
         arch="alpha"
         enable fast_64bit
         check_cflags -mieee
+        pic=$shared
     ;;
     arm|armv[4567]*l)
         arch="arm"
@@ -1695,24 +1702,29 @@ case "$arch" in
     ia64)
         arch="ia64"
         enable fast_64bit
+        pic=$shared
     ;;
     m68k)
         arch="m68k"
     ;;
     mips|mipsel|IP*)
         arch="mips"
+        pic=$shared
     ;;
     mips64)
         arch="mips"
         subarch="mips64"
         enable fast_64bit
+        pic=$shared
     ;;
     parisc|hppa)
         arch="parisc"
+        pic=$shared
     ;;
     parisc64|hppa64)
         arch="parisc"
         enable fast_64bit
+        pic=$shared
     ;;
     "Power Macintosh"|ppc|powerpc)
         arch="ppc"
@@ -1732,11 +1744,13 @@ case "$arch" in
     ;;
     sparc)
         arch="sparc"
+        pic=$shared
     ;;
     sun4u|sparc64)
         arch="sparc"
         subarch="sparc64"
         enable fast_64bit
+        pic=$shared
     ;;
     i386|i486|i586|i686|i86pc|BePC)
         arch="x86"
@@ -1749,7 +1763,7 @@ case "$arch" in
         enable cmov
         enable fast_cmov
         enable fast_unaligned
-        check_cc <<EOF && enable fast_64bit && subarch="x86_64"
+        check_cc <<EOF && enable fast_64bit && subarch="x86_64" && pic=$shared
         int test[sizeof(char*) - 7];
 EOF
     ;;
@@ -1801,7 +1815,7 @@ case $target_os in
         ;;
     openbsd)
         enable malloc_aligned
-        LIBOBJFLAGS='$(PIC)'
+        enable pic
         SHFLAGS='-shared'
         oss_indev_extralibs="-lossaudio"
         oss_outdev_extralibs="-lossaudio"
@@ -1824,9 +1838,14 @@ case $target_os in
         FFSERVERLDFLAGS=-Wl,-bind_at_load
         objformat="macho"
         enabled x86_64 && objformat="macho64"
+        enabled shared || check_cflags -mdynamic-no-pic
         ;;
     mingw32*)
-        target_os=mingw32
+        if test $target_os = "mingw32ce"; then
+            disable network
+        else
+            target_os=mingw32
+        fi
         LIBTARGET=i386
         if enabled x86_64; then
             enable malloc_aligned
@@ -1972,18 +1991,6 @@ enabled version3 && { enabled gpl && enable gplv3 || enable lgplv3; }
 
 check_deps $ARCH_EXT_LIST
 
-#Darwin CC versions
-if test $target_os = darwin; then
-    if enabled xlc; then
-        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
-        enabled shared || check_cflags -mdynamic-no-pic
-    fi
-fi
-
 disabled optimizations || check_cflags -fomit-frame-pointer
 
 check_cc <<EOF || die "Symbol mangling check failed."
@@ -1996,7 +2003,24 @@ check_cc <<EOF && enable inline_asm
 void foo(void) { __asm__ volatile ("" ::); }
 EOF
 
+_restrict=
+for restrict_keyword in restrict __restrict__ __restrict; do
+    check_cc <<EOF && _restrict=$restrict_keyword && break
+void foo(char * $restrict_keyword p);
+EOF
+done
+
+check_cc <<EOF && enable attribute_packed
+struct { int x; } __attribute__((packed)) x;
+EOF
+
+check_cc <<EOF || die "endian test failed"
+unsigned int endian = 'B' << 24 | 'I' << 16 | 'G' << 8 | 'E';
+EOF
+od -A n -t x1 $TMPO | grep -q '42 *49 *47 *45' && enable bigendian
+
 if enabled arm; then
+
     check_ld <<EOF && enable vfp_args
 __asm__ (".eabi_attribute 28, 1");
 int main(void) { return 0; }
@@ -2011,10 +2035,14 @@ EOF
     enabled armvfp  && check_asm armvfp  '"fadds s0, s0, s0"'
     enabled iwmmxt  && check_asm iwmmxt  '"wunpckelub wr6, wr4"'
     enabled neon    && check_asm neon    '"vadd.i16 q0, q0, q0"'
+
 elif enabled mips; then
+
     check_asm loongson '"dmult.g $1, $2, $3"'
     enabled mmi     && check_asm mmi     '"lq $2, 0($2)"'
+
 elif enabled ppc; then
+
     check_asm dcbzl     '"dcbzl 0, 1"'
     check_asm ppc4xx    '"maclhw r10, r11, r12"'
     check_asm xform_asm '"lwzx 0, %y0" :: "Z"(*(int*)0)'
@@ -2041,10 +2069,14 @@ $inc_altivec_h
 int main (void) { (vector int) {1}; return 0; }
 EOF
     fi
+
 elif enabled sparc; then
+
     enabled vis && check_asm vis '"pdist %f0, %f0, %f0"' -mcpu=ultrasparc &&
         add_cflags -mcpu=ultrasparc -mtune=ultrasparc
+
 elif enabled x86; then
+
     # check whether EBP is available on x86
     # As 'i' is stored on the stack, this program will crash
     # if the base pointer is used to access it because the
@@ -2087,12 +2119,8 @@ EOF
         *)                    append YASMFLAGS "-DPREFIX"  ;;
     esac
     disabled yasm || { check_yasm "pabsw xmm0, xmm0" && enable yasm; }
-fi
 
-check_cc <<EOF || die "endian test failed"
-unsigned int endian = 'B' << 24 | 'I' << 16 | 'G' << 8 | 'E';
-EOF
-od -A n -t x1 $TMPO | grep -q '42 *49 *47 *45' && enable bigendian
+fi
 
 if check_func dlopen; then
     ldl=
@@ -2107,6 +2135,7 @@ check_func  fork
 check_func  gethrtime
 check_func  getrusage
 check_func  inet_aton $network_extralibs
+check_func  isatty
 check_func  memalign
 check_func  mkstemp
 check_func  posix_memalign
@@ -2205,18 +2234,6 @@ if enabled libdc1394; then
     die "ERROR: No version of libdc1394 found "
 fi
 
-
-_restrict=
-for restrict_keyword in restrict __restrict__ __restrict; do
-    check_cc <<EOF && _restrict=$restrict_keyword && break
-void foo(char * $restrict_keyword p);
-EOF
-done
-
-check_cc <<EOF && enable attribute_packed
-struct { int x; } __attribute__((packed)) x;
-EOF
-
 disable sdl_too_old
 disable sdl
 SDL_CONFIG="${cross_prefix}sdl-config"
@@ -2261,7 +2278,7 @@ if enabled network; then
     fi
 fi
 
-enabled network && enabled ipv6 && check_ld <<EOF && enable ipv6 || disable ipv6
+enabled_all network ipv6 && check_ld <<EOF || disable ipv6
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
@@ -2293,7 +2310,7 @@ check_header dev/ic/bt8xx.h
 check_header sys/soundcard.h
 check_header soundcard.h
 
-enabled alsa_indev || enabled alsa_outdev && check_lib2 alsa/asoundlib.h snd_pcm_htimestamp -lasound
+enabled_any alsa_indev alsa_outdev && check_lib2 alsa/asoundlib.h snd_pcm_htimestamp -lasound
 
 enabled jack_indev && check_lib2 jack/jack.h jack_client_open -ljack
 
@@ -2368,15 +2385,7 @@ elif enabled gcc; then
     check_cflags -fno-tree-vectorize
 fi
 
-# PIC flags for shared library objects where they are needed
-if enabled shared; then
-    # LIBOBJFLAGS may have already been set in the OS configuration
-    if test -z "$LIBOBJFLAGS" ; then
-        case "${subarch-$arch}" in
-            x86_64|ia64|alpha|sparc*|power*|parisc*|mips*) LIBOBJFLAGS='$(PIC)' ;;
-        esac
-    fi
-fi
+enabled pic && LIBOBJFLAGS='$(PIC)'
 
 if enabled gprof; then
     add_cflags  -p
@@ -2568,7 +2577,7 @@ echo "FFSERVERLDFLAGS=$FFSERVERLDFLAGS" >> config.mak
 echo "SHFLAGS=$SHFLAGS" >> config.mak
 echo "YASMFLAGS=$YASMFLAGS" >> config.mak
 echo "LIBOBJFLAGS=$LIBOBJFLAGS" >> config.mak
-echo "BUILD_STATIC=$static" >> config.mak
+echo "PIC=-fPIC -DPIC" >> config.mak
 echo "BUILDSUF=$build_suffix" >> config.mak
 echo "FULLNAME=$FULLNAME" >> config.mak
 echo "LIBPREF=$LIBPREF" >> config.mak
@@ -2588,11 +2597,6 @@ echo "HOSTLIBS=$host_libs" >> config.mak
 echo "TARGET_EXEC=$target_exec" >> config.mak
 echo "TARGET_PATH=$target_path" >> config.mak
 
-if enabled bigendian; then
-    echo "WORDS_BIGENDIAN=yes" >> config.mak
-    echo "#define WORDS_BIGENDIAN 1" >> $TMPH
-fi
-
 if enabled sdl; then
     echo "SDL_LIBS=$("${SDL_CONFIG}" --libs)" >> config.mak
     echo "SDL_CFLAGS=$("${SDL_CONFIG}" --cflags)" >> config.mak
@@ -2620,8 +2624,6 @@ get_version LIBAVUTIL   libavutil/avutil.h
 get_version LIBAVFILTER libavfilter/avfilter.h
 
 if enabled shared; then
-    echo "BUILD_SHARED=yes" >> config.mak
-    echo "PIC=-fPIC -DPIC" >> config.mak
     echo "LIBTARGET=${LIBTARGET}" >> config.mak
     echo "SLIBNAME=${SLIBNAME}" >> config.mak
     echo "SLIBNAME_WITH_VERSION=${SLIBNAME_WITH_VERSION}" >> config.mak
@@ -2654,7 +2656,7 @@ print_config CONFIG_ $TMPH config.mak $CONFIG_LIST       \
 
 echo "#define restrict $_restrict" >> $TMPH
 
-if enabled small; then
+if enabled small || disabled optimizations; then
     echo "#define av_always_inline"  >> $TMPH
 fi