echo " --enable-libamr-wb enable libamr-wb floating point audio codec"
echo " --enable-libdc1394 enable IIDC-1394 grabbing using libdc1394"
echo " and libraw1394 [default=no]"
+ echo " --enable-libdirac enable Dirac support via libdirac [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 open libfaad.so.0 at runtime [default=no]"
echo " --enable-libmp3lame enable MP3 encoding via libmp3lame [default=no]"
echo " --enable-libnut enable NUT (de)muxing via libnut,"
echo " native demuxer exists [default=no]"
+ echo " --enable-libschroedinger enable Dirac support via libschroedinger [default=no]"
echo " --enable-libtheora enable Theora encoding via libtheora [default=no]"
echo " --enable-libvorbis enable Vorbis encoding via libvorbis,"
echo " native implementation exists [default=no]"
echo " --enable-cross-compile assume a cross-compiler is used"
echo " --target-os=OS compiler targets OS [$target_os]"
echo " --cc=CC use C compiler CC [$cc]"
- echo " --make=MAKE use specified make [$make]"
echo " --extra-cflags=ECFLAGS add ECFLAGS to CFLAGS [$CFLAGS]"
echo " --extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS [$LDFLAGS]"
echo " --extra-libs=ELIBS add ELIBS [$ELIBS]"
echo " --disable-ssse3 disable SSSE3 usage"
echo " --disable-armv5te disable armv5te usage"
echo " --disable-armv6 disable armv6 usage"
+ echo " --disable-armvfp disable ARM VFP usage"
echo " --disable-iwmmxt disable iwmmxt usage"
echo " --disable-altivec disable AltiVec usage"
echo " --disable-network disable network support [default=no]"
solving the problem.
EOF
fi
- rm -f $TMPC $TMPO $TMPE $TMPS $TMPH
+ rm -f $TMPC $TMPE $TMPH $TMPO $TMPS $TMPSH
exit 1
}
asm="$2"
shift 2
check_cc "$@" <<EOF && enable $name || disable $name
-int foo(void){
- asm volatile($asm);
-}
+int foo(void){ asm volatile($asm); }
EOF
}
check_ldflags(){
log check_ldflags "$@"
check_ld "$@" <<EOF && add_ldflags "$@"
-int main(void){
- return 0;
-}
+int main(void){ return 0; }
EOF
}
disable $func
check_ld "$@" <<EOF && enable $func
extern int $func();
-int main(void){
- $func();
-}
+int main(void){ $func(); }
EOF
}
libamr_nb
libamr_wb
libdc1394
+ libdirac
libfaac
libfaad
libfaadbin
libgsm
libmp3lame
libnut
+ libschroedinger
libtheora
libvorbis
libx264
altivec
armv5te
armv6
+ armvfp
iwmmxt
mmi
mmx
soundcard_h
poll_h
sys_mman_h
+ sys_resource_h
sys_select_h
sys_soundcard_h
termios_h
incdir
libdir
logfile
- make
mandir
prefix
shlibdir
altivec_deps="powerpc"
armv5te_deps="armv4l"
armv6_deps="armv4l"
+armvfp_deps="armv4l"
iwmmxt_deps="armv4l"
mmi_deps="mips"
mmx_deps="x86"
-mmx2_deps="x86"
+mmx2_deps="x86 mmx"
ssse3_deps="x86"
vis_deps="sparc"
libamr_nb_encoder_deps="libamr_nb"
libamr_wb_decoder_deps="libamr_wb"
libamr_wb_encoder_deps="libamr_wb"
+libdirac_decoder_deps="libdirac"
+libdirac_encoder_deps="libdirac"
libfaac_encoder_deps="libfaac"
libfaad_decoder_deps="libfaad"
libfaadbin_decoder_extralibs='$ldl'
libgsm_ms_decoder_deps="libgsm"
libgsm_ms_encoder_deps="libgsm"
libmp3lame_encoder_deps="libmp3lame"
+libschroedinger_decoder_deps="libschroedinger"
+libschroedinger_encoder_deps="libschroedinger"
libtheora_encoder_deps="libtheora"
libvorbis_encoder_deps="libvorbis"
libx264_encoder_deps="libx264"
audio_beos_muxer_extralibs="-lmedia -lbe"
avisynth_demuxer_deps="avisynth"
bktr_demuxer_deps_any="dev_bktr_ioctl_bt848_h machine_ioctl_bt848_h dev_video_bktr_ioctl_bt848_h dev_ic_bt8xx_h"
+dirac_demuxer_deps="dirac_parser"
dv1394_demuxer_deps="dv1394 dv_demuxer"
libdc1394_demuxer_deps="libdc1394"
libnut_demuxer_deps="libnut"
ar="ar"
nm="nm"
ranlib="ranlib"
-make="make"
strip="strip"
asmalign_pot="unknown"
ln_s="ln -sf"
vhook="default"
# build settings
-SHFLAGS='-shared -Wl,-soname,$@'
+SHFLAGS='-shared -Wl,-soname,$$(@F)'
VHOOKSHFLAGS='$(SHFLAGS)'
LDLATEFLAGS='-Wl,-rpath-link,\$(BUILD_ROOT)/libavcodec -Wl,-rpath-link,\$(BUILD_ROOT)/libavformat -Wl,-rpath-link,\$(BUILD_ROOT)/libavutil'
FFSERVERLDFLAGS=-Wl,-E
LIB_INSTALL_EXTRA_CMD='$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
# gcc stupidly only outputs the basename of targets with -MM
-DEPEND_CMD='$(CC) -MM $(CFLAGS) $(filter-out %.h,$^) | sed "s,[0-9a-z._-]*: \($(SRC_DIR)/\)*\([a-z0-9]*/\)[^/]* ,\\2&,"'
-VHOOK_DEPEND_CMD='$(CC) -MM $(VHOOKCFLAGS) $(filter-out %.h,$^) | sed "s,^\([a-z]\),vhook/\\1,"'
+DEPEND_CMD='$(CC) $(CFLAGS) -MM -MG $< | sed "1s,^,$(@D)/,"'
# find source path
source_path="`dirname \"$0\"`"
esac
done
+cc="${cross_prefix}${cc}"
+ar="${cross_prefix}${ar}"
+nm="${cross_prefix}${nm}"
+ranlib="${cross_prefix}${ranlib}"
+strip="${cross_prefix}${strip}"
+
+case "$arch" in
+ i386|i486|i586|i686|i86pc|BePC)
+ arch="x86_32"
+ enable fast_unaligned
+ ;;
+ x86_64|amd64)
+ arch="x86_32"
+ enable fast_unaligned
+ check_cc <<EOF && enable fast_64bit && arch="x86_64"
+ int test[sizeof(char*) - 7];
+EOF
+ ;;
+ # armv4l is a subset of armv[567]*l
+ arm|armv[4567]*l)
+ arch="armv4l"
+ ;;
+ alpha)
+ arch="alpha"
+ enable fast_64bit
+ ;;
+ "Power Macintosh"|ppc|powerpc)
+ arch="powerpc"
+ ;;
+ ppc64)
+ arch="powerpc"
+ enable fast_64bit
+ ;;
+ mips|mipsel|IP*)
+ arch="mips"
+ ;;
+ sun4u|sparc64)
+ arch="sparc64"
+ enable fast_64bit
+ ;;
+ sparc)
+ arch="sparc"
+ ;;
+ sh4)
+ arch="sh4"
+ ;;
+ parisc)
+ arch="parisc"
+ ;;
+ parisc64)
+ arch="parisc"
+ enable fast_64bit
+ ;;
+ s390|s390x)
+ arch="s390"
+ ;;
+ m68k)
+ arch="m68k"
+ ;;
+ ia64)
+ arch="ia64"
+ enable fast_64bit
+ ;;
+ bfin)
+ arch="bfin"
+ ;;
+ *)
+ arch="unknown"
+ ;;
+esac
+
+enable $arch
+enabled_any x86_32 x86_64 && enable x86
+enabled sparc64 && enable sparc
+
# OS specific
case $target_os in
beos|haiku|zeta)
fi ;;
sunos)
FFSERVERLDFLAGS=""
- SHFLAGS='-shared -Wl,-h,$@'
+ SHFLAGS='-shared -Wl,-h,$$(@F)'
network_extralibs="-lsocket -lnsl"
;;
netbsd)
darwin)
disable need_memalign
SHFLAGS='-dynamiclib -Wl,-single_module -Wl,-install_name,$(SHLIBDIR)/$(SLIBNAME),-current_version,$(LIBVERSION),-compatibility_version,$(LIBMAJOR) -Wl,-read_only_relocs,suppress'
- VHOOKSHFLAGS='-dynamiclib -Wl,-single_module -flat_namespace -undefined suppress -Wl,-install_name,$(SHLIBDIR)/vhook/$@'
+ VHOOKSHFLAGS='-dynamiclib -Wl,-single_module -flat_namespace -undefined suppress -Wl,-install_name,$(SHLIBDIR)/vhook/$$(@F)'
strip="strip -x"
FFLDFLAGS="-Wl,-dynamic,-search_paths_first"
SLIBSUF=".dylib"
EXESUF=".exe"
SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)'
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(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:$(SLIBSUF)=.lib)"'
+ SLIB_EXTRA_CMD='-lib /machine:i386 /def:$$(@:$(SLIBSUF)=.def) /out:$(SUBDIR)$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib)'
+ SLIB_INSTALL_EXTRA_CMD='-install -m 644 $(SUBDIR)$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib) "$(SHLIBDIR)/$(SLIBNAME:$(SLIBSUF)=.lib)"; \
+ install -m 644 $(SUBDIR)$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib) "$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib)"'
SLIB_UNINSTALL_EXTRA_CMD='rm -f "$(SHLIBDIR)/$(SLIBNAME:$(SLIBSUF)=.lib)"'
- SHFLAGS='-shared -Wl,--output-def,$(@:$(SLIBSUF)=.def) -Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-image-base'
+ SHFLAGS='-shared -Wl,--output-def,$$(@:$(SLIBSUF)=.def) -Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-image-base'
;;
cygwin*)
target_os=cygwin
ln_s="cp -f"
EXESUF=".exe"
FFLDFLAGS="-Zomf -Zbin-files -Zargs-wild -Zmap"
- SHFLAGS='$(NAME).def -Zdll -Zomf'
+ SHFLAGS='$(SUBDIR)$(NAME).def -Zdll -Zomf'
FFSERVERLDFLAGS=""
LIBSUF="_s.a"
SLIBPREF=""
SLIBSUF=".dll"
SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME)-$(LIBVERSION)$(SLIBSUF)'
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(shell echo $(NAME) | cut -c1-6)$(LIBMAJOR)$(SLIBSUF)'
- SLIB_CREATE_DEF_CMD='echo LIBRARY $(SLIBNAME_WITH_MAJOR) INITINSTANCE TERMINSTANCE > $(NAME).def; \
- echo PROTMODE >> $(NAME).def; \
- echo CODE PRELOAD MOVEABLE DISCARDABLE >> $(NAME).def; \
- echo DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >> $(NAME).def; \
- echo EXPORTS >> $(NAME).def; \
- emxexp -o $(OBJS) >> $(NAME).def'
- SLIB_EXTRA_CMD='emximp -o $(LIBPREF)$(NAME)_dll.a $(NAME).def; \
- emximp -o $(LIBPREF)$(NAME)_dll.lib $(NAME).def;'
- SLIB_INSTALL_EXTRA_CMD='install -m 644 $(LIBPREF)$(NAME)_dll.a $(LIBPREF)$(NAME)_dll.lib "$(LIBDIR)"'
+ SLIB_CREATE_DEF_CMD='echo LIBRARY $(SLIBNAME_WITH_MAJOR) INITINSTANCE TERMINSTANCE > $(SUBDIR)$(NAME).def; \
+ echo PROTMODE >> $(SUBDIR)$(NAME).def; \
+ echo CODE PRELOAD MOVEABLE DISCARDABLE >> $(SUBDIR)$(NAME).def; \
+ echo DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >> $(SUBDIR)$(NAME).def; \
+ echo EXPORTS >> $(SUBDIR)$(NAME).def; \
+ emxexp -o $(OBJS) >> $(SUBDIR)$(NAME).def'
+ SLIB_EXTRA_CMD='emximp -o $(SUBDIR)$(LIBPREF)$(NAME)_dll.a $(SUBDIR)$(NAME).def; \
+ emximp -o $(SUBDIR)$(LIBPREF)$(NAME)_dll.lib $(SUBDIR)$(NAME).def;'
+ SLIB_INSTALL_EXTRA_CMD='install -m 644 $(SUBDIR)$(LIBPREF)$(NAME)_dll.a $(SUBDIR)$(LIBPREF)$(NAME)_dll.lib "$(LIBDIR)"'
SLIB_UNINSTALL_EXTRA_CMD='rm -f "$(LIBDIR)"/$(LIBPREF)$(NAME)_dll.a "$(LIBDIR)"/$(LIBPREF)$(NAME)_dll.lib'
disable vhook
;;
fi
TMPC="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.c"
-TMPO="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.o"
TMPE="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}${EXESUF}"
-TMPS="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.S"
TMPH="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.h"
+TMPO="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.o"
+TMPS="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.S"
+TMPSH="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.sh"
add_extralibs $osextralibs
echo "# $0 $@" >$logfile
set >>$logfile
-case "$arch" in
- i386|i486|i586|i686|i86pc|BePC)
- arch="x86_32"
- enable fast_unaligned
- ;;
- x86_64|amd64)
- arch="x86_32"
- enable fast_unaligned
- canon_arch="`$cc -dumpmachine | sed -e 's,\([^-]*\)-.*,\1,'`"
- if [ x"$canon_arch" = x"x86_64" -o x"$canon_arch" = x"amd64" ]; then
- if ! echo $CFLAGS | grep -q -- -m32; then
- arch="x86_64"
- enable fast_64bit
- fi
- fi
- ;;
- # armv4l is a subset of armv[567]*l
- arm|armv[4567]*l)
- arch="armv4l"
- ;;
- alpha)
- arch="alpha"
- enable fast_64bit
- ;;
- "Power Macintosh"|ppc|powerpc)
- arch="powerpc"
- ;;
- ppc64)
- arch="powerpc"
- enable fast_64bit
- ;;
- mips|mipsel|IP*)
- arch="mips"
- ;;
- sun4u|sparc64)
- arch="sparc64"
- enable fast_64bit
- ;;
- sparc)
- arch="sparc"
- ;;
- sh4)
- arch="sh4"
- ;;
- parisc)
- arch="parisc"
- ;;
- parisc64)
- arch="parisc"
- enable fast_64bit
- ;;
- s390|s390x)
- arch="s390"
- ;;
- m68k)
- arch="m68k"
- ;;
- ia64)
- arch="ia64"
- enable fast_64bit
- ;;
- bfin)
- arch="bfin"
- ;;
- *)
- arch="unknown"
- ;;
-esac
-
-enable $arch
-enabled_any x86_32 x86_64 && enable x86
-enabled sparc64 && enable sparc
-
# Combine FFLDFLAGS and the LDFLAGS environment variable.
LDFLAGS="$FFLDFLAGS $LDFLAGS"
test -n "$cross_prefix" && enable cross_compile
-cc="${cross_prefix}${cc}"
-ar="${cross_prefix}${ar}"
-nm="${cross_prefix}${nm}"
-ranlib="${cross_prefix}${ranlib}"
-strip="${cross_prefix}${strip}"
# we need to build at least one lib type
if ! enabled_any static shared; then
add_cflags "-pipe"
check_cflags "-force_cpusubtype_ALL"
check_cflags "-Wno-sign-compare"
- enabled shared || add_cflags -mdynamic-no-pic
+ enabled shared || check_cflags -mdynamic-no-pic
fi
fi
esac
fi
-gnu_make(){
- $1 --version 2>&1 | grep -q GNU
-}
-
-if ! gnu_make $make; then
- gnu_make gmake && make=gmake || die "GNU make not found."
-fi
-
# make sure we can execute files in $TMPDIR
-cat >$TMPE 2>>$logfile <<EOF
+cat >$TMPSH 2>>$logfile <<EOF
#! /bin/sh
EOF
-chmod +x $TMPE >>$logfile 2>&1
-if ! $TMPE >>$logfile 2>&1; then
+chmod +x $TMPSH >>$logfile 2>&1
+if ! $TMPSH >>$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
EOF
die "Sanity test failed."
fi
-rm $TMPE
+rm $TMPSH
# compiler sanity check
check_exec <<EOF
-int main(void){
- return 0;
-}
+int main(void){ return 0; }
EOF
if test "$?" != 0; then
echo "$cc is unable to create an executable file."
check_cc <<EOF || die "Symbol mangling check failed."
int ff_extern;
EOF
-sym=$($nm -P -g $TMPO)
+sym=$($nm -P -g $TMPO | grep ff_extern)
extern_prefix=${sym%%ff_extern*}
check_asm inline_asm '""'
enabled armv4l && check_asm pld '"pld [r0]"'
enabled armv5te && check_asm armv5te '"qadd r0, r0, r0"'
enabled armv6 && check_asm armv6 '"sadd16 r0, r0, r0"'
+enabled armvfp && check_asm armvfp '"fadds s0, s0, s0"'
enabled iwmmxt && check_asm iwmmxt '"wunpckelub wr6, wr4"'
enabled mmi && check_asm mmi '"lq $2, 0($2)"'
enabled vis && check_asm vis '"pdist %f0, %f0, %f0"' -mcpu=ultrasparc
check_header dlfcn.h
check_header malloc.h
check_header sys/mman.h
+check_header sys/resource.h
check_header termios.h
if ! enabled_any memalign memalign_hack && enabled need_memalign ; then
elif check_func pthread_create -pthreads; then
add_cflags -pthreads
add_extralibs -pthreads
+ elif check_func pthread_create -lpthreadGC2; then
+ add_extralibs -lpthreadGC2
elif ! check_lib pthread.h pthread_create -lpthread; then
die "ERROR: can't find pthreads library"
fi
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 libdirac && add_cflags "$(pkg-config --cflags dirac)" \
+ && require libdirac libdirac_decoder/dirac_parser.h dirac_decoder_init -ldirac_decoder \
+ && require libdirac libdirac_encoder/dirac_encoder.h dirac_encoder_init -ldirac_encoder
enabled libfaac && require2 libfaac "stdint.h faac.h" faacEncGetVersion -lfaac
enabled libfaad && require2 libfaad faad.h faacDecOpen -lfaad
enabled libgsm && require libgsm gsm.h gsm_create -lgsm
enabled libmp3lame && require LAME lame/lame.h lame_init -lmp3lame -lm
enabled libnut && require libnut libnut.h nut_demuxer_init -lnut
+enabled libschroedinger && add_cflags $(pkg-config --cflags schroedinger-1.0) \
+ && require libschroedinger schroedinger/schro.h schro_init $(pkg-config --libs schroedinger-1.0)
enabled libtheora && require libtheora theora/theora.h theora_info_init -ltheora -logg
enabled libvorbis && require libvorbis vorbis/vorbisenc.h vorbis_info_init -lvorbisenc -lvorbis -logg
enabled libx264 && require x264 x264.h x264_encoder_open -lx264 -lm
# disable the native AC-3 decoder if liba52 is enabled
enabled liba52 && disable ac3_decoder
+# disable the slower libdirac decoder if libschroedinger is enabled
+enabled libschroedinger && enabled libdirac && disable libdirac_decoder
+
# libdc1394 check
if enabled libdc1394; then
{ check_lib dc1394/dc1394.h dc1394_new -ldc1394 -lraw1394 &&
check_cflags -fno-math-errno
check_cflags -fno-signed-zeros
+# add some flags for Intel C Compiler
+if $cc --version | grep -q Intel; then
+ # Just warnings, no remarks
+ check_cflags -w1
+ # -wd: Disable following warnings
+ # 144, 167, 556: -Wno-pointer-sign
+ # 10006: ignoring unknown option -fno-signed-zeros
+ # 10156: ignoring option '-W'; no argument required
+ check_cflags -wd144,167,556,10006,10156
+ # 11030: Warning unknown option --as-needed
+ # 10156: ignoring option '-export'; no argument required
+ check_ldflags -wd10156,11030
+ # Allow to compile with optimizations
+ check_ldflags -march=$cpu
+fi
+
# PIC flags for shared library objects where they are needed
if enabled shared; then
# LIBOBJFLAGS may have already been set in the OS configuration
$PROTOCOL_LIST \
enabled libdc1394 && append pkg_requires "libraw1394"
+enabled libdirac && append pkg_requires "dirac"
enabled libtheora && append pkg_requires "theora"
enabled libvorbis && append pkg_requires "vorbisenc"
echo "install prefix $prefix"
echo "source path $source_path"
echo "C compiler $cc"
-echo "make $make"
echo ".align is power-of-two $asmalign_pot"
echo "ARCH $arch ($cpu)"
if test "$build_suffix" != ""; then
if test $arch = "armv4l"; then
echo "ARMv5TE enabled ${armv5te-no}"
echo "ARMv6 enabled ${armv6-no}"
+ echo "ARM VFP enabled ${armvfp-no}"
echo "IWMMXT enabled ${iwmmxt-no}"
fi
if test $arch = "mips"; then
echo "libamr-nb support ${libamr_nb-no}"
echo "libamr-wb support ${libamr_wb-no}"
echo "libdc1394 support ${libdc1394-no}"
+echo "libdirac enabled ${libdirac-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 "libschroedinger enabled ${libschroedinger-no}"
echo "libtheora enabled ${libtheora-no}"
echo "libvorbis enabled ${libvorbis-no}"
echo "x264 enabled ${libx264-no}"
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 "RANLIB=$ranlib" >> config.mak
echo "SLIBSUF=$SLIBSUF" >> config.mak
echo "EXESUF=$EXESUF" >> config.mak
echo "DEPEND_CMD=$DEPEND_CMD" >> config.mak
-echo "VHOOK_DEPEND_CMD=$VHOOK_DEPEND_CMD" >> config.mak
if enabled bigendian; then
echo "WORDS_BIGENDIAN=yes" >> config.mak
echo "config.h is unchanged" ||
mv -f $TMPH config.h
-rm -f $TMPO $TMPC $TMPE $TMPS $TMPH
+rm -f $TMPC $TMPE $TMPH $TMPO $TMPS $TMPSH
# build tree in object directory if source path is different from current one
if enabled source_path_used; then
FILES="\
Makefile \
common.mak \
+ subdir.mak \
doc/texi2pod.pl \
libavcodec/Makefile \
libavdevice/Makefile \
# build pkg-config files
-# FIXME: libdir and includedir are hardcoded and may differ from the real path.
pkgconfig_generate(){
name=$1
+shortname=${name#lib}
comment=$2
version=$3
libs=$4
cat <<EOF >$name.pc
prefix=$prefix
exec_prefix=\${prefix}
-libdir=\${exec_prefix}/lib
-includedir=\${prefix}/include
+libdir=$libdir
+includedir=$incdir
Name: $name
Description: $comment
Version: $version
Requires: $requires
Conflicts:
-Libs: -L\${libdir} $libs
+Libs: -L\${libdir} -l${shortname}
+Libs.private: $libs
Cflags: -I\${includedir}
EOF
-}
-
-pkgconfig_generate_uninstalled(){
-name=$1
-shortname=${name#lib}
-comment=$2
-version=$3
-libs=$4
-requires=$5
cat <<EOF >$name-uninstalled.pc
prefix=
exec_prefix=
Version: $version
Requires: $requires
Conflicts:
-Libs: \${libdir}/${LIBPREF}${shortname}${LIBSUF} $libs
+Libs: \${libdir}/${LIBPREF}${shortname}${LIBSUF}
+Libs.private: $libs
Cflags: -I\${includedir}
EOF
}
-pkgconfig_generate libavutil "FFmpeg utility library" "$LIBAVUTIL_VERSION" -lavutil ""
-pkgconfig_generate_uninstalled libavutil "FFmpeg utility library" "$LIBAVUTIL_VERSION"
-
-pkgconfig_generate libavcodec "FFmpeg codec library" "$LIBAVCODEC_VERSION" "-lavcodec $extralibs" "$pkg_requires libavutil = $LIBAVUTIL_VERSION"
-pkgconfig_generate_uninstalled libavcodec "FFmpeg codec library" "$LIBAVCODEC_VERSION" "$extralibs" "$pkg_requires libavutil = $LIBAVUTIL_VERSION"
-
-pkgconfig_generate libavformat "FFmpeg container format library" "$LIBAVFORMAT_VERSION" "-lavformat $extralibs" "$pkg_requires libavcodec = $LIBAVCODEC_VERSION"
-pkgconfig_generate_uninstalled libavformat "FFmpeg container format library" "$LIBAVFORMAT_VERSION" "$extralibs" "$pkg_requires libavcodec = $LIBAVCODEC_VERSION"
-
-pkgconfig_generate libavdevice "FFmpeg device handling library" "$LIBAVDEVICE_VERSION" "-lavdevice $extralibs" "$pkg_requires libavformat = $LIBAVFORMAT_VERSION"
-pkgconfig_generate_uninstalled libavdevice "FFmpeg device handling library" "$LIBAVDEVICE_VERSION" "$extralibs" "$pkg_requires libavformat = $LIBAVFORMAT_VERSION"
-if enabled postproc; then
- pkgconfig_generate libpostproc "FFmpeg post processing library" "$LIBPOSTPROC_VERSION" -lpostproc ""
- pkgconfig_generate_uninstalled libpostproc "FFmpeg post processing library" "$LIBPOSTPROC_VERSION"
-fi
-
+pkgconfig_generate libavutil "FFmpeg utility library" "$LIBAVUTIL_VERSION"
+pkgconfig_generate libavcodec "FFmpeg codec library" "$LIBAVCODEC_VERSION" "$extralibs" "$pkg_requires libavutil = $LIBAVUTIL_VERSION"
+pkgconfig_generate libavformat "FFmpeg container format library" "$LIBAVFORMAT_VERSION" "$extralibs" "$pkg_requires libavcodec = $LIBAVCODEC_VERSION"
+pkgconfig_generate libavdevice "FFmpeg device handling library" "$LIBAVDEVICE_VERSION" "$extralibs" "$pkg_requires libavformat = $LIBAVFORMAT_VERSION"
+enabled avfilter && \
+ pkgconfig_generate libavfilter "FFmpeg video filtering library" "$LIBAVFILTER_VERSION" "$extralibs" "$pkg_requires libavutil = $LIBAVUTIL_VERSION"
+enabled postproc && \
+ pkgconfig_generate libpostproc "FFmpeg post processing library" "$LIBPOSTPROC_VERSION"
if enabled swscale; then
- pkgconfig_generate libswscale "FFmpeg image rescaling library" "$LIBSWSCALE_VERSION" -lswscale "libavutil = $LIBAVUTIL_VERSION"
- pkgconfig_generate_uninstalled libswscale "FFmpeg image rescaling library" "$LIBSWSCALE_VERSION" "" "libavutil = $LIBAVUTIL_VERSION"
+ pkgconfig_generate libswscale "FFmpeg image rescaling library" "$LIBSWSCALE_VERSION" "" "libavutil = $LIBAVUTIL_VERSION"
else
pkgconfig_generate libswscale "FFmpeg image rescaling library" "$LIBSWSCALE_VERSION" "" "$pkg_requires libavcodec = $LIBAVCODEC_VERSION"
- pkgconfig_generate_uninstalled libswscale "FFmpeg image rescaling library" "$LIBSWSCALE_VERSION" "" "$pkg_requires libavcodec = $LIBAVCODEC_VERSION"
apply libswscale.pc sed s/^Libs:.*$/Libs:/
- apply libswscale-uninstalled.pc sed s/^Libs:.*$/Libs:/
-fi
-
-if enabled avfilter; then
- pkgconfig_generate libavfilter "FFmpeg video filtering library" "$LIBAVFILTER_VERSION" "-lavfilter $extralibs" "$pkg_requires libavutil = $LIBAVUTIL_VERSION" ffmpeg
- pkgconfig_generate_uninstalled libavfilter "FFmpeg video filtering library" "$LIBAVFILTER_VERSION" "$extralibs" "$pkg_requires libavutil = $LIBAVUTIL_VERSION"
fi