]> git.sesse.net Git - ffmpeg/blobdiff - configure
cosmetics: remove my email address
[ffmpeg] / configure
index e3610e55c185df41afdf56e68d1e41bc12e213aa..54efb2c1acdf3f88f1456687e5d8f87ccee38d5c 100755 (executable)
--- a/configure
+++ b/configure
@@ -62,7 +62,6 @@ show_help(){
   echo "  --shlibdir=DIR           install shared libs in DIR [PREFIX/lib]"
   echo "  --incdir=DIR             install includes in DIR [PREFIX/include/ffmpeg]"
   echo "  --mandir=DIR             install man page in DIR [PREFIX/man]"
-  echo "  --enable-mingwce         enable MinGW native/cross WinCE compile"
   echo "  --enable-static          build static libraries [default=yes]"
   echo "  --disable-static         do not build static libraries [default=no]"
   echo "  --enable-shared          build shared libraries [default=no]"
@@ -102,7 +101,6 @@ show_help(){
   echo "  --enable-amr-nb          enable amr-nb floating point audio codec"
   echo "  --enable-amr-nb-fixed    enable amr-nb fixed-point codec"
   echo "  --enable-amr-wb          enable amr-wb floating point audio codec"
-  echo "  --enable-amr-if2         enable amr-wb IF2 audio codec"
   echo ""
   echo "Advanced options (experts only):"
   echo "  --source-path=PATH       path to source code [$source_path]"
@@ -486,6 +484,32 @@ check_exec(){
     check_ld "$@" && { enabled cross_compile || $TMPE >>$logfile 2>&1; }
 }
 
+check_exec_crash(){
+    code=`cat`
+
+    # exit() is not async signal safe.  _Exit (C99) and _exit (POSIX)
+    # are safe but may not be available everywhere.  Thus we use
+    # raise(SIGTERM) instead.  The check is run in a subshell so we
+    # can redirect the "Terminated" message from the shell.  SIGBUS
+    # is not defined by standard C so it is used conditionally.
+
+    (check_exec "$@") >>$logfile 2>&1 <<EOF
+#include <signal.h>
+static void sighandler(int sig){
+    raise(SIGTERM);
+}
+int main(){
+    signal(SIGILL, sighandler);
+    signal(SIGFPE, sighandler);
+    signal(SIGSEGV, sighandler);
+#ifdef SIGBUS
+    signal(SIGBUS, sighandler);
+#endif
+    { $code }
+}
+EOF
+}
+
 require(){
     name="$1"
     header="$2"
@@ -572,7 +596,6 @@ CONFIG_LIST='
     vhook
     v4l
     v4l2
-    wince
     x11grab
     x264
     xvid
@@ -640,7 +663,6 @@ CMDLINE_SELECT="
     $CONFIG_LIST
     $TARGET_LIST
     $THREADS_LIST
-    amr_if2
     debug
     extra_warnings
     shared
@@ -676,6 +698,7 @@ mp3lame_encoder_deps="libmp3lame"
 oggvorbis_decoder_deps="libvorbis"
 oggvorbis_encoder_deps="libvorbis"
 
+ac3_demuxer_deps="ac3_parser"
 audio_demuxer_deps_any="audio_oss audio_beos"
 audio_muxer_deps_any="audio_oss audio_beos"
 dc1394_demuxer_deps="dc1394"
@@ -689,7 +712,8 @@ rtp_muxer_deps="network"
 rtsp_demuxer_deps="network"
 sdp_demuxer_deps="network"
 v4l2_demuxer_deps="v4l2"
-video_grab_device_demuxer_deps_any="v4l bktr"
+video_grab_bktr_demuxer_deps="bktr"
+video_grab_v4l_demuxer_deps="v4l"
 x11_grab_device_demuxer_deps="x11grab"
 
 ffplay_deps="sdl"
@@ -750,10 +774,9 @@ mmi="default"
 bigendian="no"
 
 # OS
-targetos=`uname -s`
+targetos=$(tolower $(uname -s))
 beos_netserver="no"
 os2="no"
-wince="no"
 
 # non-library system interfaces
 audio_beos="default"
@@ -764,7 +787,6 @@ v4l2="yes"
 v4l="yes"
 
 # libraries
-amr_if2="no"
 amr_nb="no"
 amr_nb_fixed="no"
 amr_wb="no"
@@ -912,8 +934,6 @@ for opt do
   ;;
   --cpu=*) cpu="$optval"
   ;;
-  --enable-mingwce) wince="yes"
-  ;;
   --disable-opts) optimize="no"
   ;;
   --enable-small) optimize="small"
