X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure;h=7cfa5051e509b65bb13df1a2612ab55c38164895;hb=07140e398c9403187731eeae5fee0cb2e1fc70dd;hp=0972a9e6371c6fb37e372cbb607f8d3bed88a1b4;hpb=747a0554ea8ad09404c1f5b80239ebd8d71b291e;p=ffmpeg diff --git a/configure b/configure index 0972a9e6371..7cfa5051e50 100755 --- a/configure +++ b/configure @@ -19,9 +19,11 @@ echo " --enable-vorbis enable vorbis support via libvorbisenc [default echo " --enable-faad enable faad support via libfaad [default=no]" echo " --enable-faadbin build faad support with runtime linking [default=no]" echo " --enable-faac enable faac support via libfaac [default=no]" +echo " --enable-xvid enable xvid support via xvidcore [default=no]" echo " --enable-mingw32 enable mingw32 native/cross windows compile" echo " --enable-a52 enable GPL'ed A52 support [default=no]" echo " --enable-a52bin open liba52.so.0 at runtime [default=no]" +echo " --enable-dts enable GPL'ed DTS support [default=no]" echo " --enable-pp enable GPL'ed post processing support [default=no]" echo " --enable-shared-pp use libpostproc.so [default=no]" echo " --enable-shared build shared libraries [default=no]" @@ -29,6 +31,8 @@ echo " --enable-amr_nb enable amr_nb float audio codec" echo " --enable-amr_nb-fixed use fixed point for amr-nb codec" echo " --enable-amr_wb enable amr_wb float audio codec" echo " --enable-sunmlib use Sun medialib [default=no]" +echo " --enable-pthreads use pthreads [default=no]" +echo " --enable-gpl allow use of gpl code, the resulting libav* and ffmpeg will be under gpl [default=no]" echo "" echo "Advanced options (experts only):" echo " --source-path=PATH path of source code [$source_path]" @@ -60,6 +64,7 @@ echo " --disable-ffserver disable ffserver build" echo " --disable-ffplay disable ffplay build" echo " --disable-risky disables patent encumbered codecs" echo " --enable-small optimize for size instead of speed" +echo " --enable-memalign-hack emulate memalign, interferes with memory debuggers" echo "" echo "NOTE: The object files are build at the place where configure is launched" exit 1 @@ -113,9 +118,12 @@ case "$cpu" in mips) cpu="mips" ;; - sun4u) + sun4u|sparc64) cpu="sparc64" ;; + sparc) + cpu="sparc" + ;; sh4) cpu="sh4" ;; @@ -135,8 +143,10 @@ vorbis="no" faad="no" faadbin="no" faac="no" +xvid="no" a52="no" a52bin="no" +dts="no" pp="no" shared_pp="no" mingw32="no" @@ -171,6 +181,9 @@ amr_nb="no" amr_wb="no" amr_nb_fixed="no" sunmlib="no" +pthreads="no" +gpl="no" +memalignhack="no" # OS specific targetos=`uname -s` @@ -220,7 +233,8 @@ v4l="no" audio_oss="yes" dv1394="no" make="gmake" -LDFLAGS="$LDFLAGS -export-dynamic" +CFLAGS="-pthread" +LDFLAGS="$LDFLAGS -export-dynamic -pthread" ;; BSD/OS) v4l="no" @@ -256,7 +270,7 @@ cygwin="yes" test -f /usr/include/inttypes.h || \ test -f /usr/local/include/inttypes.h || \ echo "Missing inttypes.h, please copy cygwin_inttypes.h to" \ - "/usr/include/inttypes.h !!!" + "/usr/local/include/inttypes.h !!!" ;; Linux) LDFLAGS="$LDFLAGS -rdynamic" @@ -363,7 +377,7 @@ for opt do ;; --disable-dv1394) dv1394="no" ;; - --disable-network) network="no" + --disable-network) network="no"; ffserver="no" ;; --disable-zlib) zlib="no" ;; @@ -371,6 +385,8 @@ for opt do ;; --enable-a52bin) a52bin="yes" ; extralibs="$ldl $extralibs" ;; + --enable-dts) dts="yes" ; extralibs="$extralibs -ldts" + ;; --enable-pp) pp="yes" ;; --enable-shared-pp) shared_pp="yes" @@ -385,6 +401,8 @@ for opt do ;; --enable-faac) faac="yes" ;; + --enable-xvid) xvid="yes" + ;; --disable-vhook) vhook="no" ;; --disable-simple_idct) simpleidct="no" @@ -415,9 +433,67 @@ for opt do ;; --enable-sunmlib) sunmlib="yes" ;; + --enable-pthreads) pthreads="yes" + ;; + --enable-gpl) gpl="yes" + ;; + --enable-memalign-hack) memalignhack="yes" + ;; esac done +if test "$gpl" != "yes"; then + if test "$pp" != "no" -o "$shared_pp" != "no"; then + echo "The Postprocessing code is under GPL and --enable-gpl is not specified" + fail="yes" + fi + + if test "$a52" != "no" -o "$a52bin" != "no"; then + echo "liba52 is under GPL and --enable-gpl is not specified" + fail="yes" + fi + + if test "$xvid" != "no"; then + echo "libxvidcore is under GPL and --enable-gpl is not specified" + fail="yes" + fi + + if test "$dts" != "no"; then + echo "libdts is under GPL and --enable-gpl is not specified" + fail="yes" + fi + + if test "$faad" != "no" -o "$faadbin" != "no"; then + cat > $TMPC << EOF + #include + int main( void ) { return 0; } +EOF + + if $cc $CFLAGS -o $TMPE $TMPC 2> /dev/null ; then + cat > $TMPC << EOF + #include + #ifndef FAAD2_VERSION + ok faad1 + #endif + int main( void ) { return 0; } +EOF + if $cc $CFLAGS -o $TMPE $TMPC 2> /dev/null ; then + echo "faad2 is under GPL and --enable-gpl is not specified" + fail="yes" + fi + else + faad="no" + faadbin="no" + echo "faad test failed" + fi + fi + + + if test "$fail" = "yes"; then + exit 1 + fi +fi + # compute mmx state if test $mmx = "default"; then if test $cpu = "x86"; then @@ -465,6 +541,7 @@ fi # Add processor-specific flags TUNECPU="generic" +POWERPCMODE="32bits" if test $tune != "generic"; then case $tune in 601|ppc601|PowerPC601) @@ -510,11 +587,12 @@ if test $tune != "generic"; then TUNECPU=ppc7400 ;; G5|g5|970|ppc970|PowerPC970|power4*|Power4*) - CFLAGS="$CFLAGS -mcpu=970 -mtune=970 -mpowerpc64 -force_cpusubtype_ALL " + CFLAGS="$CFLAGS -mcpu=970 -mtune=970 -mpowerpc-gfxopt -mpowerpc64" if test $altivec = "no"; then echo "WARNING: tuning for PPC970 but altivec disabled !"; fi TUNECPU=ppc970 + POWERPCMODE="64bits" ;; *) echo "WARNING: unknown CPU "$tune", ignored" @@ -703,7 +781,7 @@ if (zlibVersion() != ZLIB_VERSION) return 0; } EOF -$cc -o $TMPE $TMPC -lz 2> /dev/null || zlib="no" +$cc $CFLAGS -o $TMPE $TMPC -lz 2> /dev/null || zlib="no" # $TMPE 2> /dev/null > /dev/null || zlib="no" # XXX: more tests needed - runtime test fi @@ -721,7 +799,11 @@ EOF have_lrintf="no" if $cc $extralibs -o $TMPE $TMPC 2> /dev/null ; then have_lrintf="yes" - $TMPE 2> /dev/null > /dev/null || have_lrintf="no" + # allanc@chickenandporn.com: cannot execute cross-compiled + # code on the host. Only execute if not cross-compiling. + if test -z "$cross_prefix" ; then + $TMPE 2> /dev/null > /dev/null || have_lrintf="no" + fi fi _restrict= @@ -797,7 +879,7 @@ int main( void ) { return (int) imlib_load_font("foo"); } EOF imlib2=no -if $cc -o $TMPE $TMPC -lImlib2 > /dev/null 2>&1 ; then +if $cc -o $TMPE $TMPC -lImlib2 -lm > /dev/null 2>&1 ; then imlib2=yes fi @@ -811,7 +893,7 @@ EOF freetype2=no if test "x$targetos" != "xBeOS" && test "$os2" != "yes"; then - if test "`which freetype-config`" != ""; then + if (freetype-config --version) >/dev/null 2>&1 ; then if $cc -o $TMPE $TMPC `freetype-config --cflags` `freetype-config --libs` > /dev/null 2>&1 ; then freetype2=yes fi @@ -829,6 +911,7 @@ EOF sdl_too_old=no sdl=no +if (sdl-config --version) >/dev/null 2>&1 ; then if $cc -o $TMPE `sdl-config --cflags` $TMPC `sdl-config --libs` > /dev/null 2>&1 ; then _sdlversion=`sdl-config --version | sed 's/[^0-9]//g'` if test "$_sdlversion" -lt 121 ; then @@ -837,6 +920,15 @@ else sdl=yes fi fi +fi + +########################################## +# texi2html probe + +texi2html=no +if (texi2html -version) >/dev/null 2>&1; then +texi2html=yes +fi case "`$cc -v 2>&1 | grep version`" in *gcc*) @@ -851,7 +943,7 @@ if test "$sdl" = "no" ; then fi if test "$debug" = "yes"; then - CFLAGS="$CFLAGS -g" + CFLAGS="-g $CFLAGS" fi if test "$optimize" = "small"; then @@ -864,7 +956,7 @@ if test "$optimize" = "yes"; then CFLAGS="$CFLAGS -O5" LDFLAGS="$LDFLAGS -O5" else - CFLAGS="$CFLAGS -O3" + CFLAGS="-O3 $CFLAGS" fi fi @@ -901,8 +993,10 @@ echo "vorbis enabled $vorbis" echo "faad enabled $faad" echo "faadbin enabled $faadbin" echo "faac enabled $faac" +echo "xvid enabled $xvid" echo "a52 support $a52" echo "a52 dlopened $a52bin" +echo "dts support $dts" echo "pp support $pp" echo "debug symbols $debug" echo "optimize $optimize" @@ -919,9 +1013,15 @@ echo "Imlib2 support $imlib2" echo "freetype support $freetype2" fi echo "Sun medialib support" $sunmlib +echo "pthreads support" $pthreads echo "AMR-NB float support" $amr_nb echo "AMR-NB fixed support" $amr_nb_fixed echo "AMR-WB float support" $amr_wb +if test "$gpl" = "no" ; then +echo "License: LGPL" +else +echo "License: GPL" +fi echo "Creating config.mak and config.h" @@ -967,9 +1067,19 @@ elif test "$cpu" = "alpha" ; then elif test "$cpu" = "sparc64" ; then echo "TARGET_ARCH_SPARC64=yes" >> config.mak echo "#define ARCH_SPARC64 1" >> $TMPH + echo "TARGET_ARCH_SPARC=yes" >> config.mak + echo "#define ARCH_SPARC 1" >> $TMPH +elif test "$cpu" = "sparc" ; then + echo "TARGET_ARCH_SPARC=yes" >> config.mak + echo "#define ARCH_SPARC 1" >> $TMPH elif test "$cpu" = "powerpc" ; then echo "TARGET_ARCH_POWERPC=yes" >> config.mak echo "#define ARCH_POWERPC 1" >> $TMPH + if test $POWERPCMODE = "32bits"; then + echo "#define POWERPC_MODE_32BITS 1" >> $TMPH + else + echo "#define POWERPC_MODE_64BITS 1" >> $TMPH + fi if test "$powerpc_perf" = "yes"; then echo "#define POWERPC_PERFORMANCE_REPORT 1" >> $TMPH fi @@ -1033,11 +1143,21 @@ if test "$sunmlib" = "yes" ; then echo "#define HAVE_MLIB 1" >> $TMPH extralibs="$extralibs -lmlib" fi +if test "$pthreads" = "yes" ; then + echo "HAVE_PTHREADS=yes" >> config.mak + echo "#define HAVE_PTHREADS 1" >> $TMPH + if test $targetos != FreeBSD; then + extralibs="$extralibs -lpthread" + fi +fi if test "$sdl" = "yes" ; then echo "CONFIG_SDL=yes" >> config.mak echo "SDL_LIBS=`sdl-config --libs`" >> config.mak echo "SDL_CFLAGS=`sdl-config --cflags`" >> config.mak fi +if test "$texi2html" = "yes"; then + echo "BUILD_DOC=yes" >> config.mak +fi if test "$have_lrintf" = "yes" ; then echo "#define HAVE_LRINTF 1" >> $TMPH fi @@ -1073,6 +1193,12 @@ if test "$a52" = "yes" ; then fi fi +# DTS +if test "$dts" = "yes" ; then + echo "#define CONFIG_DTS 1" >> $TMPH + echo "CONFIG_DTS=yes" >> config.mak +fi + # PP if test "$pp" = "yes" ; then echo "#define CONFIG_PP 1" >> $TMPH @@ -1152,9 +1278,16 @@ if test "$faac" = "yes" ; then echo "CONFIG_FAAC=yes" >> config.mak fi +if test "$xvid" = "yes" ; then + echo "#define CONFIG_XVID 1" >> $TMPH + echo "CONFIG_XVID=yes" >> config.mak +fi + if test "$mingw32" = "yes" ; then echo "#define CONFIG_WIN32 1" >> $TMPH echo "CONFIG_WIN32=yes" >> config.mak + echo "HAVE_W32THREADS=yes" >> config.mak + echo "#define HAVE_W32THREADS 1" >> $TMPH echo "#ifndef __MINGW32__" >> $TMPH echo "#define __MINGW32__ 1" >> $TMPH echo "#endif" >> $TMPH @@ -1186,6 +1319,11 @@ else echo "#undef HAVE_MEMALIGN" >> $TMPH fi +if test "$memalignhack" = "yes" ; then + echo "#define MEMALIGN_HACK 1" >> $TMPH +fi + + if test "$netserver" = "yes" ; then echo "#define CONFIG_BEOS_NETSERVER 1" >> $TMPH echo "CONFIG_BEOS_NETSERVER=yes" >> config.mak @@ -1213,8 +1351,17 @@ if test "$risky" = "yes" ; then echo "CONFIG_RISKY=yes" >> config.mak fi +if test "$gpl" = "yes" ; then + echo "#define CONFIG_GPL 1" >> $TMPH + echo "CONFIG_GPL=yes" >> config.mak +fi + echo "#define restrict $_restrict" >> $TMPH +if test "$optimize" = "small"; then + echo "#define always_inline" >> $TMPH +fi + # build tree in object directory if source path is different from current one if test "$source_path_used" = "yes" ; then DIRS="libavformat libavcodec libavcodec/alpha libavcodec/armv4l libavcodec/i386 \