check_ld(){
log check_ld "$@"
check_cc || return
- check_cmd $cc $LDFLAGS "$@" -o $TMPE $TMPO $extralibs
+ flags=''
+ libs=''
+ for f; do
+ test "${f}" = "${f#-l}" && flags="$flags $f" || libs="$libs $f"
+ done
+ check_cmd $cc $LDFLAGS $flags -o $TMPE $TMPO $extralibs $libs
}
check_cflags(){
memalign
mlib
os2
+ ppc64
sdl
sdl_video_size
soundcard_h
# machine
arch=`uname -m`
cpu="generic"
-powerpc_perf="no"
-cmov="no"
-fast_cmov="no"
-fast_unaligned="no"
-dcbzl="no"
-bigendian="no"
# OS
targetos=$(tolower $(uname -s))
-beos_netserver="no"
-os2="no"
# non-library system interfaces
-audio_beos="default"
audio_oss="yes"
bktr="yes"
dv1394="yes"
v4l="yes"
# libraries
-avisynth="no"
-dc1394="no"
-dlfcn_h="no"
-dlopen="no"
-liba52="no"
-liba52bin="no"
-libamr_nb="no"
-libamr_wb="no"
-libfaac="no"
-libfaad2="no"
-libfaad="no"
-libfaadbin="no"
-libgsm="no"
-libmp3lame="no"
-libnut="no"
-libogg="no"
-libtheora="no"
-libvorbis="no"
-libx264="no"
-libxvid="no"
-mlib="no"
-x11grab="no"
zlib="yes"
# configurable options
debug="yes"
dostrip="yes"
-extra_warnings="no"
ffmpeg="yes"
ffplay="yes"
ffserver="yes"
gpl="no"
-gprof="no"
ipv6="yes"
shared="no"
static="yes"
mpegaudio_hp="yes"
network="yes"
optimize="yes"
-pp="no"
protocols="yes"
-swscaler="no"
vhook="default"
-# threading
-beosthreads="no"
-os2threads="no"
-pthreads="no"
-w32threads="no"
-thread_type="no"
-
# build settings
SHFLAGS='-shared -Wl,-soname,$@'
VHOOKSHFLAGS='$(SHFLAGS)'
disabled optimize || add_cflags -fomit-frame-pointer
# Add processor-specific flags
-POWERPCMODE="32bits"
if test $cpu != "generic"; then
warn_altivec(){
$1 altivec && echo "WARNING: Tuning for $2 but AltiVec $1.";
G5|g5|970|ppc970|PowerPC970|power4*|Power4*)
add_cflags "-mcpu=970 -mpowerpc-gfxopt -mpowerpc64"
warn_altivec disabled PPC970
- POWERPCMODE="64bits"
+ enable ppc64
;;
Cell|CELL|cell)
add_cflags "-mcpu=cell"
warn_altivec disabled Cell
- POWERPCMODE="64bits"
+ enable ppc64
;;
# targets that do NOT support conditional mov (cmov)
i[345]86|pentium|pentium-mmx|k6|k6-[23]|winchip-c6|winchip2|c3)
for thread in $THREADS_LIST; do
if enabled $thread; then
- if ! disabled thread_type ; then
+ if test -n "$thread_type"; then
die "ERROR: Only one thread type must be selected."
else
thread_type="$thread"
fi
done
+# test for lrintf in math.h
+check_exec <<EOF && lrintf=yes || lrintf=no
+#define _ISOC9X_SOURCE 1
+#include <math.h>
+int main( void ) { return (lrintf(3.999f) > 0)?0:1; }
+EOF
+
enabled_any libamr_nb libamr_wb && enable libamr
# these are off by default, so fail if requested and not available
enabled libfaad && require2 libfaad faad.h faacDecOpen -lfaad
enabled avisynth && require2 vfw32 "windows.h vfw.h" AVIFileInit -lvfw32
-# test for lrintf in math.h
-check_exec <<EOF && lrintf=yes || lrintf=no
-#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
if test "$BUILDSUF" != ""; then
echo "build suffix $BUILDSUF"
fi
-echo "big-endian $bigendian"
+echo "big-endian ${bigendian-no}"
if test $arch = "x86_32" -o $arch = "x86_64"; then
- echo "MMX enabled $mmx"
- echo "CMOV enabled $cmov"
- echo "CMOV is fast $fast_cmov"
+ echo "MMX enabled ${mmx-no}"
+ echo "CMOV enabled ${cmov-no}"
+ echo "CMOV is fast ${fast_cmov-no}"
fi
if test $arch = "armv4l"; then
- echo "ARMv5TE enabled $armv5te"
- echo "ARMv6 enabled $armv6"
- echo "IWMMXT enabled $iwmmxt"
+ echo "ARMv5TE enabled ${armv5te-no}"
+ echo "ARMv6 enabled ${armv6-no}"
+ echo "IWMMXT enabled ${iwmmxt-no}"
fi
if test $arch = "mips"; then
- echo "MMI enabled $mmi"
+ echo "MMI enabled ${mmi-no}"
fi
if test $arch = "powerpc"; then
- echo "AltiVec enabled $altivec"
- echo "dcbzl available $dcbzl"
+ echo "AltiVec enabled ${altivec-no}"
+ echo "dcbzl available ${dcbzl-no}"
fi
-echo "gprof enabled $gprof"
-echo "debug symbols $debug"
-echo "strip symbols $dostrip"
-echo "optimize $optimize"
-echo "static $static"
-echo "shared $shared"
-echo "postprocessing support $pp"
-echo "software scaler enabled $swscaler"
-echo "video hooking $vhook"
+echo "gprof enabled ${gprof-no}"
+echo "debug symbols ${debug-no}"
+echo "strip symbols ${dostrip-no}"
+echo "optimize ${optimize-no}"
+echo "static ${static-no}"
+echo "shared ${shared-no}"
+echo "postprocessing support ${pp-no}"
+echo "software scaler enabled ${swscaler-no}"
+echo "video hooking ${vhook-no}"
if enabled vhook; then
- echo "Imlib2 support $imlib2"
- echo "FreeType support $freetype2"
+ echo "Imlib2 support ${imlib2-no}"
+ echo "FreeType support ${freetype2-no}"
fi
-echo "network support $network"
+echo "network support ${network-no}"
if enabled network; then
- echo "IPv6 support $ipv6"
+ echo "IPv6 support ${ipv6-no}"
fi
-echo "threading support $thread_type"
-echo "SDL support $sdl"
+echo "threading support ${thread_type-no}"
+echo "SDL support ${sdl-no}"
if enabled sdl_too_old; then
echo "-> Your SDL version is too old - please upgrade to have FFplay/SDL support."
fi
-echo "Sun medialib support $mlib"
-echo "AVISynth enabled $avisynth"
-echo "liba52 support $liba52"
-echo "liba52 dlopened $liba52bin"
-echo "libamr-nb support $libamr_nb"
-echo "libamr-wb support $libamr_wb"
-echo "libfaac enabled $libfaac"
-echo "libfaad enabled $libfaad"
-echo "faadbin enabled $libfaadbin"
-echo "libgsm enabled $libgsm"
-echo "libmp3lame enabled $libmp3lame"
-echo "libnut enabled $libnut"
-echo "libogg enabled $libogg"
-echo "libtheora enabled $libtheora"
-echo "libvorbis enabled $libvorbis"
-echo "x264 enabled $libx264"
-echo "XviD enabled $libxvid"
-echo "zlib enabled $zlib"
+echo "Sun medialib support ${mlib-no}"
+echo "AVISynth enabled ${avisynth-no}"
+echo "liba52 support ${liba52-no}"
+echo "liba52 dlopened ${liba52bin-no}"
+echo "libamr-nb support ${libamr_nb-no}"
+echo "libamr-wb support ${libamr_wb-no}"
+echo "libfaac enabled ${libfaac-no}"
+echo "libfaad enabled ${libfaad-no}"
+echo "faadbin enabled ${libfaadbin-no}"
+echo "libgsm enabled ${libgsm-no}"
+echo "libmp3lame enabled ${libmp3lame-no}"
+echo "libnut enabled ${libnut-no}"
+echo "libogg enabled ${libogg-no}"
+echo "libtheora enabled ${libtheora-no}"
+echo "libvorbis enabled ${libvorbis-no}"
+echo "x264 enabled ${libx264-no}"
+echo "XviD enabled ${libxvid-no}"
+echo "zlib enabled ${zlib-no}"
if disabled gpl; then
echo "License: LGPL"
else
echo "SLIBSUF=\${BUILDSUF}$SLIBSUF" >> config.mak
echo "EXESUF=\${BUILDSUF}$EXESUF" >> config.mak
-case "$arch" in
- powerpc)
- if test "$POWERPCMODE" = "64bits"; then
- echo "#define POWERPC_MODE_64BITS 1" >> $TMPH
- fi
- ;;
-esac
-
if enabled bigendian; then
echo "WORDS_BIGENDIAN=yes" >> config.mak
echo "#define WORDS_BIGENDIAN 1" >> $TMPH
libpostproc/Makefile \
libavutil/Makefile \
libswscale/Makefile \
- tests/Makefile \
vhook/Makefile \
doc/texi2pod.pl \
"