@@ -1021,7 +1041,7 @@ esac
 
 # OS specific
 osextralibs="-lm"
-case `tolower $targetos` in
+case $targetos in
   beos|haiku|zeta)
     PREFIX="$HOME/config"
     # helps building libavcodec
@@ -1114,9 +1134,6 @@ EOF
     dv1394="no"
     ffserver="no"
     network="no"
-    if enabled wince; then
-        protocols="no"
-    fi
     SLIBPREF=""
     SLIBSUF=".dll"
     EXESUF=".exe"
@@ -1128,7 +1145,7 @@ EOF
     add_extralibs -lws2_32
     ;;
   cygwin*)
-    targetos=CYGWIN
+    targetos=cygwin
     shlibdir="$bindir"
     dv1394="no"
     VHOOKSHFLAGS='-shared -L$(BUILD_ROOT)/libavformat -L$(BUILD_ROOT)/libavcodec -L$(BUILD_ROOT)/libswscale -L$(BUILD_ROOT)/libavutil'
@@ -1145,7 +1162,7 @@ EOF
     LDLATEFLAGS="-Wl,--as-needed $LDLATEFLAGS"
     ;;
   irix*)
-    targetos=IRIX
+    targetos=irix
     ranlib="echo ignoring ranlib"
     ;;
   os/2)
@@ -1193,10 +1210,6 @@ ar="${cross_prefix}${ar}"
 ranlib="${cross_prefix}${ranlib}"
 strip="${cross_prefix}${strip}"
 
-# Disable core dumps so that intentional execution of broken apps doesn't
-# pollute the current directory.
-ulimit -c 0
-
 # we need to build at least one lib type
 if disabled_all static shared; then
     cat <<EOF
@@ -1258,28 +1271,14 @@ test -z "$need_memalign" && need_memalign="$mmx"
 
 #Darwin CC versions
 needmdynamicnopic="no"
-if test $targetos = Darwin; then
+if test $targetos = darwin; then
     if test -n "`$cc -v 2>&1 | grep xlc`"; then
         add_cflags "-qpdf2 -qlanglvl=extc99 -qmaxmem=-1 -qarch=auto -qtune=auto"
     else
-        gcc_version="`$cc -v 2>&1 | grep version | cut -d ' ' -f3-`"
-        case "$gcc_version" in
-            *2.95*)
-                add_cflags "-no-cpp-precomp -pipe"
-                ;;
-            *[34].*)
-                add_cflags "-no-cpp-precomp -pipe -force_cpusubtype_ALL -Wno-sign-compare"
-                if disabled shared; then
-                   needmdynamicnopic="yes"
-                fi
-                ;;
-            *)
-                add_cflags "-no-cpp-precomp -pipe"
-                if disabled shared; then
-                   needmdynamicnopic="yes"
-                fi
-                ;;
-        esac
+        add_cflags "-no-cpp-precomp -pipe"
+        check_cflags "-force_cpusubtype_ALL"
+        check_cflags "-Wno-sign-compare"
+        disabled shared && needmdynamicnopic="yes"
     fi
 fi
 
@@ -1399,26 +1398,16 @@ if test "$?" != 0; then
 fi
 
 if test $arch = "x86_32" -o $arch = "x86_64"; then
-    if test "$targetos" = "mingw32" -o "$targetos" = "CYGWIN"; then
-        cat <<EOF
-WARNING: The following test might cause a testapp to crash (intentionally)
-resulting in the appearance of a dialog box. Please click "Don't send" and
-ignore it.
-EOF
-    fi
-
     # 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
     # base pointer is cleared in the inline assembly code.
