--enable-hardcoded-tables use hardcoded tables instead of runtime generation
--enable-memalign-hack emulate memalign, interferes with memory debuggers
--enable-beos-netserver enable BeOS netserver
+ --disable-everything disable all components listed below
--disable-encoder=NAME disable encoder NAME
--enable-encoder=NAME enable encoder NAME
--disable-encoders disable all encoders
--disable-optimizations disable compiler optimizations
--enable-extra-warnings enable more compiler warnings
--disable-stripping disable stripping of executables and shared libraries
+ --samples=PATH location of test samples for FATE
NOTE: Object files are built at the place where configure is launched.
EOF
done
}
+map(){
+ m=$1
+ shift
+ for v; do eval $m; done
+}
+
set_all(){
value=$1
shift
bzlib
dct
doc
+ dwt
dxva2
fastdiv
ffmpeg
gpl
gprof
gray
+ h264dsp
hardcoded_tables
libdc1394
libdirac
libx264
libxvid
lpc
+ lsp
mdct
memalign_hack
mlib
logfile
malloc_prefix
nm
+ samples
source_path
strip
sysinclude
rdft_select="fft"
# decoders / encoders / hardware accelerators
-aac_decoder_select="mdct aac_parser"
+aac_decoder_select="mdct rdft aac_parser"
aac_encoder_select="mdct"
ac3_decoder_select="mdct ac3_parser"
alac_encoder_select="lpc"
+amrnb_decoder_select="lsp"
atrac1_decoder_select="mdct"
atrac3_decoder_select="mdct"
binkaudio_dct_decoder_select="mdct rdft dct"
h263_vaapi_hwaccel_select="vaapi h263_decoder"
h263i_decoder_select="h263_decoder"
h263p_encoder_select="h263_encoder"
-h264_decoder_select="golomb"
+h264_decoder_select="golomb h264dsp"
h264_dxva2_hwaccel_deps="dxva2api_h"
h264_dxva2_hwaccel_select="dxva2 h264_decoder"
h264_vaapi_hwaccel_deps="va_va_h"
nellymoser_encoder_select="mdct"
png_decoder_select="zlib"
png_encoder_select="zlib"
+qcelp_decoder_select="lsp"
qdm2_decoder_select="mdct rdft"
rv10_decoder_select="h263_decoder"
rv10_encoder_select="h263_encoder"
rv20_decoder_select="h263_decoder"
rv20_encoder_select="h263_encoder"
-rv30_decoder_select="golomb"
-rv40_decoder_select="golomb"
+rv30_decoder_select="golomb h264dsp"
+rv40_decoder_select="golomb h264dsp"
shorten_decoder_select="golomb"
-snow_encoder_select="aandct"
+sipr_decoder_select="lsp"
+snow_decoder_select="dwt"
+snow_encoder_select="aandct dwt"
sonic_decoder_select="golomb"
sonic_encoder_select="golomb"
sonic_ls_encoder_select="golomb"
svq1_encoder_select="aandct"
-svq3_decoder_select="golomb"
+svq3_decoder_select="golomb h264dsp"
svq3_decoder_suggest="zlib"
theora_decoder_select="vp3_decoder"
tiff_decoder_suggest="zlib"
tiff_encoder_suggest="zlib"
truehd_decoder_select="mlp_decoder"
tscc_decoder_select="zlib"
-twinvq_decoder_select="mdct"
+twinvq_decoder_select="mdct lsp"
vc1_decoder_select="h263_decoder"
vc1_dxva2_hwaccel_deps="dxva2api_h DXVA_PictureParameters_wDecodedPictureIndex"
vc1_dxva2_hwaccel_select="dxva2 vc1_decoder"
wmav1_encoder_select="mdct"
wmav2_decoder_select="mdct"
wmav2_encoder_select="mdct"
+wmavoice_decoder_select="lsp"
wmv1_decoder_select="h263_decoder"
wmv1_encoder_select="h263_encoder"
wmv2_decoder_select="h263_decoder"
zmbv_encoder_select="zlib"
# parsers
-h264_parser_select="golomb"
+h264_parser_select="golomb h264dsp"
# bitstream_filters
aac_adtstoasc_bsf_select="aac_parser"
rtsp_muxer_deps="sdp_demuxer"
rtsp_muxer_select="rtp_muxer"
sdp_demuxer_deps="rtp_protocol mpegts_demuxer"
+sdp_demuxer_select="asf_demuxer rm_demuxer"
spdif_muxer_select="aac_parser"
tg2_muxer_select="mov_muxer"
tgp_muxer_select="mov_muxer"
# protocols
gopher_protocol_deps="network"
http_protocol_deps="network"
+http_protocol_select="tcp_protocol"
rtmp_protocol_deps="tcp_protocol"
rtp_protocol_deps="udp_protocol"
tcp_protocol_deps="network"
SLIBNAME='$(SLIBPREF)$(FULLNAME)$(SLIBSUF)'
SLIBNAME_WITH_VERSION='$(SLIBNAME).$(LIBVERSION)'
SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
-LIB_INSTALL_EXTRA_CMD='$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
+LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
CC_O='-o $@'
;;
--enable-debug=*) debuglevel="$optval"
;;
+ --disable-everything)
+ map 'eval disable \${$(toupper ${v%s})_LIST}' $COMPONENT_LIST
+ ;;
--enable-*=*|--disable-*=*)
eval $(echo "${opt%%=*}" | sed 's/--/action=/;s/-/ thing=/')
is_in "${thing}s" $COMPONENT_LIST || die_unknown "$opt"
add_ldflags --sysroot="$sysroot"
;;
clang)
- add_cppflags -isysroot="$sysroot"
- add_ldflags -isysroot="$sysroot"
+ add_cppflags -isysroot "$sysroot"
+ add_ldflags -isysroot "$sysroot"
;;
esac
fi
mips|mipsel|IP*)
arch="mips"
;;
- mips64)
+ mips64*)
arch="mips"
subarch="mips64"
;;
"Power Macintosh"|ppc|powerpc)
arch="ppc"
;;
- ppc64)
+ ppc64|powerpc64)
arch="ppc"
subarch="ppc64"
;;
netbsd)
oss_indev_extralibs="-lossaudio"
oss_outdev_extralibs="-lossaudio"
+ add_cppflags -D_XOPEN_SOURCE=600
;;
openbsd)
enable malloc_aligned
add_cflags -msg_disable unreachcode
elif enabled gcc; then
check_cflags -fno-tree-vectorize
+ check_cflags -Werror=implicit
+ check_cflags -Werror=missing-prototypes
elif enabled clang; then
check_cflags -Qunused-arguments
elif enabled armcc; then
subdir.mak
doc/texi2pod.pl
libavcodec/Makefile
+ libavcodec/${arch}/Makefile
libavdevice/Makefile
libavfilter/Makefile
libavformat/Makefile
libpostproc/Makefile
libswscale/Makefile
"
- for dir in $DIRS ; do
- mkdir -p $dir
- done
- for f in $FILES ; do
- $ln_s "$source_path/$f" $f
- done
+ map 'mkdir -p $v' $DIRS;
+ map 'test -f "$source_path/$v" && $ln_s "$source_path/$v" $v' $FILES
fi
enabled stripping || strip="echo skipping strip"
LD=$ld
DEPCC=$dep_cc
YASM=$yasmexe
+YASMDEP=$yasmexe
AR=$ar
RANLIB=$ranlib
+CP=cp -p
LN_S=$ln_s
STRIP=$strip
CPPFLAGS=$CPPFLAGS
SDL_CFLAGS=$sdl_cflags
LIB_INSTALL_EXTRA_CMD=$LIB_INSTALL_EXTRA_CMD
EXTRALIBS=$extralibs
+INSTALL=install
+LIBTARGET=${LIBTARGET}
+SLIBNAME=${SLIBNAME}
+SLIBNAME_WITH_VERSION=${SLIBNAME_WITH_VERSION}
+SLIBNAME_WITH_MAJOR=${SLIBNAME_WITH_MAJOR}
+SLIB_CREATE_DEF_CMD=${SLIB_CREATE_DEF_CMD}
+SLIB_EXTRA_CMD=${SLIB_EXTRA_CMD}
+SLIB_INSTALL_EXTRA_CMD=${SLIB_INSTALL_EXTRA_CMD}
+SLIB_UNINSTALL_EXTRA_CMD=${SLIB_UNINSTALL_EXTRA_CMD}
+SAMPLES=$samples
EOF
get_version(){
get_version LIBAVUTIL libavutil/avutil.h
get_version LIBAVFILTER libavfilter/avfilter.h
-enabled shared && cat >> config.mak <<EOF
-LIBTARGET=${LIBTARGET}
-SLIBNAME=${SLIBNAME}
-SLIBNAME_WITH_VERSION=${SLIBNAME_WITH_VERSION}
-SLIBNAME_WITH_MAJOR=${SLIBNAME_WITH_MAJOR}
-SLIB_CREATE_DEF_CMD=${SLIB_CREATE_DEF_CMD}
-SLIB_EXTRA_CMD=${SLIB_EXTRA_CMD}
-SLIB_INSTALL_EXTRA_CMD=${SLIB_INSTALL_EXTRA_CMD}
-SLIB_UNINSTALL_EXTRA_CMD=${SLIB_UNINSTALL_EXTRA_CMD}
-EOF
-
enabled asmalign_pot || align_shift="1 <<"
cat > $TMPH <<EOF
echo "#define MALLOC_PREFIX $malloc_prefix" >>$TMPH
if enabled small || disabled optimizations; then
+ echo "#undef av_always_inline" >> $TMPH
echo "#define av_always_inline" >> $TMPH
fi