Newer
Older
logfile=/dev/null
fi
if test "$mingw32" = "yes" -o "$mingwce" = "yes"; then
if test "$lshared" = "yes" && test "$lstatic" = "yes" ; then
cat <<EOF
You can only build one library type at once on MinGW.
Specify --disable-static --enable-shared to only build
the shared libraries. To build only the static libraries
you do not need to pass additional options.
EOF
exit 1
fi
video4linux="no"
video4linux2="no"
bktr="no"
audio_oss="no"
dv1394="no"
dc1394="no"
ffserver="no"
network="no"
if test "$mingwce" = "yes"; then
protocols="no"
fi
SLIBPREF=""
SLIBSUF=".dll"
EXESUF=".exe"
SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME)-$(LIBVERSION)$(SLIBSUF)'
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(NAME)-$(LIBMAJOR)$(SLIBSUF)'
SLIB_EXTRA_CMD="-lib /machine:i386 /def:\$(@:${SLIBSUF}=.def)"
SHFLAGS="-shared -Wl,--output-def,\$(@:${SLIBSUF}=.def),--out-implib,lib\$(SLIBNAME:\$(SLIBSUF)=.dll.a)"
if test "$force_prefix" != yes; then PREFIX="$PROGRAMFILES/FFmpeg"; fi
if test "$force_libdir" != yes; then bindir='${PREFIX}'; fi
shlibdir='${PREFIX}'
fi
# Combine FFLDFLAGS and the LDFLAGS environment variable.
LDFLAGS="$FFLDFLAGS $LDFLAGS"
test -n "$cross_prefix" && cross_compile=yes
cc="${cross_prefix}${cc}"
ar="${cross_prefix}${ar}"
ranlib="${cross_prefix}${ranlib}"
strip="${cross_prefix}${strip}"
# we need to build at least one lib type
if test "$lstatic" = "no" && test "$lshared" = "no" ; then
cat <<EOF
At least one library type must be built.
Specify --enable-static to build the static libraries or --enable-shared to
build the shared libraries as well. To only build the shared libraries specify
--disable-static in addition to --enable-shared.
EOF
exit 1;
fi
if test "$libvorbis" = "yes" ; then
if test "$libogg" = "no"; then
Michael Niedermayer
committed
if test "$gpl" != "yes"; then
if test "$pp" != "no"; then
echo "The Postprocessing code is under GPL and --enable-gpl is not specified."
Michael Niedermayer
committed
fail="yes"
fi
if test "$a52" != "no" -o "$a52bin" != "no"; then
echo "liba52 is under GPL and --enable-gpl is not specified."
Michael Niedermayer
committed
fail="yes"
fi
if test "$xvid" != "no"; then
echo "libxvidcore is under GPL and --enable-gpl is not specified."
fail="yes"
fi
if test "$x264" != "no"; then
echo "x264 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
Michael Niedermayer
committed
if test "$faad" != "no" -o "$faadbin" != "no"; then
if check_header faad.h; then
check_cc << EOF
Michael Niedermayer
committed
#include <faad.h>
#ifndef FAAD2_VERSION
ok faad1
#endif
int main( void ) { return 0; }
EOF
echo "FAAD2 is under GPL and --enable-gpl is not specified."
Michael Niedermayer
committed
fail="yes"
fi
else
faad="no"
faadbin="no"
Michael Niedermayer
committed
fi
fi
if test "$swscaler" != "no"; then
echo "The software scaler is under GPL and --enable-gpl is not specified."
fail="yes"
fi
Ramiro Polla
committed
fi
Michael Niedermayer
committed
Ramiro Polla
committed
if test "$fail" = "yes"; then
exit 1
Michael Niedermayer
committed
fi
Fabrice Bellard
committed
if test $mmx = "default"; then
if test $arch = "x86_32" -o $arch = "x86_64"; then
Fabrice Bellard
committed
mmx="yes"
else
mmx="no"
fi
fi
#Darwin CC versions
Michael Niedermayer
committed
needmdynamicnopic="no"
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"
add_cflags "-no-cpp-precomp -pipe -force_cpusubtype_ALL -Wno-sign-compare"
if test "$lshared" = no; then
needmdynamicnopic="yes"
fi
;;
*)
add_cflags "-no-cpp-precomp -pipe"
if test "$lshared" = no; then
needmdynamicnopic="yes"
fi
;;
esac
fi
fi
if test $optimize != "no"; then
add_cflags "-fomit-frame-pointer"
fi
Brian Foley
committed
# Can only do AltiVec on PowerPC
if test $altivec = "default"; then
if test $arch = "powerpc"; then
Brian Foley
committed
altivec="yes"
else
altivec="no"
fi
fi
Michael Niedermayer
committed
# Add processor-specific flags
TUNECPU="generic"
Romain Dolbeau
committed
POWERPCMODE="32bits"
Guillaume Poirier
committed
if test $cpu != "generic"; then
case $cpu in
if test $altivec = "yes"; then
echo "WARNING: Tuning for PPC601 but AltiVec enabled!";
fi
TUNECPU=ppc601
;;
603*|ppc603*|PowerPC603*)
if test $altivec = "yes"; then
echo "WARNING: Tuning for PPC603 but AltiVec enabled!";
fi
TUNECPU=ppc603
;;
604*|ppc604*|PowerPC604*)
if test $altivec = "yes"; then
echo "WARNING: Tuning for PPC604 but AltiVec enabled!";
fi
TUNECPU=ppc604
;;
G3|g3|75*|ppc75*|PowerPC75*)
add_cflags "-mcpu=750 -mpowerpc-gfxopt"
if test $altivec = "yes"; then
echo "WARNING: Tuning for PPC75x but AltiVec enabled!";
fi
TUNECPU=ppc750
;;
G4|g4|745*|ppc745*|PowerPC745*)
add_cflags "-mcpu=7450 -mpowerpc-gfxopt"
if test $altivec = "no"; then
echo "WARNING: Tuning for PPC745x but AltiVec disabled!";
fi
TUNECPU=ppc7450
;;
74*|ppc74*|PowerPC74*)
add_cflags "-mcpu=7400 -mpowerpc-gfxopt"
if test $altivec = "no"; then
echo "WARNING: Tuning for PPC74xx but AltiVec disabled!";
fi
TUNECPU=ppc7400
;;
G5|g5|970|ppc970|PowerPC970|power4*|Power4*)
add_cflags "-mcpu=970 -mpowerpc-gfxopt -mpowerpc64"
if test $altivec = "no"; then
echo "WARNING: Tuning for PPC970 but AltiVec disabled!";
fi
TUNECPU=ppc970
Romain Dolbeau
committed
POWERPCMODE="64bits"
Guillaume Poirier
committed
# targets that do NOT support conditional mov (cmov)
i[345]86|pentium|pentium-mmx|k6|k6-[23]|winchip-c6|winchip2|c3)
Guillaume Poirier
committed
add_cflags "-march=$cpu"
Guillaume Poirier
committed
cmov="no"
;;
# 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)
Guillaume Poirier
committed
add_cflags "-march=$cpu"
cmov_is_fast="yes"
;;
# targets that do support conditional mov but on which it's slow
pentium4|prescott|nocona)
add_cflags "-march=$cpu"
cmov="yes"
cmov_is_fast="no"
Guillaume Poirier
committed
echo "WARNING: Unknown CPU \"$cpu\", ignored."
Michael Niedermayer
committed
esac
fi
# make sure we can execute files in $TMPDIR
cat >$TMPE 2>>$logfile <<EOF
#! /bin/sh
EOF
chmod +x $TMPE >>$logfile 2>&1
if ! $TMPE >>$logfile 2>&1; then
cat <<EOF
Unable to create and execute files in $TMPDIR1. Set the TMPDIR environment
variable to another directory and make sure that $TMPDIR1 is not mounted
noexec.
EOF
die "Sanity test failed."
fi
# compiler sanity check
check_exec <<EOF
int main(){
return 0;
}
EOF
if test "$?" != 0; then
echo "$cc is unable to create an executable file."
if test -z "$cross_prefix" -a "$cross_compile" = no; then
echo "If $cc is a cross-compiler, use the --cross-compile option."
echo "Only do this if you know what cross compiling means."
fi
die "C compiler test failed."
fi
# check for assembler specific support
if test $arch = "powerpc"; then
check_cc <<EOF && dcbzl=yes
int main(void) {
register long zero = 0;
char data[1024];
asm volatile("dcbzl %0, %1" : : "b" (data), "r" (zero));
return 0;
}
EOF
fi
# check for SIMD availability
# AltiVec flags: The FSF version of GCC differs from the Apple version
if test $arch = "powerpc"; then
Magnus Damm
committed
if test $altivec = "yes"; then
if test -n "`$cc -v 2>&1 | grep version | grep Apple`"; then
add_cflags "-faltivec"
Magnus Damm
committed
else
add_cflags "-maltivec -mabi=altivec"
Magnus Damm
committed
fi
fi
fi
check_header altivec.h && altivec_h=yes || altivec_h=no
Brian Foley
committed
if test $altivec = "yes"; then
if test $altivec_h = "yes"; then
inc_altivec_h="#include <altivec.h>"
else
inc_altivec_h=
fi
check_cc <<EOF || altivec=no
int main(void) {
vector signed int v1, v2, v3;
v1 = vec_add(v2,v3);
return 0;
}
EOF
fi
Brian Foley
committed
# check armv5te instructions support
if test $armv5te = "default" -a $arch = "armv4l"; then
armv5te=no
check_cc <<EOF && armv5te=yes
int main(void) {
__asm__ __volatile__ ("qadd r0, r0, r0");
}
EOF
fi
# check iwmmxt support
if test $iwmmxt = "default" -a $arch = "armv4l"; then
iwmmxt=no
check_cc <<EOF && iwmmxt=yes
int main(void) {
__asm__ __volatile__ ("wunpckelub wr6, wr4");
}
EOF
fi
if test $mmi = "default"; then
if test $arch = "mips"; then
mmi="yes"
else
mmi="no"
fi
fi
enabled mmi && check_cc <<EOF || mmi="no"
int main(void) {
__asm__ ("lq \$2, 0(\$2)");
return 0;
}
EOF
# ---
# big/little-endian test
if test "$cross_compile" = "no"; then
check_ld <<EOF || die "endian test failed" && $TMPE && bigendian="yes"
#include <inttypes.h>
int main(int argc, char ** argv){
volatile uint32_t i=0x01234567;
return (*((uint8_t*)(&i))) == 0x67;
# programs cannot be launched if cross compiling, so make a static guess
if test "$arch" = "powerpc" -o "$arch" = "mips" ; then
Chris Flerackers
committed
# ---
# *inttypes.h* test
check_header inttypes.h || inttypes=no
Chris Flerackers
committed
# ---
# *int_fast* test
check_cc <<EOF || emu_fast_int=yes
#include <inttypes.h>
int main(int argc, char ** argv){
volatile uint_fast64_t i=0x01234567;
return 0;
}
EOF
# ---
# check availability of some header files
memalign=yes
check_func memalign || memalign="no"
if test "$memalign" = "no" -a "$mmx" = "yes" -a \
"$memalign_hack" != "yes" -a "$targetos" != "Darwin" -a \
Dennis Melentyev
committed
"$targetos" != "FreeBSD" ; then
die "Error, no memalign() but SSE enabled, disable it or use --enable-memalign-hack."
check_header byteswap.h && byteswap_h=yes || byteswap_h=no
check_func localtime_r && localtime_r=yes || localtime_r=no
enabled zlib && check_lib zlib.h zlibVersion -lz || zlib="no"
# check for some common methods of building with pthread support
# do this before the optional library checks as some of them require pthreads
if enabled pthreads; then
{ check_cflags -pthread && check_ldflags -pthread; } ||
{ check_cflags -pthreads && check_ldflags -pthreads; } ||
check_lib pthread.h pthread_create -lpthread ||
check_func pthread_create ||
die "ERROR: can't find pthreads library"
fi
# these are off by default, so fail if requested and not available
enabled dts && require libdts dts.h dts_init -ldts -lm
enabled libgsm && require libgsm gsm.h gsm_create -lgsm
enabled mp3lame && require LAME lame/lame.h lame_init -lmp3lame -lm
enabled libvorbis && require libvorbis vorbis/vorbisenc.h vorbis_info_init -lvorbis -lvorbisenc -logg
enabled libogg && require libogg ogg/ogg.h ogg_sync_init -logg
Oded Shimon
committed
enabled libnut && require libnut nut.h nut_demuxer_init -lnut
enabled xvid && require XviD xvid.h xvid_global -lxvidcore
enabled x264 && require x264 x264.h x264_encoder_open -lx264
enabled dc1394 && require libdc1394 libdc1394/dc1394_control.h dc1394_create_handle -ldc1394_control -lraw1394
enabled mlib && require mediaLib mlib_types.h mlib_VectorSub_S16_U8_Mod -lmlib
# Ugh, faac uses stdcall calling convention on win32 so we can't use
# the generic test functions
if enabled faac; then
save_flags
temp_extralibs -lfaac
check_ld <<EOF && add_extralibs -lfaac || die "ERROR: libfaac not found"
#include <stdint.h>
#include <faac.h>
int main(){
char *id, *cpr;
faacEncGetVersion(&id, &cpr);
return 0;
}
EOF
restore_flags
fi
# Ugh, recent faad2 versions have renamed all functions and #define the
# old names in faad.h. Generic tests won't work.
if enabled faad; then
save_flags
temp_extralibs -lfaad
check_ld <<EOF && add_extralibs -lfaad || die "ERROR: libfaad not found"
#include <faad.h>
int main(){
faacDecOpen();
return 0;
}
EOF
restore_flags
fi
# Ugh, avisynth uses WINAPI calls. Generic tests won't work.
if enabled avisynth; then
save_flags
temp_extralibs -lvfw32
check_ld <<EOF && add_extralibs -lvfw32 || die "ERROR: vfw32 not found"
#include <windows.h>
#include <vfw.h>
int main(){
AVIFileInit();
return 0;
}
EOF
restore_flags
fi
Michael Niedermayer
committed
# test for lrintf in math.h
Michael Niedermayer
committed
#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
void foo(char * $restrict_keyword p);
EOF
# dlopen/dlfcn.h probing
check_header dlfcn.h && dlfcn=yes
temp_extralibs -ldl
if check_func dlopen; then
dlopen=yes
ldl=-ldl
if check_func dlopen; then
dlopen=yes
ldl=
if test "$vhook" = "yes" -o "$a52bin" = "yes" -o "$faadbin" = "yes"; then
add_extralibs $ldl
if test "$targetos" = "CYGWIN" -a "$lstatic" = "yes" ; then
vhook="no"
echo
echo "At the moment vhooks don't work on Cygwin static builds."
echo "Patches welcome."
echo
fi
if enabled vhook; then
check_ldflags -rdynamic
check_ldflags -export-dynamic
fi
##########################################
temp_extralibs -lImlib2
check_ld <<EOF && imlib2=yes || imlib2=no
#include <X11/Xlib.h>
#include <Imlib2.h>
int main( void ) { return (int) imlib_load_font("foo"); }
EOF
##########################################
Michael Niedermayer
committed
if test "x$targetos" != "xBeOS"; then
if (freetype-config --version) >/dev/null 2>&1 ; then
temp_cflags `freetype-config --cflags`
temp_extralibs `freetype-config --libs`
check_ld <<EOF && freetype2=yes
#include <ft2build.h>
int main( void ) { return (int) FT_Init_FreeType(0); }
EOF
restore_flags
fi
##########################################
SDL_CONFIG="${cross_prefix}sdl-config"
if ("${SDL_CONFIG}" --version) >/dev/null 2>&1 ; then
temp_cflags `"${SDL_CONFIG}" --cflags`
temp_extralibs `"${SDL_CONFIG}" --libs`
check_ld <<EOF
#include <SDL.h>
#undef main /* We don't want SDL to override our main() */
int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
EOF
if test $? = 0; then
_sdlversion=`"${SDL_CONFIG}" --version | sed 's/[^0-9]//g'`
if test "$_sdlversion" -lt 121 ; then
sdl_too_old=yes
else
sdl=yes
check_cc <<EOF && sdl_video_size=yes || sdl_video_size=no
#include <SDL.h>
int main(void){
const SDL_VideoInfo *vi = SDL_GetVideoInfo();
int w = vi->current_w;
return 0;
}
EOF
restore_flags
enabled sdl || ffplay=no
Nicolas Boos
committed
##########################################
Nicolas Boos
committed
texi2html=no
if (texi2html -version) >/dev/null 2>&1; then
Nicolas Boos
committed
texi2html=yes
fi
##########################################
enabled network && enabled ipv6 && check_ld <<EOF && ipv6=yes || ipv6=no
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
int main( void ) {
struct sockaddr_storage saddr;
struct ipv6_mreq mreq6;
getaddrinfo(0,0,0,0);
getnameinfo(0,0,0,0,0,0,0);
Dan Villiom Podlaski Christiansen
committed
IN6_IS_ADDR_MULTICAST((const struct in6_addr *)0);
}
EOF
# check for video4linux2 --- V4L2_PIX_FMT_YUV420
enabled video4linux2 && check_cc <<EOF || video4linux2="no"
Alex Beregszaszi
committed
#include <sys/time.h>
#include <asm/types.h>
#include <linux/videodev2.h>
enabled debug && add_cflags -g
# add some useful compiler flags if supported
check_cflags -Wdeclaration-after-statement
check_cflags -Wall
check_cflags -Wno-switch
check_cflags -Wdisabled-optimization
check_cflags -Wpointer-arith
check_cflags -Wredundant-decls
enabled extrawarnings && check_cflags -Winline
# add some linker flags
check_ldflags $LDLATEFLAGS
# not all compilers support -Os
test "$optimize" = "small" && check_cflags -Os
if enabled optimize; then
if test -n "`$cc -v 2>&1 | grep xlc`"; then
add_cflags "-O5"
add_ldflags "-O5"
else
add_cflags "-O3"
fi
fi
# PIC flags for shared library objects where they are needed
if test "$lshared" = "yes" ; then
# LIBOBJFLAGS may have already been set in the OS configuration
if test -z "$LIBOBJFLAGS" ; then
case "$arch" in
x86_64|ia64|alpha|sparc*) LIBOBJFLAGS="\$(PIC)" ;;
esac
fi
fi
if test "$gprof" = "yes" ; then
add_cflags "-p"
add_ldflags "-p"
# find if .align arg is power-of-two or not
if test $asmalign_pot = "unknown"; then
asmalign_pot="no"
echo 'asm (".align 3");' | check_cc && asmalign_pot="yes"
fi
echo "install prefix $PREFIX"
Guillaume Poirier
committed
echo "ARCH $arch ($cpu)"
if test "$BUILDSUF" != ""; then
Chris Flerackers
committed
echo "inttypes.h $inttypes"
echo "broken inttypes.h $emu_fast_int"
if test $arch = "x86_32" -o $arch = "x86_64"; then
Guillaume Poirier
committed
echo "CMOV enabled $cmov"
echo "CMOV is fast $cmov_is_fast"
if test $arch = "armv4l"; then
echo "ARMv5TE enabled $armv5te"
Gildas Bazin
committed
fi
if test $arch = "mips"; then
if test $arch = "powerpc"; then
echo "dcbzl available $dcbzl"
echo "zlib enabled $zlib"
echo "libgsm enabled $libgsm"
echo "mp3lame enabled $mp3lame"
Oded Shimon
committed
echo "libnut enabled $libnut"
echo "libogg enabled $libogg"
echo "Vorbis enabled $libvorbis"
echo "FAAC enabled $faac"
echo "XviD enabled $xvid"
echo "x264 enabled $x264"
echo "AVISynth enabled $avisynth"
echo "debug symbols $debug"
Michel Bardiaux
committed
echo "strip symbols $dostrip"
echo "optimize $optimize"
echo "static $lstatic"
echo "SDL support $sdl"
if test $sdl_too_old = "yes"; then
echo "-> Your SDL version is too old - please upgrade to have FFplay/SDL support."
Philip Gladstone
committed
if test "$vhook" = "yes"; then
echo "Imlib2 support $imlib2"
echo "FreeType support $freetype2"
Philip Gladstone
committed
fi
echo "Sun medialib support" $mlib
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
Torsten Martinsen
committed
echo "AMR-WB IF2 support" $amr_if2
echo "network support $network"
if test "$network" = "yes" ; then
fi
echo ".align is power-of-two" $asmalign_pot
Michael Niedermayer
committed
if test "$gpl" = "no" ; then
Michael Niedermayer
committed
else
Michael Niedermayer
committed
fi
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
if test "$amr_wb" = "yes" ; then
echo
echo "AMR WB FLOAT NOTICE ! Make sure you have downloaded TS26.204"
echo "V5.1.0 from "
echo "http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-510.zip"
echo "and extracted the source to libavcodec/amrwb_float"
fi
if test "$amr_nb" = "yes" ; then
echo
echo "AMR NB FLOAT NOTICE ! Make sure you have downloaded TS26.104"
echo "REL-5 V5.1.0 from "
echo "http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-510.zip"
echo "and extracted the source to libavcodec/amr_float"
echo "If you try this on alpha, you may need to change Word32 to int in amr/typedef.h"
fi
if test "$amr_nb_fixed" = "yes" ; then
echo
echo "AMR NB FIXED POINT NOTICE! Make sure you have downloaded TS26.073 "
echo "REL-5 version 5.1.0 from "
echo "http://www.3gpp.org/ftp/Specs/archive/26_series/26.073/26073-510.zip"
echo "and extracted src to libavcodec/amr"
echo "You must also add -DMMS_IO and remove -pedantic-errors to/from CFLAGS in libavcodec/amr/makefile."
echo "i.e. CFLAGS = -Wall -I. \$(CFLAGS_\$(MODE)) -D\$(VAD) -DMMS_IO"
fi
Michel Bardiaux
committed
date >> config.log
echo " $0 $FFMPEG_CONFIGURATION" >> config.log
echo "# Automatically generated by configure - do not modify!" > config.mak
echo "/* Automatically generated by configure - do not modify! */" > $TMPH
Michel Bardiaux
committed
echo "#define FFMPEG_CONFIGURATION "'"'"$FFMPEG_CONFIGURATION"'"' >> $TMPH
echo "PREFIX=$PREFIX" >> config.mak
echo "prefix=\$(DESTDIR)\${PREFIX}" >> config.mak
echo "libdir=\$(DESTDIR)$libdir" >> config.mak
Diego Biurrun
committed
echo "shlibdir=\$(DESTDIR)$shlibdir" >> config.mak
echo "incdir=\$(DESTDIR)$incdir" >> config.mak
echo "bindir=\$(DESTDIR)$bindir" >> config.mak
echo "mandir=\$(DESTDIR)$mandir" >> config.mak
echo "CC=$cc" >> config.mak
echo "AR=$ar" >> config.mak
Michel Bardiaux
committed
if test "$dostrip" = "yes" ; then
echo "STRIP=$strip" >> config.mak
echo "INSTALLSTRIP=$installstrip" >> config.mak
Michel Bardiaux
committed
else
echo "STRIP=echo ignoring strip" >> config.mak
echo "INSTALLSTRIP=" >> config.mak
Michel Bardiaux
committed
fi
Michael Niedermayer
committed
test "$needmdynamicnopic" = yes && add_cflags -mdynamic-no-pic
Michael Niedermayer
committed
echo "VHOOKCFLAGS=$VHOOKCFLAGS">>config.mak
Fabrice Bellard
committed
echo "LDFLAGS=$LDFLAGS" >> config.mak
Jacob Meuser
committed
echo "LDCONFIG=$LDCONFIG" >> config.mak
echo "FFSERVERLDFLAGS=$FFSERVERLDFLAGS" >> config.mak
echo "SHFLAGS=$SHFLAGS" >> config.mak
echo "VHOOKSHFLAGS=$VHOOKSHFLAGS" >> config.mak
echo "VHOOKLIBS=$VHOOKLIBS" >> config.mak
echo "LIBOBJFLAGS=$LIBOBJFLAGS" >> config.mak
echo "BUILD_STATIC=$lstatic" >> config.mak
echo "BUILDSUF=$BUILDSUF" >> config.mak
echo "LIBPREF=$LIBPREF" >> config.mak
echo "LIBSUF=\${BUILDSUF}$LIBSUF" >> config.mak
if test "$lstatic" = "yes" ; then
echo "LIB=$LIB" >> config.mak
else # Some Make complain if this variable does not exist.
echo "LIB=" >> config.mak
fi
echo "SLIBPREF=$SLIBPREF" >> config.mak
echo "SLIBSUF=\${BUILDSUF}$SLIBSUF" >> config.mak
echo "EXESUF=\${BUILDSUF}$EXESUF" >> config.mak
echo "TARGET_OS=$targetos" >> config.mak
if test "$arch" = "x86_32" -o "$arch" = "x86_64" ; then
echo "TARGET_ARCH_X86=yes" >> config.mak
fi
if test "$arch" = "x86_32" ; then
echo "TARGET_ARCH_X86_32=yes" >> config.mak
echo "#define ARCH_X86_32 1" >> $TMPH
elif test "$arch" = "x86_64" ; then
Aurelien Jacobs
committed
echo "TARGET_ARCH_X86_64=yes" >> config.mak
echo "#define ARCH_X86_64 1" >> $TMPH
elif test "$arch" = "armv4l" ; then
echo "TARGET_ARCH_ARMV4L=yes" >> config.mak
echo "#define ARCH_ARMV4L 1" >> $TMPH
elif test "$arch" = "alpha" ; then
Nick Kurshev
committed
echo "TARGET_ARCH_ALPHA=yes" >> config.mak
elif test "$arch" = "sparc64" ; then
echo "TARGET_ARCH_SPARC64=yes" >> config.mak
echo "#define ARCH_SPARC64 1" >> $TMPH
James Morrison
committed
echo "TARGET_ARCH_SPARC=yes" >> config.mak
echo "#define ARCH_SPARC 1" >> $TMPH
elif test "$arch" = "sparc" ; then
James Morrison
committed
echo "TARGET_ARCH_SPARC=yes" >> config.mak
echo "#define ARCH_SPARC 1" >> $TMPH
elif test "$arch" = "powerpc" ; then
Fabrice Bellard
committed
echo "TARGET_ARCH_POWERPC=yes" >> config.mak
echo "#define ARCH_POWERPC 1" >> $TMPH
Romain Dolbeau
committed
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
elif test "$arch" = "mips" ; then
echo "TARGET_ARCH_MIPS=yes" >> config.mak
echo "#define ARCH_MIPS 1" >> $TMPH
elif test "$arch" = "sh4" ; then
echo "TARGET_ARCH_SH4=yes" >> config.mak
echo "#define ARCH_SH4 1" >> $TMPH
elif test "$arch" = "parisc" ; then
echo "TARGET_ARCH_PARISC=yes" >> config.mak
echo "#define ARCH_PARISC 1" >> $TMPH
elif test "$arch" = "s390" ; then
echo "TARGET_ARCH_S390=yes" >> config.mak
echo "#define ARCH_S390 1" >> $TMPH
elif test "$arch" = "m68k" ; then
echo "TARGET_ARCH_M68K=yes" >> config.mak
echo "#define ARCH_M68K 1" >> $TMPH
elif test "$arch" = "ia64" ; then
echo "TARGET_ARCH_IA64=yes" >> config.mak
echo "#define ARCH_IA64 1" >> $TMPH
elif test "$arch" = "bfin" ; then
echo "TARGET_ARCH_BFIN=yes" >> config.mak
echo "#define ARCH_BFIN 1" >> $TMPH
Michael Niedermayer
committed
echo "#define TUNECPU $TUNECPU" >> $TMPH
Fabrice Bellard
committed
if test "$bigendian" = "yes" ; then
echo "WORDS_BIGENDIAN=yes" >> config.mak
echo "#define WORDS_BIGENDIAN 1" >> $TMPH
Nick Kurshev
committed
fi
Michael Niedermayer
committed
if test "$inttypes" != "yes" ; then
echo "#define EMULATE_INTTYPES 1" >> $TMPH
Chris Flerackers
committed
fi
if test "$emu_fast_int" = "yes" ; then
echo "#define EMULATE_FAST_INT 1" >> $TMPH
fi
echo "TARGET_MMX=yes" >> config.mak
Guillaume Poirier
committed
if test "$cmov" = "yes" ; then
echo "TARGET_CMOV=yes" >> config.mak
echo "#define HAVE_CMOV 1" >> $TMPH
fi
if test "$cmov_is_fast" = "yes" ; then
echo "TARGET_CMOV_IS_FAST=yes" >> config.mak
echo "#define CMOV_IS_FAST 1" >> $TMPH
fi
if test "$armv5te" = "yes" ; then
echo "TARGET_ARMV5TE=yes" >> config.mak
echo "#define HAVE_ARMV5TE 1" >> $TMPH
fi
Gildas Bazin
committed
if test "$iwmmxt" = "yes" ; then
echo "TARGET_IWMMXT=yes" >> config.mak
echo "#define HAVE_IWMMXT 1" >> $TMPH
fi
if test "$mmi" = "yes" ; then
echo "TARGET_MMI=yes" >> config.mak
echo "#define HAVE_MMI 1" >> $TMPH
fi
Brian Foley
committed
if test "$altivec" = "yes" ; then
echo "TARGET_ALTIVEC=yes" >> config.mak
echo "#define HAVE_ALTIVEC 1" >> $TMPH
if test "$pthreads" = "yes" ; then
echo "HAVE_PTHREADS=yes" >> config.mak
echo "#define HAVE_PTHREADS 1" >> $TMPH
François Revol
committed
echo "#define HAVE_THREADS 1" >> $TMPH
echo "SDL_LIBS=`"${SDL_CONFIG}" --libs`" >> config.mak
echo "SDL_CFLAGS=`"${SDL_CONFIG}" --cflags`" >> config.mak
Nicolas Boos
committed
if test "$texi2html" = "yes"; then
echo "BUILD_DOC=yes" >> config.mak
fi
sws_version=`grep '#define LIBSWSCALE_VERSION ' "$source_path/libswscale/swscale.h" | sed 's/[^0-9\.]//g'`
pp_version=`grep '#define LIBPOSTPROC_VERSION ' "$source_path/libpostproc/postprocess.h" | sed 's/[^0-9\.]//g'`
lavc_version=`grep '#define LIBAVCODEC_VERSION ' "$source_path/libavcodec/avcodec.h" | sed 's/[^0-9\.]//g'`
lavf_version=`grep '#define LIBAVFORMAT_VERSION ' "$source_path/libavformat/avformat.h" | sed 's/[^0-9\.]//g'`
lavu_version=`grep '#define LIBAVUTIL_VERSION ' "$source_path/libavutil/avutil.h" | sed 's/[^0-9\.]//g'`
echo "#define BUILD_SHARED_AV 1" >> $TMPH
echo "PIC=-fPIC -DPIC" >> config.mak
echo "SPPMAJOR=${lavc_version%%.*}" >> config.mak
echo "SPPVERSION=$lavc_version" >> config.mak
echo "LAVCMAJOR=${lavc_version%%.*}" >> config.mak
echo "LAVCVERSION=$lavc_version" >> config.mak
echo "LAVFMAJOR=${lavf_version%%.*}" >> config.mak
echo "LAVFVERSION=$lavf_version" >> config.mak
echo "LAVUMAJOR=${lavu_version%%.*}" >> config.mak
echo "LAVUVERSION=$lavu_version" >> config.mak
echo "SWSMAJOR=${sws_version%%.*}" >> config.mak
echo "SWSVERSION=$sws_version" >> config.mak
Diego Biurrun
committed
echo "SLIBNAME=${SLIBNAME}" >> config.mak
echo "SLIBNAME_WITH_VERSION=${SLIBNAME_WITH_VERSION}" >> config.mak
echo "SLIBNAME_WITH_MAJOR=${SLIBNAME_WITH_MAJOR}" >> config.mak
echo "SLIB_EXTRA_CMD=${SLIB_EXTRA_CMD}" >> config.mak
echo "LIB_INSTALL_EXTRA_CMD=${LIB_INSTALL_EXTRA_CMD}" >> config.mak
echo "EXTRALIBS=$extralibs" >> config.mak
enabled_any $ENCODER_LIST && enable encoders
enabled_any $DECODER_LIST && enable decoders
enabled_any $MUXER_LIST && enable muxers
enabled_any $DEMUXER_LIST && enable demuxers
Oded Shimon
committed
print_config HAVE_ $TMPH config.mak $HAVE_LIST
print_config CONFIG_ $TMPH config.mak $CONFIG_LIST
if test "$mingw32" = "yes" ; then
echo "HAVE_W32THREADS=yes" >> config.mak
echo "#define HAVE_W32THREADS 1" >> $TMPH
François Revol
committed
echo "#define HAVE_THREADS 1" >> $TMPH
echo "#ifndef __MINGW32__" >> $TMPH
echo "#define __MINGW32__ 1" >> $TMPH
echo "#endif" >> $TMPH
Felix Bünemann
committed
fi
if test "$mingwce" = "yes" ; then
echo "#define CONFIG_WINCE 1" >> $TMPH
echo "#ifndef __MINGW32__" >> $TMPH
echo "#define __MINGW32__ 1" >> $TMPH
echo "#endif" >> $TMPH
fi