-    check_exec <<EOF && enable ebp_available
-int main(){
+    check_exec_crash <<EOF && enable ebp_available
     volatile int i=0;
     asm volatile (
         "xorl %%ebp, %%ebp"
     ::: "%ebp");
     return i;
-}
 EOF
 
     # check wether EBX is available on x86
@@ -1586,11 +1575,13 @@ for thread in $THREADS_LIST; do
     fi
 done
 
-enabled_any amr_nb amr_nb_fixed amr_wb amr_if2 && enable amr
+enabled_any amr_nb amr_nb_fixed amr_wb && enable amr
 enabled_all amr_nb amr_nb_fixed &&
     die "Only one of amr_nb and amr_nb_fixed may be enabled."
 
 # these are off by default, so fail if requested and not available
+enabled amr_nb     && require libamrnb amrnb/interf_dec.h Speech_Decode_Frame_init -lamrnb -lm
+enabled amr_wb     && require libamrwb amrwb/dec_if.h D_IF_init -lamrwb -lm
 enabled liba52     && require liba52 a52dec/a52.h a52_init -la52
 enabled libdts     && require libdts dts.h dts_init -ldts -lm
 enabled libgsm     && require libgsm gsm.h gsm_create -lgsm
@@ -1635,7 +1626,7 @@ test "$vhook" = "default" && vhook="$dlopen"
 
 enabled_any vhook liba52bin libfaadbin ffserver && add_extralibs $ldl
 
-if test "$targetos" = "CYGWIN" && enabled static ; then
+if test "$targetos" = cygwin && enabled static ; then
     vhook="no"
     echo
     echo "At the moment vhooks don't work on Cygwin static builds."
@@ -1867,7 +1858,6 @@ echo "zlib enabled              $zlib"
 echo "AMR-NB float support      $amr_nb"
 echo "AMR-NB fixed support      $amr_nb_fixed"
 echo "AMR-WB float support      $amr_wb"
-echo "AMR-WB IF2 support        $amr_if2"
 if disabled gpl; then
     echo "License: LGPL"
 else
@@ -1990,7 +1980,7 @@ print_config HAVE_   $TMPH config.mak $HAVE_LIST
 print_config CONFIG_ $TMPH config.mak $CONFIG_LIST
 print_config TARGET_ $TMPH config.mak $TARGET_LIST
 
-if test "$targetos" = "Darwin"; then
+if test "$targetos" = darwin; then
   echo "#define CONFIG_DARWIN 1"  >> $TMPH
 fi
 
@@ -2005,10 +1995,6 @@ echo "SRC_PATH=\"$source_path\"" >> config.mak
 echo "SRC_PATH_BARE=$source_path" >> config.mak
 echo "BUILD_ROOT=\"$PWD\"" >> config.mak
 
-if enabled amr_if2; then
-  echo "AMR_CFLAGS=-DIF2=1" >> config.mak
-fi
-
 # Apparently it's not possible to portably echo a backslash.
 if enabled asmalign_pot; then
   printf '#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\\n\\t"\n' >> $TMPH
@@ -2017,11 +2003,11 @@ else
 fi
 
 
-for codec in $DECODER_LIST $ENCODER_LIST $PARSER_LIST $DEMUXER_LIST $MUXER_LIST; do
-    ucname="`toupper $codec`"
+for part in $DECODER_LIST $ENCODER_LIST $PARSER_LIST $DEMUXER_LIST $MUXER_LIST; do
+    ucname="`toupper $part`"
     config_name="CONFIG_$ucname"
     enabled_name="ENABLE_$ucname"
-    if enabled $codec; then
+    if enabled $part; then
         echo "#define $config_name 1" >> $TMPH
         echo "#define $enabled_name 1" >> $TMPH
         echo "$config_name=yes" >> config.mak
@@ -2053,8 +2039,6 @@ if enabled source_path_used; then
          libavcodec/mlib \
          libavcodec/ppc \
          libavcodec/amr \
-         libavcodec/amr_float \
-         libavcodec/amrwb_float \
          libpostproc \
          libavutil \
          libswscale \