echo " --enable-pp enable GPLed postprocessing support [default=no]"
echo " --enable-swscaler software scaler support [default=no]"
echo " --enable-beosthreads use BeOS threads [default=no]"
- echo " --enable-os2threads use OS/2 threads [default=no]"
echo " --enable-pthreads use pthreads [default=no]"
echo " --enable-w32threads use Win32 threads [default=no]"
echo " --enable-x11grab enable X11 grabbing [default=no]"
echo
echo "External library support:"
echo " --enable-sunmlib use Sun medialib [default=no]"
- echo " --enable-dc1394 enable IIDC-1394 grabbing using libdc1394"
- echo " and libraw1394 [default=no]"
echo " --enable-liba52 enable GPLed liba52 support [default=no]"
echo " --enable-liba52bin open liba52.so.0 at runtime [default=no]"
echo " --enable-avisynth allow reading AVISynth script files [default=no]"
echo " --enable-libamr-nb enable libamr-nb floating point audio codec"
echo " --enable-libamr-wb enable libamr-wb floating point audio codec"
- echo " --enable-libdts enable GPLed libdts support [default=no]"
+ echo " --enable-libdc1394 enable IIDC-1394 grabbing using libdc1394"
+ echo " and libraw1394 [default=no]"
echo " --enable-libfaac enable FAAC support via libfaac [default=no]"
echo " --enable-libfaad enable FAAD support via libfaad [default=no]"
- echo " --enable-libfaadbin build FAAD support with runtime linking [default=no]"
+ echo " --enable-libfaadbin open libfaad.so.0 at runtime [default=no]"
echo " --enable-libgsm enable GSM support via libgsm [default=no]"
echo " --enable-libmp3lame enable MP3 encoding via libmp3lame [default=no]"
echo " --enable-libnut enable NUT (de)muxing via libnut,"
echo " --enable-libtheora enable Theora encoding via libtheora [default=no]"
echo " --enable-libvorbis enable Vorbis en/decoding via libvorbis,"
echo " native implementations exist [default=no]"
- echo " --enable-x264 enable H.264 encoding via x264 [default=no]"
- echo " --enable-xvid enable Xvid encoding via xvidcore,"
+ echo " --enable-libx264 enable H.264 encoding via x264 [default=no]"
+ echo " --enable-libxvid enable Xvid encoding via xvidcore,"
echo " native MPEG-4/Xvid encoder exists [default=no]"
echo ""
echo "Advanced options (experts only):"
echo " --disable-v4l disable video4linux grabbing [default=no]"
echo " --disable-v4l2 disable video4linux2 grabbing [default=no]"
echo " --disable-bktr disable bktr video grabbing [default=no]"
- echo " --disable-dv1394 disable DV1394 grabbing [default=no]"
echo " --disable-network disable network support [default=no]"
echo " --disable-ipv6 disable ipv6 support [default=no]"
echo " --disable-zlib disable zlib [default=no]"
echo " --disable-debug disable debugging symbols"
echo " --disable-mpegaudio-hp faster (but less accurate)"
echo " MPEG audio decoding [default=no]"
+ echo " --enable-gray enable full grayscale support (slower color)"
echo " --disable-ffmpeg disable ffmpeg build"
echo " --disable-ffserver disable ffserver build"
echo " --disable-ffplay disable ffplay build"
echo " --enable-parser=NAME enables parser NAME"
echo " --disable-parser=NAME disables parser NAME"
echo " --disable-parsers disables all parsers"
+ echo " --enable-bsf=NAME enables bitstream filter NAME"
+ echo " --disable-bsf=NAME disables bitstream filter NAME"
+ echo " --disable-bsfs disables all bitstream filters"
echo " --enable-protocol=NAME enables protocol NAME"
echo " --disable-protocol=NAME disables protocol NAME"
echo " --disable-protocols disables all protocols"
+ echo " --list-decoders show all available decoders"
+ echo " --list-encoders show all available encoders"
+ echo " --list-muxers show all available muxers"
+ echo " --list-demuxers show all available demuxers"
+ echo " --list-parsers show all available parsers"
+ echo " --list-protocols show all available protocols"
+ echo " --list-bsfs show all available bitstream filters"
echo
echo "Developer options (useful when working on FFmpeg itself):"
echo " --enable-gprof enable profiling with gprof [$gprof]"
done
}
+is_in(){
+ value=$1
+ shift
+ for var in $*; do
+ [ $var = $value ] && return 0
+ done
+ return 1
+}
+
check_deps(){
for cfg; do
enabled ${cfg}_checking && die "Circular dependency for $cfg."
makefile=$3
shift 3
for cfg; do
+ ucname="`toupper $cfg`"
if enabled $cfg; then
- ucname="${pfx}`toupper $cfg`"
- echo "#define ${ucname} 1" >> $header
- echo "${ucname}=yes" >> $makefile
+ echo "#define ${pfx}${ucname} 1" >> $header
+ echo "#define ENABLE_${ucname} 1" >> $header
+ echo "${pfx}${ucname}=yes" >> $makefile
+ else
+ echo "#define ENABLE_${ucname} 0" >> $header
fi
done
}
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(){
"$@" < "$file" > "$file.tmp" && mv "$file.tmp" "$file" || rm "$file.tmp"
}
-CONFIG_LIST='
- encoders
+COMPONENT_LIST="
+ bsfs
decoders
- parsers
- muxers
demuxers
+ encoders
+ muxers
+ parsers
+ protocols
+"
+
+CONFIG_LIST="
+ $COMPONENT_LIST
audio_beos
audio_oss
avisynth
beos_netserver
bktr
- dc1394
- dv1394
ffmpeg
ffplay
ffserver
gpl
gprof
+ gray
ipv6
liba52
liba52bin
libamr
libamr_nb
libamr_wb
- libdts
+ libdc1394
libfaac
libfaad
libfaadbin
libogg
libtheora
libvorbis
+ libx264
+ libxvid
memalign_hack
mpegaudio_hp
network
powerpc_perf
pp
- protocols
+ small
swscaler
vhook
v4l
v4l2
x11grab
- x264
- xvid
zlib
-'
+"
THREADS_LIST='
beosthreads
- os2threads
pthreads
w32threads
'
-HAVE_LIST="
- $THREADS_LIST
+ARCH_LIST='
+ alpha
+ armv4l
+ bfin
+ ia64
+ m68k
+ mips
+ parisc
+ powerpc
+ s390
+ sh4
+ sparc
+ sparc64
+ x86
+ x86_32
+ x86_64
+'
+
+ARCH_EXT_LIST='
altivec
- altivec_h
armv5te
armv6
+ iwmmxt
+ mmi
+ mmx
+ ssse3
+'
+
+HAVE_LIST="
+ $ARCH_EXT_LIST
+ $THREADS_LIST
+ altivec_h
arpa_inet_h
byteswap_h
+ closesocket
cmov
+ conio_h
dcbzl
dev_bktr_ioctl_bt848_h
dev_bktr_ioctl_meteor_h
fast_64bit
fast_cmov
fast_unaligned
+ fork
freetype2
+ gethrtime
+ GetProcessTimes
+ getrusage
imlib2
inet_aton
- iwmmxt
- localtime_r
lrintf
machine_ioctl_bt848_h
machine_ioctl_meteor_h
malloc_h
memalign
+ mkstemp
mlib
- mmi
- mmx
- os2
+ ppc64
sdl
sdl_video_size
soundcard_h
sys_poll_h
sys_soundcard_h
+ termios_h
threads
+ winsock2_h
"
-TARGET_LIST='
- altivec
- armv5te
- armv6
- iwmmxt
- mmi
- mmx
-'
-
CMDLINE_SELECT="
+ $ARCH_EXT_LIST
$CONFIG_LIST
- $TARGET_LIST
$THREADS_LIST
debug
extra_warnings
# code dependency declarations
+# architecture extensions
+altivec_deps="powerpc"
+armv5te_deps="armv4l"
+armv6_deps="armv4l"
+iwmmxt_deps="armv4l"
+mmi_deps="mips"
+mmx_deps="x86"
+ssse3_deps="x86"
+
# decoders / encoders
+ac3_decoder_deps="gpl"
dxa_decoder_deps="zlib"
flashsv_decoder_deps="zlib"
flashsv_encoder_deps="zlib"
flv_decoder_deps="h263_decoder"
-h263_decoder_deps="h263_parser"
+h263_decoder_deps="h263_parser mpeg4video_parser"
h263i_decoder_deps="h263_decoder"
+h264_decoder_deps="h264_parser"
mpeg_xvmc_decoder_deps="xvmc"
mpeg4_decoder_deps="h263_decoder"
msmpeg4v1_decoder_deps="h263_decoder"
msmpeg4v3_decoder_deps="h263_decoder"
png_decoder_deps="zlib"
png_encoder_deps="zlib"
+svq3_decoder_deps="h264_parser"
vc1_decoder_deps="h263_decoder"
wmv1_decoder_deps="h263_decoder"
wmv2_decoder_deps="h263_decoder"
wmv3_decoder_deps="h263_decoder"
-x264_encoder_deps="x264"
-xvid_encoder_deps="xvid"
zmbv_decoder_deps="zlib"
zmbv_encoder_deps="zlib"
# external libraries
-aac_decoder_deps="libfaad"
mpeg4aac_decoder_deps="libfaad"
-faac_encoder_deps="libfaac"
liba52_decoder_deps="liba52"
libamr_nb_decoder_deps="libamr_nb"
libamr_nb_encoder_deps="libamr_nb"
libamr_wb_decoder_deps="libamr_wb"
libamr_wb_encoder_deps="libamr_wb"
-libdts_decoder_deps="libdts"
+libfaac_encoder_deps="libfaac"
+libfaad_decoder_deps="libfaad"
libgsm_decoder_deps="libgsm"
libgsm_encoder_deps="libgsm"
libgsm_ms_decoder_deps="libgsm"
libgsm_ms_encoder_deps="libgsm"
+libmp3lame_encoder_deps="libmp3lame"
libtheora_encoder_deps="libtheora"
-mp3lame_encoder_deps="libmp3lame"
libvorbis_decoder_deps="libvorbis"
libvorbis_encoder_deps="libvorbis"
+libx264_encoder_deps="libx264"
+libxvid_encoder_deps="libxvid"
# demuxers / muxers
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"
dv1394_demuxer_deps="dv1394"
-gxf_muxer_deps="gpl"
+libdc1394_demuxer_deps="libdc1394"
libnut_demuxer_deps="libnut"
libnut_muxer_deps="libnut"
+mp3_demuxer_deps="mpegaudio_parser"
ogg_muxer_deps="libogg"
redir_demuxer_deps="network"
rtp_muxer_deps="network mpegts_demuxer"
# installation paths
PREFIX="/usr/local"
-libdir='${PREFIX}/lib'
+libdir='$(PREFIX)/lib'
shlibdir="$libdir"
-incdir='${PREFIX}/include/ffmpeg'
-mandir='${PREFIX}/man'
-bindir='${PREFIX}/bin'
+incdir='$(PREFIX)/include/ffmpeg'
+mandir='$(PREFIX)/man'
+bindir='$(PREFIX)/bin'
# toolchain
-cross_prefix=""
-cross_compile="no"
cc="gcc"
ar="ar"
ranlib="ranlib"
# machine
arch=`uname -m`
cpu="generic"
-powerpc_perf="no"
-mmx="default"
-cmov="no"
-fast_cmov="no"
-fast_unaligned="no"
-armv5te="default"
-armv6="default"
-iwmmxt="default"
-altivec="default"
-dcbzl="no"
-mmi="default"
-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"
v4l2="yes"
v4l="yes"
# libraries
-avisynth="no"
-dc1394="no"
-dlfcn_h="no"
-dlopen="no"
-liba52="no"
-liba52bin="no"
-libamr_nb="no"
-libamr_wb="no"
-libdts="no"
-libfaac="no"
-libfaad2="no"
-libfaad="no"
-libfaadbin="no"
-libgsm="no"
-libmp3lame="no"
-libnut="no"
-libogg="no"
-libtheora="no"
-libvorbis="no"
-mlib="no"
-x11grab="no"
-x264="no"
-xvid="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"
-memalign_hack="no"
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)'
-LIBOBJFLAGS=""
-FFLDFLAGS=-Wl,--warn-common
LDLATEFLAGS='-Wl,-rpath-link,\$(BUILD_ROOT)/libavcodec -Wl,-rpath-link,\$(BUILD_ROOT)/libavformat -Wl,-rpath-link,\$(BUILD_ROOT)/libavutil'
FFSERVERLDFLAGS=-Wl,-E
LDCONFIG="ldconfig"
SLIBNAME='$(SLIBPREF)$(NAME)$(SLIBSUF)'
SLIBNAME_WITH_VERSION='$(SLIBNAME).$(LIBVERSION)'
SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
-EXESUF=""
-BUILDSUF=""
-LIB_INSTALL_EXTRA_CMD='$(RANLIB) "$(libdir)/$(LIB)"'
+LIB_INSTALL_EXTRA_CMD='$(RANLIB) "$(LIBDIR)/$(LIB)"'
# find source path
source_path="`dirname \"$0\"`"
FFMPEG_CONFIGURATION="$@"
-ENCODER_LIST=`sed -n 's/^[^#]*ENC.*, *\(.*\)).*/\1_encoder/p' "$source_path/libavcodec/allcodecs.c"`
-DECODER_LIST=`sed -n 's/^[^#]*DEC.*, *\(.*\)).*/\1_decoder/p' "$source_path/libavcodec/allcodecs.c"`
-PARSER_LIST=`sed -n 's/^[^#]*PARSER.*, *\(.*\)).*/\1_parser/p' "$source_path/libavcodec/allcodecs.c"`
-MUXER_LIST=`sed -n 's/^[^#]*_MUX.*, *\(.*\)).*/\1_muxer/p' "$source_path/libavformat/allformats.c"`
-DEMUXER_LIST=`sed -n 's/^[^#]*DEMUX.*, *\(.*\)).*/\1_demuxer/p' "$source_path/libavformat/allformats.c"`
-PROTOCOL_LIST=`sed -n 's/^[^#]*PROTOCOL.*, *\(.*\)).*/\1_protocol/p' "$source_path/libavformat/allformats.c"`
+ENCODER_LIST=`sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' "$source_path/libavcodec/allcodecs.c"`
+DECODER_LIST=`sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' "$source_path/libavcodec/allcodecs.c"`
+PARSER_LIST=`sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' "$source_path/libavcodec/allcodecs.c"`
+BSF_LIST=`sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' "$source_path/libavcodec/allcodecs.c"`
+MUXER_LIST=`sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' "$source_path/libavformat/allformats.c"`
+DEMUXER_LIST=`sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' "$source_path/libavformat/allformats.c"`
+PROTOCOL_LIST=`sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' "$source_path/libavformat/allformats.c"`
-enable $ENCODER_LIST $DECODER_LIST $PARSER_LIST $MUXER_LIST $DEMUXER_LIST $PROTOCOL_LIST
+enable $ENCODER_LIST $DECODER_LIST $PARSER_LIST $MUXER_LIST $DEMUXER_LIST $PROTOCOL_LIST $BSF_LIST
+enable $ARCH_EXT_LIST
die_unknown(){
echo "Unknown option \"$1\"."
exit 1
}
+show_list() {
+ for part in $*; do
+ echo $part | sed 's/_[^_]*$//'
+ done | sort
+ exit 0
+}
+
for opt do
optval="${opt#*=}"
case "$opt" in
;;
--disable-opts) optimize="no"
;;
- --enable-small) optimize="small"
- ;;
--enable-sunmlib) mlib="yes"
;;
--disable-strip) dostrip="no"
;;
--disable-parsers) disable $PARSER_LIST
;;
+ --disable-bsfs) disable $BSF_LIST
+ ;;
--disable-protocols) disable $PROTOCOL_LIST
;;
--enable-*=*|--disable-*=*)
eval `echo "$opt" | sed 's/=/-/;s/--/action=/;s/-/ thing=/;s/-/ name=/'`
case "$thing" in
- encoder|decoder|muxer|demuxer|parser|protocol) $action ${optval}_${thing} ;;
+ encoder|decoder|muxer|demuxer|parser|bsf|protocol) $action ${optval}_${thing} ;;
*) die_unknown "$opt" ;;
esac
;;
echo "$CMDLINE_SELECT" | grep -q "^ *$option\$" || die_unknown $opt
$action $option
;;
+ --list-*)
+ NAME="${opt#--list-}"
+ is_in $NAME $COMPONENT_LIST || die_unknown $opt
+ NAME=$(toupper ${NAME%s})
+ eval show_list \$${NAME}_LIST
+ ;;
--help) show_help
;;
*)
;;
esac
+enable $arch
+enabled_any x86_32 x86_64 && enable x86
+enabled sparc64 && enable sparc
+
# OS specific
osextralibs="-lm"
case $targetos in
esac
LDCONFIG="echo ignoring ldconfig"
SHFLAGS=-nostart
- # disable Linux things
- dv1394="no"
# enable BeOS things
disabled audio_beos || enable_audio_beos
# no need for libm, but the inet stuff
osextralibs="-lnet"
fi ;;
sunos)
- dv1394="no"
- FFLDFLAGS=""
FFSERVERLDFLAGS=""
SHFLAGS="-shared -Wl,-h,\$@"
add_extralibs "-lsocket -lnsl"
;;
netbsd)
- dv1394="no"
add_extralibs "-lossaudio"
;;
openbsd)
- dv1394="no"
need_memalign="no"
LIBOBJFLAGS="\$(PIC)"
- LDCONFIG="ldconfig -m \$(shlibdir)"
+ LDCONFIG="ldconfig -m \$(SHLIBDIR)"
SHFLAGS='-shared'
SLIBNAME='$(SLIBPREF)$(NAME)$(SLIBSUF).$(LIBVERSION)'
SLIBNAME_WITH_VERSION='$(SLIBNAME)'
add_extralibs "-lossaudio"
;;
freebsd)
- dv1394="no"
need_memalign="no"
add_cflags "-pthread"
;;
gnu/kfreebsd)
- dv1394="no"
add_cflags "-pthread"
;;
bsd/os)
- dv1394="no"
osextralibs="-lpoll -lgnugetopt -lm"
strip="strip -d"
;;
darwin)
- dv1394="no"
need_memalign="no"
- SHFLAGS="-dynamiclib -Wl,-single_module -Wl,-install_name,\$(shlibdir)/\$(SLIBNAME),-current_version,\$(SPPVERSION),-compatibility_version,\$(SPPVERSION) -Wl,-read_only_relocs,suppress"
- VHOOKSHFLAGS='-dynamiclib -Wl,-single_module -flat_namespace -undefined suppress -Wl,-install_name,$(shlibdir)/vhook/$@'
+ SHFLAGS="-dynamiclib -Wl,-single_module -Wl,-install_name,\$(SHLIBDIR)/\$(SLIBNAME),-current_version,\$(SPPVERSION),-compatibility_version,\$(SPPVERSION) -Wl,-read_only_relocs,suppress"
+ VHOOKSHFLAGS='-dynamiclib -Wl,-single_module -flat_namespace -undefined suppress -Wl,-install_name,$(SHLIBDIR)/vhook/$@'
osextralibs=""
strip="strip -x"
FFLDFLAGS="-Wl,-dynamic,-search_paths_first"
mingw32*)
targetos=mingw32
shlibdir="$bindir"
- if enabled_all shared static; 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
+ VHOOKSHFLAGS='-shared -L$(BUILD_ROOT)/libavformat -L$(BUILD_ROOT)/libavcodec -L$(BUILD_ROOT)/libavutil'
+ VHOOKLIBS='-lavformat$(BUILDSUF) -lavcodec$(BUILDSUF) -lavutil$(BUILDSUF) $(EXTRALIBS)'
+ if enabled swscaler; then
+ VHOOKSHFLAGS="$VHOOKSHFLAGS -L\$(BUILD_ROOT)/libswscale"
+ VHOOKLIBS="$VHOOKLIBS -lswscale\$(BUILDSUF)"
fi
- dv1394="no"
ffserver="no"
- network="no"
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)"
- SLIB_INSTALL_EXTRA_CMD="-install -m 644 \$(SLIBNAME_WITH_MAJOR:\$(SLIBSUF)=.lib) \"\$(shlibdir)/\$(SLIBNAME_WITH_MAJOR:\$(SLIBSUF)=.lib)\""
- SHFLAGS="-shared -Wl,--output-def,\$(@:${SLIBSUF}=.def),--out-implib,lib\$(SLIBNAME:\$(SLIBSUF)=.dll.a) -Wl,--enable-runtime-pseudo-reloc"
- add_extralibs -lws2_32
+ SLIB_INSTALL_EXTRA_CMD="-install -m 644 \$(SLIBNAME_WITH_MAJOR:\$(SLIBSUF)=.lib) \"\$(SHLIBDIR)/\$(SLIBNAME_WITH_MAJOR:\$(SLIBSUF)=.lib)\""
+ SHFLAGS="-shared -Wl,--output-def,\$(@:${SLIBSUF}=.def),--out-implib,lib\$(SLIBNAME:\$(SLIBSUF)=.dll.a) -Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-image-base"
;;
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'
- VHOOKLIBS='-lavformat$(BUILDSUF) -lavcodec$(BUILDSUF) -lswscale$(BUILDSUF) -lavutil$(BUILDSUF) $(EXTRALIBS)'
+ VHOOKSHFLAGS='-shared -L$(BUILD_ROOT)/libavformat -L$(BUILD_ROOT)/libavcodec -L$(BUILD_ROOT)/libavutil'
+ VHOOKLIBS='-lavformat$(BUILDSUF) -lavcodec$(BUILDSUF) -lavutil$(BUILDSUF) $(EXTRALIBS)'
+ if enabled swscaler; then
+ VHOOKSHFLAGS="$VHOOKSHFLAGS -L\$(BUILD_ROOT)/libswscale"
+ VHOOKLIBS="$VHOOKLIBS -lswscale\$(BUILDSUF)"
+ fi
osextralibs=""
EXESUF=".exe"
SLIBPREF="cyg"
SLIBSUF=".dll"
SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME)-$(LIBVERSION)$(SLIBSUF)'
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(NAME)-$(LIBMAJOR)$(SLIBSUF)'
- SHFLAGS='-shared -Wl,--out-implib=lib$(NAME).dll.a'
+ SHFLAGS='-shared -Wl,--out-implib=lib$(NAME).dll.a -Wl,--enable-auto-image-base'
;;
linux)
LDLATEFLAGS="-Wl,--as-needed $LDLATEFLAGS"
+ dv1394="yes"
;;
irix*)
targetos=irix
ranlib="echo ignoring ranlib"
;;
- os/2)
- TMPE=$TMPE".exe"
- ar="emxomfar -p128"
- ranlib="echo ignoring ranlib"
- strip="echo ignoring strip"
- add_cflags "-Zomf"
- FFLDFLAGS="-Zomf -Zstack 16384 -s"
- SHFLAGS="-Zdll -Zomf"
- FFSERVERLDFLAGS=""
- LIBPREF=""
- LIBSUF=".lib"
- SLIBPREF=""
- SLIBSUF=".dll"
- EXESUF=".exe"
- osextralibs=""
- pkg_requires=""
- dv1394="no"
- ffserver="no"
- vhook="no"
- os2="yes"
- ;;
*)
targetos="${targetos}-UNKNOWN"
;;
strip="${cross_prefix}${strip}"
# we need to build at least one lib type
-if disabled_all static shared; then
+if ! enabled_any static shared; then
cat <<EOF
At least one library type must be built.
Specify --enable-static to build the static libraries or --enable-shared to
exit 1;
fi
-if disabled libogg; then
+if disabled static; then
+ LIB=""
+fi
+
+if ! enabled libogg; then
enabled libtheora && die "libogg must be enabled to enable libtheora."
enabled libvorbis && die "libogg must be enabled to enable libvorbis."
fi
fi
-if disabled gpl ; then
+if ! enabled gpl; then
die_gpl_disabled(){
name=$1
shift
}
die_gpl_disabled "The Postprocessing code" pp
die_gpl_disabled "liba52" liba52
- die_gpl_disabled "libxvidcore" xvid
- die_gpl_disabled "x264" x264
- die_gpl_disabled "libdts" libdts
+ die_gpl_disabled "libx264" libx264
+ die_gpl_disabled "libxvidcore" libxvid
die_gpl_disabled "FAAD2" libfaad2
die_gpl_disabled "The X11 grabber" x11grab
die_gpl_disabled "The software scaler" swscaler
fi
-# compute MMX state
-if test $mmx = "default"; then
- if test $arch = "x86_32" -o $arch = "x86_64"; then
- mmx="yes"
- else
- mmx="no"
- fi
-fi
+check_deps $ARCH_EXT_LIST
test -z "$need_memalign" && need_memalign="$mmx"
#Darwin CC versions
-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"
add_cflags "-no-cpp-precomp -pipe"
check_cflags "-force_cpusubtype_ALL"
check_cflags "-Wno-sign-compare"
- disabled shared && needmdynamicnopic="yes"
+ disabled shared && add_cflags -mdynamic-no-pic
fi
fi
-enabled needmdynamicnopic && add_cflags -mdynamic-no-pic
disabled optimize || add_cflags -fomit-frame-pointer
-# Can only do AltiVec on PowerPC
-if test $altivec = "default"; then
- if test $arch = "powerpc"; then
- altivec="yes"
- else
- altivec="no"
- fi
-fi
-
# 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
+ enable ppc64
;;
# targets that do NOT support conditional mov (cmov)
i[345]86|pentium|pentium-mmx|k6|k6-[23]|winchip-c6|winchip2|c3)
EOF
if test "$?" != 0; then
echo "$cc is unable to create an executable file."
- if test -z "$cross_prefix" && disabled cross_compile ; then
+ if test -z "$cross_prefix" && ! enabled cross_compile ; 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
-if test $arch = "x86_32" -o $arch = "x86_64"; then
+if 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
int main(){
asm volatile ("":::"%ebx");
}
+EOF
+
+ # check whether binutils is new enough to compile SSSE3
+ enabled ssse3 && check_cc <<EOF || disable ssse3
+int main(){
+ asm volatile ("pabsw %xmm0, %xmm0");
+}
EOF
fi
# check for SIMD availability
# AltiVec flags: The FSF version of GCC differs from the Apple version
-if test $arch = "powerpc"; then
- if enabled altivec; then
- if test -n "`$cc -v 2>&1 | grep version | grep Apple`"; then
- add_cflags "-faltivec"
- else
- add_cflags "-maltivec -mabi=altivec"
- fi
+if enabled altivec; then
+ if test -n "`$cc -v 2>&1 | grep version | grep Apple`"; then
+ add_cflags "-faltivec"
+ else
+ add_cflags "-maltivec -mabi=altivec"
fi
-fi
-check_header altivec.h
+ check_header altivec.h
-# check if our compiler supports Motorola AltiVec C API
-if enabled altivec; then
+ # check if our compiler supports Motorola AltiVec C API
if enabled altivec_h; then
inc_altivec_h="#include <altivec.h>"
else
fi
# 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");
- }
+enabled armv5te && check_cc <<EOF || disable armv5te
+int main(void) {
+ __asm__ __volatile__ ("qadd r0, r0, r0");
+}
EOF
-fi
-if test $armv6 = "default" -a $arch = "armv4l"; then
- check_cc <<EOF && armv6=yes || armv6=no
+enabled armv6 && check_cc <<EOF || disable armv6
int main(void) {
__asm__ __volatile__ ("sadd16 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");
- }
+enabled iwmmxt && check_cc <<EOF || disable iwmmxt
+int main(void) {
+ __asm__ __volatile__ ("wunpckelub wr6, wr4");
+}
EOF
-fi
-
-# mmi only available on mips
-if test $mmi = "default"; then
- if test $arch = "mips"; then
- mmi="yes"
- else
- mmi="no"
- fi
-fi
# check if our compiler supports mmi
enabled mmi && check_cc <<EOF || mmi="no"
# ---
# big/little-endian test
-if disabled cross_compile; 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;
-}
+check_cc <<EOF || die "endian test failed"
+unsigned int endian = 'B' << 24 | 'I' << 16 | 'G' << 8 | 'E';
EOF
-else
- # programs cannot be launched if cross compiling, so make a static guess
- if test "$arch" = "powerpc" -o "$arch" = "mips" ; then
- bigendian="yes"
- fi
-fi
+grep -q BIGE $TMPO && enable bigendian
# ---
# check availability of some header files
check_header malloc.h
check_func memalign
-if disabled_all memalign memalign_hack && enabled need_memalign ; then
+if ! enabled_any memalign memalign_hack && enabled need_memalign ; then
die "Error, no memalign() but SSE enabled, disable it or use --enable-memalign-hack."
fi
check_header byteswap.h
-check_header arpa/inet.h
+check_func mkstemp
+check_func gethrtime
+
+check_header termios.h
+check_header conio.h
check_func inet_aton
-check_func localtime_r
enabled zlib && check_lib zlib.h zlibVersion -lz || zlib="no"
# ffserver uses poll(),
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 liba52 && require liba52 a52dec/a52.h a52_init -la52
enabled libamr_nb && require libamrnb amrnb/interf_dec.h Speech_Decode_Frame_init -lamrnb -lm
enabled libamr_wb && require libamrwb amrwb/dec_if.h D_IF_init -lamrwb -lm
-enabled libdts && require libdts dts.h dts_init -ldts -lm
+enabled libdc1394 && require libdc1394 libdc1394/dc1394_control.h dc1394_create_handle -ldc1394_control -lraw1394
enabled libgsm && require libgsm gsm.h gsm_create -lgsm
enabled libmp3lame && require LAME lame/lame.h lame_init -lmp3lame -lm
enabled libtheora && require libtheora theora/theora.h theora_info_init -ltheora -logg
enabled libvorbis && require libvorbis vorbis/vorbisenc.h vorbis_info_init -lvorbis -lvorbisenc -logg
enabled libogg && require libogg ogg/ogg.h ogg_sync_init -logg
enabled libnut && require libnut libnut.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 libx264 && require x264 x264.h x264_encoder_open -lx264
+enabled libxvid && require Xvid xvid.h xvid_global -lxvidcore
enabled mlib && require mediaLib mlib_types.h mlib_VectorSub_S16_U8_Mod -lmlib
enabled libfaac && require2 libfaac "stdint.h faac.h" faacEncGetVersion -lfaac
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
+# disable the native AC-3 decoder if liba52 is enabled
+enabled liba52 && disable ac3_decoder
_restrict=
for restrict_keyword in restrict __restrict__ __restrict; do
ldl=-ldl
fi
+check_func getrusage
+check_func2 windows.h GetProcessTimes
+
+check_func fork
+
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 -o "$targetos" = mingw32 && enabled_all static vhook ; then
vhook="no"
echo
- echo "At the moment vhooks don't work on Cygwin static builds."
+ echo "At the moment vhooks don't work on Cygwin or MinGW static builds."
echo "Patches welcome."
echo
fi
texi2html -version >/dev/null 2>&1 && enable texi2html || disable texi2html
+##########################################
+# Network check
+
+if enabled network; then
+ # Prefer arpa/inet.h over winsock2
+ if check_header arpa/inet.h ; then
+ check_func closesocket
+ elif check_header winsock2.h ; then
+ add_extralibs -lws2_32
+ check_func2 winsock2.h closesocket
+ fi
+fi
+
##########################################
# IPv6 check
enabled extra_warnings && check_cflags -Winline
# add some linker flags
+check_ldflags -Wl,--warn-common
check_ldflags $LDLATEFLAGS
-# not all compilers support -Os
-test "$optimize" = "small" && check_cflags -Os
-
-if enabled optimize; then
+if enabled small; then
+ check_cflags -Os # not all compilers support -Os
+ optimize="small"
+elif enabled optimize; then
if test -n "`$cc -v 2>&1 | grep xlc`"; then
add_cflags "-O5"
add_ldflags "-O5"
add_ldflags "-p"
fi
-VHOOKCFLAGS="-fPIC `echo $CFLAGS | sed s/-mdynamic-no-pic//`"
+VHOOKCFLAGS="-fPIC"
# find if .align arg is power-of-two or not
if test $asmalign_pot = "unknown"; then
enabled_any $MUXER_LIST && enable muxers
enabled_any $DEMUXER_LIST && enable demuxers
enabled_any $PROTOCOL_LIST && enable protocols
+enabled_any $BSF_LIST && enable bsfs
enabled_any $THREADS_LIST && enable threads
check_deps $CONFIG_LIST $HAVE_LIST $DECODER_LIST $ENCODER_LIST $PARSER_LIST \
- $DEMUXER_LIST $MUXER_LIST $PROTOCOL_LIST
+ $BSF_LIST $DEMUXER_LIST $MUXER_LIST $PROTOCOL_LIST
+enabled libdc1394 && append pkg_requires "libraw1394"
enabled libogg && append pkg_requires "ogg >= 1.1"
enabled libtheora && append pkg_requires "theora"
enabled libvorbis && append pkg_requires "vorbis vorbisenc"
-enabled dc1394 && append pkg_requires "libraw1394"
echo "install prefix $PREFIX"
echo "source path $source_path"
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}"
+ echo "EBX available ${ebx_available-no}"
+ echo "EBP available ${ebp_available-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 "libdts support $libdts"
-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 $x264"
-echo "XviD enabled $xvid"
-echo "zlib enabled $zlib"
-if disabled gpl; then
+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 "libdc1394 support ${libdc1394-no}"
+echo "libfaac enabled ${libfaac-no}"
+echo "libfaad enabled ${libfaad-no}"
+echo "libfaad dlopened ${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 ! enabled gpl; then
echo "License: LGPL"
else
echo "License: GPL"
echo "#define FFMPEG_CONFIGURATION \"$FFMPEG_CONFIGURATION\"" >> $TMPH
echo "PREFIX=$PREFIX" >> config.mak
-echo "prefix=\$(DESTDIR)\${PREFIX}" >> config.mak
-echo "libdir=\$(DESTDIR)$libdir" >> config.mak
-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 "prefix=\$(DESTDIR)\$(PREFIX)" >> config.mak
+echo "LIBDIR=\$(DESTDIR)$libdir" >> config.mak
+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 "MAKE=$make" >> config.mak
echo "CC=$cc" >> config.mak
echo "AR=$ar" >> config.mak
echo "BUILDSUF=$BUILDSUF" >> config.mak
echo "LIBPREF=$LIBPREF" >> config.mak
echo "LIBSUF=\${BUILDSUF}$LIBSUF" >> config.mak
-if enabled static; then
- echo "LIB=$LIB" >> config.mak
-else # Some Make complain if this variable does not exist.
- echo "LIB=" >> config.mak
-fi
+echo "LIB=$LIB" >> config.mak
echo "SLIBPREF=$SLIBPREF" >> config.mak
echo "SLIBSUF=\${BUILDSUF}$SLIBSUF" >> config.mak
echo "EXESUF=\${BUILDSUF}$EXESUF" >> config.mak
-ucarch=`toupper $arch`
-echo "TARGET_ARCH_${ucarch}=yes" >> config.mak
-echo "#define ARCH_${ucarch} 1" >> $TMPH
-
-# special cases
-case "$arch" in
- x86_32|x86_64)
- echo "TARGET_ARCH_X86=yes" >> config.mak
- echo "#define ARCH_X86 1" >> $TMPH
- ;;
- powerpc)
- if test "$POWERPCMODE" = "64bits"; then
- echo "#define POWERPC_MODE_64BITS 1" >> $TMPH
- fi
- ;;
- sparc64)
- echo "TARGET_ARCH_SPARC=yes" >> config.mak
- echo "#define ARCH_SPARC 1" >> $TMPH
- ;;
-esac
-
if enabled bigendian; then
echo "WORDS_BIGENDIAN=yes" >> config.mak
echo "#define WORDS_BIGENDIAN 1" >> $TMPH
echo "LIB_INSTALL_EXTRA_CMD=${LIB_INSTALL_EXTRA_CMD}" >> config.mak
echo "EXTRALIBS=$extralibs" >> config.mak
+print_config ARCH_ $TMPH config.mak $ARCH_LIST
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
- echo "#define CONFIG_DARWIN 1" >> $TMPH
-fi
+print_config CONFIG_ $TMPH config.mak $CONFIG_LIST \
+ $DECODER_LIST \
+ $ENCODER_LIST \
+ $PARSER_LIST \
+ $BSF_LIST \
+ $DEMUXER_LIST \
+ $MUXER_LIST \
+ $PROTOCOL_LIST \
echo "#define restrict $_restrict" >> $TMPH
-if test "$optimize" = "small"; then
- echo "#define always_inline" >> $TMPH
- echo "#define CONFIG_SMALL 1" >> $TMPH
+if enabled small; then
+ echo "#define av_always_inline" >> $TMPH
fi
echo "SRC_PATH=\"$source_path\"" >> config.mak
fi
-for part in $DECODER_LIST $ENCODER_LIST $PARSER_LIST $DEMUXER_LIST $MUXER_LIST $PROTOCOL_LIST; do
- ucname="`toupper $part`"
- config_name="CONFIG_$ucname"
- enabled_name="ENABLE_$ucname"
- if enabled $part; then
- echo "#define $config_name 1" >> $TMPH
- echo "#define $enabled_name 1" >> $TMPH
- echo "$config_name=yes" >> config.mak
- else
- echo "#define $enabled_name 0" >> $TMPH
- fi
-done
-
# Do not overwrite config.h if unchanged to avoid superfluous rebuilds.
if ! cmp -s $TMPH config.h; then
mv -f $TMPH config.h
if enabled source_path_used; then
DIRS="\
doc \
- libavformat \
libavcodec \
libavcodec/alpha \
libavcodec/armv4l \
libavcodec/bfin \
libavcodec/i386 \
- libavcodec/sparc \
libavcodec/mlib \
libavcodec/ppc \
- libpostproc \
+ libavcodec/sh4 \
+ libavcodec/sparc \
+ libavformat \
libavutil \
+ libpostproc \
libswscale \
tests \
+ tools \
vhook \
"
FILES="\
Makefile \
common.mak \
- libavformat/Makefile \
+ doc/texi2pod.pl \
libavcodec/Makefile \
- libpostproc/Makefile \
+ libavformat/Makefile \
libavutil/Makefile \
+ libpostproc/Makefile \
libswscale/Makefile \
- tests/Makefile \
- vhook/Makefile \
- doc/Makefile \
- doc/texi2pod.pl \
"
for dir in $DIRS ; do
mkdir -p $dir