--disable-ffserver disable ffserver build
--disable-avdevice disable libavdevice build
--disable-avcodec disable libavcodec build
- --disable-avcore disable libavcore build
--disable-avformat disable libavformat build
--disable-swscale disable libswscale build
--enable-postproc enable GPLed postprocessing support [no]
and libraw1394 [no]
--enable-libdirac enable Dirac support via libdirac [no]
--enable-libfaac enable FAAC support via libfaac [no]
+ --enable-libfreetype enable libfreetype [no]
--enable-libgsm enable GSM support via libgsm [no]
--enable-libmp3lame enable MP3 encoding via libmp3lame [no]
--enable-libnut enable NUT (de)muxing via libnut,
--disable-mmx2 disable MMX2 optimizations
--disable-sse disable SSE optimizations
--disable-ssse3 disable SSSE3 optimizations
+ --disable-avx disable AVX optimizations
--disable-armv5te disable armv5te optimizations
--disable-armv6 disable armv6 optimizations
--disable-armv6t2 disable armv6t2 optimizations
--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
+ --samples=PATH location of test samples for FATE, if not set use
+ \$FATE_SAMPLES at make invocation time.
NOTE: Object files are built at the place where configure is launched.
EOF
echo "$v"
}
+cleanws(){
+ echo "$@" | sed 's/^ *//;s/ */ /g;s/ *$//'
+}
+
filter(){
pat=$1
shift
$COMPONENT_LIST
aandct
avcodec
- avcore
avdevice
avfilter
avformat
libdc1394
libdirac
libfaac
+ libfreetype
libgsm
libmp3lame
libnut
armv6
armv6t2
armvfp
+ avx
iwmmxt
mmi
mmx
llrintf
local_aligned_16
local_aligned_8
+ localtime_r
log2
log2f
loongson
mmx2_deps="mmx"
sse_deps="mmx"
ssse3_deps="sse"
+avx_deps="ssse3"
aligned_stack_if_any="ppc x86"
fast_64bit_if_any="alpha ia64 mips64 parisc64 ppc64 sparc64 x86_64"
# filters
blackframe_filter_deps="gpl"
cropdetect_filter_deps="gpl"
+drawtext_filter_deps="libfreetype"
frei0r_filter_deps="frei0r dlopen strtok_r"
frei0r_src_filter_deps="frei0r dlopen strtok_r"
hqdn3d_filter_deps="gpl"
# configurable options
enable avcodec
-enable avcore
enable avdevice
enable avfilter
enable avformat
elif $cc -v 2>&1 | grep -qi ^gcc; then
cc_type=gcc
cc_version=__VERSION__
- gcc_extra_ver=$(expr "$($cc --version | head -n1)" : '.*\((.*)\)')
- cc_ident="gcc $($cc -dumpversion) $gcc_extra_ver"
+ gcc_version=$($cc --version | head -n1)
+ gcc_basever=$($cc -dumpversion)
+ gcc_pkg_ver=$(expr "$gcc_version" : '[^ ]* \(([^)]*)\)')
+ gcc_ext_ver=$(expr "$gcc_version" : ".*$gcc_pkg_ver $gcc_basever \\(.*\\)")
+ cc_ident=$(cleanws "gcc $gcc_basever $gcc_pkg_ver $gcc_ext_ver")
if ! $cc -dumpversion | grep -q '^2\.'; then
CC_DEPFLAGS='-MMD -MF $(@:.o=.d) -MT $@'
AS_DEPFLAGS='-MMD -MF $(@:.o=.d) -MT $@'
if test -n "$sysroot"; then
case "$cc_type" in
- gcc|llvm_gcc)
+ gcc|llvm_gcc|clang)
add_cppflags --sysroot="$sysroot"
add_ldflags --sysroot="$sysroot"
;;
add_cppflags -I"$sysinclude"
add_ldflags --sysroot="$sysroot"
;;
- clang)
- add_cppflags -isysroot "$sysroot"
- add_ldflags -isysroot "$sysroot"
- ;;
esac
fi
arch="sparc"
subarch="sparc64"
;;
- i[3-6]86|i86pc|BePC|x86_64|amd64)
+ i[3-6]86|i86pc|BePC|x86pc|x86_64|amd64)
arch="x86"
;;
esac
haiku)
prefix_default="/boot/common"
network_extralibs="-lnetwork"
+ host_libs=
;;
sunos)
FFSERVERLDFLAGS=""
ranlib="echo ignoring ranlib"
;;
os/2*)
- strip="lxlite"
+ strip="lxlite -CS"
ln_s="cp -f"
add_ldflags -Zomf -Zbin-files -Zargs-wild -Zmap
SHFLAGS='$(SUBDIR)$(NAME).def -Zdll -Zomf'
;;
gnu)
;;
+ qnx)
+ add_cppflags -D_QNX_SOURCE
+ network_extralibs="-lsocket"
+ ;;
none)
;;
*)
enabled version3 && { enabled gpl && enable gplv3 || enable lgplv3; }
-check_deps $ARCH_EXT_LIST
-
disabled optimizations || check_cflags -fomit-frame-pointer
enable_pic() {
elf*) enabled debug && append YASMFLAGS $yasm_debug ;;
esac
- check_yasm "pabsw xmm0, xmm0" && enable yasm ||
+ check_yasm "pextrd [eax], xmm0, 1" && enable yasm ||
die "yasm not found, use --disable-yasm for a crippled build"
+ check_yasm "vpaddw xmm0, xmm0, xmm0" || disable avx
fi
case "$cpu" in
check_struct "sys/time.h sys/resource.h" "struct rusage" ru_maxrss
check_func inet_aton $network_extralibs
check_func isatty
+check_func localtime_r
check_func ${malloc_prefix}memalign && enable memalign
check_func mkstemp
check_func mmap
require libdirac libdirac_decoder/dirac_parser.h dirac_decoder_init $(pkg-config --libs dirac) &&
require libdirac libdirac_encoder/dirac_encoder.h dirac_encoder_init $(pkg-config --libs dirac)
enabled libfaac && require2 libfaac "stdint.h faac.h" faacEncGetVersion -lfaac
+enabled libfreetype && add_cflags $(pkg-config --cflags freetype2) && require libfreetype ft2build.h FT_Init_FreeType -lfreetype
enabled libgsm && require libgsm gsm/gsm.h gsm_create -lgsm
enabled libmp3lame && require "libmp3lame >= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame
enabled libnut && require libnut libnut.h nut_demuxer_init -lnut
# add some linker flags
check_ldflags -Wl,--warn-common
check_ldflags -Wl,--as-needed
-check_ldflags '-Wl,-rpath-link,\$(BUILD_ROOT)/libpostproc -Wl,-rpath-link,\$(BUILD_ROOT)/libswscale -Wl,-rpath-link,\$(BUILD_ROOT)/libavfilter -Wl,-rpath-link,\$(BUILD_ROOT)/libavdevice -Wl,-rpath-link,\$(BUILD_ROOT)/libavformat -Wl,-rpath-link,\$(BUILD_ROOT)/libavcodec -Wl,-rpath-link,\$(BUILD_ROOT)/libavcore -Wl,-rpath-link,\$(BUILD_ROOT)/libavutil'
+check_ldflags '-Wl,-rpath-link,\$(BUILD_ROOT)/libpostproc -Wl,-rpath-link,\$(BUILD_ROOT)/libswscale -Wl,-rpath-link,\$(BUILD_ROOT)/libavfilter -Wl,-rpath-link,\$(BUILD_ROOT)/libavdevice -Wl,-rpath-link,\$(BUILD_ROOT)/libavformat -Wl,-rpath-link,\$(BUILD_ROOT)/libavcodec -Wl,-rpath-link,\$(BUILD_ROOT)/libavutil'
test_ldflags -Wl,-Bsymbolic && append SHFLAGS -Wl,-Bsymbolic
echo "X{};" > $TMPV
doc
libavcodec
libavcodec/$arch
- libavcore
libavdevice
libavfilter
libavfilter/$arch
doc/texi2pod.pl
libavcodec/Makefile
libavcodec/${arch}/Makefile
- libavcore/Makefile
libavdevice/Makefile
libavfilter/Makefile
libavfilter/${arch}/Makefile
SLIB_EXTRA_CMD=${SLIB_EXTRA_CMD}
SLIB_INSTALL_EXTRA_CMD=${SLIB_INSTALL_EXTRA_CMD}
SLIB_UNINSTALL_EXTRA_CMD=${SLIB_UNINSTALL_EXTRA_CMD}
-SAMPLES=$samples
+SAMPLES=${samples:-\$(FATE_SAMPLES)}
EOF
get_version(){
get_version LIBSWSCALE libswscale/swscale.h
get_version LIBPOSTPROC libpostproc/postprocess.h
get_version LIBAVCODEC libavcodec/avcodec.h
-get_version LIBAVCORE libavcore/avcore.h
get_version LIBAVDEVICE libavdevice/avdevice.h
get_version LIBAVFORMAT libavformat/version.h
get_version LIBAVUTIL libavutil/avutil.h
}
pkgconfig_generate libavutil "FFmpeg utility library" "$LIBAVUTIL_VERSION"
-pkgconfig_generate libavcore "FFmpeg multimedia shared core utilities library" "$LIBAVCORE_VERSION" "" "libavutil = $LIBAVUTIL_VERSION"
-pkgconfig_generate libavcodec "FFmpeg codec library" "$LIBAVCODEC_VERSION" "$extralibs" "libavcore = $LIBAVCORE_VERSION"
+pkgconfig_generate libavcodec "FFmpeg codec library" "$LIBAVCODEC_VERSION" "$extralibs"
pkgconfig_generate libavformat "FFmpeg container format library" "$LIBAVFORMAT_VERSION" "$extralibs" "libavcodec = $LIBAVCODEC_VERSION"
pkgconfig_generate libavdevice "FFmpeg device handling library" "$LIBAVDEVICE_VERSION" "$extralibs" "libavformat = $LIBAVFORMAT_VERSION"
-pkgconfig_generate libavfilter "FFmpeg video filtering library" "$LIBAVFILTER_VERSION" "$extralibs" "libavcore = $LIBAVCORE_VERSION"
+pkgconfig_generate libavfilter "FFmpeg video filtering library" "$LIBAVFILTER_VERSION" "$extralibs"
pkgconfig_generate libpostproc "FFmpeg post processing library" "$LIBPOSTPROC_VERSION"
pkgconfig_generate libswscale "FFmpeg image rescaling library" "$LIBSWSCALE_VERSION" "" "libavutil = $LIBAVUTIL_VERSION"