Remove autotools build system

This commit is contained in:
Tim-Philipp Müller 2019-10-13 14:33:27 +01:00
parent 40f5953828
commit ca478e7546
24 changed files with 1 additions and 1360 deletions

42
.gitignore vendored
View file

@ -1,46 +1,4 @@
*~ *~
*.o
*.lo
*.la
Makefile
Makefile.in
.deps
.libs
stamp-h1
stamp-h.in
mkinstalldirs
missing
ltmain.sh
libtool
install-sh
gst-libav-*.tar.*
depcomp
configure
config.sub
config.status
config.log
config.h.in
config.h
config.guess
compile
autoregen.sh
autom4te.cache
aclocal.m4
INSTALL
-
m4/libtool.m4
m4/ltoptions.m4
m4/ltsugar.m4
m4/ltversion.m4
m4/lt~obsolete.m4
/docs/plugins/gst-libav-plugins-sections.txt
/docs/plugins/gst-libav-plugins-undeclared.txt
/test-driver
/tests/check/*/*.log
/tests/check/*/*.trs
/tests/check/test-suite.log
Build Build
*.user *.user

9
.gitmodules vendored
View file

@ -1,9 +0,0 @@
[submodule "common"]
path = common
url = https://gitlab.freedesktop.org/gstreamer/common.git
[submodule "gst-libs/ext/libav"]
path = gst-libs/ext/libav
url = https://git.ffmpeg.org/ffmpeg.git
[submodule "gst-libs/ext/gas-preprocessor"]
path = gst-libs/ext/gas-preprocessor
url = git://git.libav.org/gas-preprocessor.git

274
HACKING
View file

@ -1,274 +0,0 @@
THE GOAL
--------
What we are trying to achieve:
satisfy:
patching of CVS checkout using our patch files placed in our CVS
passing of
make
make distcheck
non-srcdir build (ie, mkdir build; cd build; ../configure; make)
THE SETUP
---------
There is a "mirror" root CVS module that contains "ffmpeg".
This directory contains a vendor-branch checkout of upstream FFmpeg CVS
of a given day.
On head, the following things have been commited on top of this:
* patches/, which is a directory with a set of patches, and a series file
listing the order, as generated by quilt
* the result of having all these patches commited (ie, quilt push -a) to the
ffmpeg tree.
The patched CVS ffmpeg code needs to be commited to CVS so that a checkout
gives the patched code
The Quilt state .pc hidden directory must NOT be committed to CVS, because
having CVS subdirs inside it confuses the hell out of quilt and causes it to
start storing diffs against CVS Entries files, and all hell breaks loose
THE WARNING
-----------
***
NEVER EVER commit stuff in gst-libs/ext/ffmpeg UNLESS your quilt stack is
completely applied !
This means, ALWAYS make sure quilt push -a has been run without problems.
What's more, if you want to be on the safe side, make sure that you can
unapply and reapply without problems, by running quilt pop -a then
quilt push -a.
The ONLY exception to this is when you're working on a branch to update
the upstream source you're working with.
***
THE WAY
-------
- If you want to hack on our copy of the FFmpeg code, there are some basic
rules you need to respect:
- you need to use quilt. If you don't use quilt, you can't hack on it.
- we separate patches based on the functionality they patch, and whether
or not we want to send stuff upstream. Make sure you work in the right
patch. use "quilt applied" to check which patches are applied.
- before starting to hack, run cvs diff. There should be NO diffs, and
NO files listed with question mark. If there are, somebody before you
probably made a mistake. To manage the state correctly, it is vital that
none of the files are unknown to CVS.
FIRST TIME:
- The quilt state is kept in a hidden dir in the gst-libs/ext/ffmpeg dir,
but this hidden dir can't be kept in CVS because it confuses patch. Hence
when you get a clean gst-ffmpeg checkout you have an ffmpeg tree with
patches applied, but no quilt metadata to modify it with.
- You need to create the quilt metadata in your checkout:
1) Unroll the quilt patches. In gst-libs/ext/ffmpeg, run:
tac patches/series | while read p; do patch -p1 -R < "patches/$p"; done
2) Now, push all the patches to quilt and it will apply them, but now with
the appropriate stored metadata:
quilt push -a
- if you want to add a file to a patchset, you need to:
- be in the right patchset
- quilt add (file)
- cvs add .pc/(patchsetname)/(file)
- cvs commit .pc/(patchsetname) (to update the state of quilt in cvs)
- edit the file
- cvs add the file if it doesn't exist yet
- quilt refresh
- quilt push -a (This one is IMPORTANT, otherwise you'll have a huge diff)
- cvs commit
- if you want to add a patchset, you need to:
- go over the procedure with thomas to check it's correct
- decide where in the stack to put it. ask for help if you don't know.
- go there in the patch stack (use quilt pop/push)
- quilt new (patchsetname).patch (don't forget .patch !)
- quilt add (files)
- cvs add .pc/(patchsetname) the whole tree
- cvs commit .pc/(patchsetname)
- quilt refresh
- quilt push -a
- cvs commit
- cvs diff (to check if any of the files are unknown to CVS; if they are,
you need to add them to CVS)
THE UPSTREAM
------------
At some points you want to update the upstream snapshot code to a newer date.
This is easy if you follow the steps outlined here, but make sure to follow
them correctly !
- find a good CVS snapshot date for upstream, one that is known to work.
You're going to save yourself quite a bit of trouble if you verify this
first !
- check it out to a local directory:
cvs -z9 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg export -D '2004-04-11 23:00 GMT' ffmpeg
- compile it and test it, make sure it works
- in gst-ffmpeg/gst-libs/ext/ffmpeg:
- Pre-flight checks:
- first make sure you don't have local changes, all files are either in
CVS or in .cvsignore patch, the whole quilt stack is applied, and stuff
works.
- do a quilt pop -a and quilt push -a to verify everything is ok.
- Branch and rollback:
- tag HEAD with the branch root point:
cvs tag BRANCH-UPDATE-CVS-2004-04-11-23-00-ROOT
- branch:
cvs tag -b BRANCH-UPDATE-CVS-2004-04-11-23-00
- FIXME: lock cvs HEAD
- update local copy to branch:
cvs update -r BRANCH-UPDATE-CVS-2004-04-11-23-00
- peel off all patches:
quilt pop -a
- commit this
cvs commit
- check
cvs diff
you should only have ? for files that are generated somehow (binaries,
build files, ...)
you get warnings about cvs not finding files to diff that are in .pc
or generated by your patches
- if you want, you can now compare this state of CVS (which should
be last upstream CVS combined with your local unapplied quilt state)
- remember to NOT do cvs update from here on, since you popped your quilt
state all your added files that are also in CVS are not locally present.
- sync with upstream:
- in a temp dir, redo the export:
cd ..
mkdir tmp
cd tmp
cvs -z9 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg export -D '2004-04-11 23:00 GMT' ffmpeg
- rsync it over the old ffmpeg tree
rsync -arv ffmpeg ..
- go back and commit this new snapshot
cd ../ffmpeg
cvs commit
- check if any new files got added that you should add to cvs
cvs diff
This will list a lot of local files missing, from your quilt state,
which you shouldn't worry about. Just inspect all the ?'s and add
files to cvs that belong to upstream and should be in cvs.
- if everything's ok and commited, tag the state:
cvs tag UPSTREAM-CVS-2004-04-11-23-00
- reapply and fix quilt patches one by one
- try applying one
quilt push
- if that didn't work, inspect the patch and figure out how to fix it:
- if the patch got applied upstream completely, quilt push will tell
you the patch looks like a reverse patch. In that case you can
remove the patch from your patches file (patches/series), and
remove the .pc/$(patchname) and patches/$(patchname).patch files from
cvs.
- if the patch conflicts somehow, you can force application with
quilt push -f
and then resolve all the rejects, and fix the patch completely.
Then refresh quilt state with
quilt refresh
- when the patch is succesfully removed or reworked, commit current state
to CVS, then check again if nothing is missing using cvs diff, and
resolve problems/apply missing files from your quilt state/...
- after reapplying your complete quilt state, test locally if the complete
gst-ffmpeg module now works. Compile and test. Resolve all problems
(upstream errors, missing symbols, missing files, ...) until you have
a working module. commit again.
- merge to head:
- update locally back to head
cvs update -A
- FIXME: unlock cvs HEAD
- merge from your branch
cvs update -j BRANCH-UPDATE-CVS-2004-04-11-23-00
- commit
cvs commit
- check for diffs
cvs diff
- tag merge point
cvs tag BRANCH-UPDATE-CVS-2004-04-11-23-00-MERGE
- add upstream date to "THE RECORDS" below
- get a drink
THE PLUGIN
----------
Some notes on how ffmpeg wrapping inside GStreamer currently works:
* gstffmpeg{dec,enc,demux,mux}.c are wrappers for specific element types from
their ffmpeg counterpart. If you want to wrap a new type of element in
wrapper file.
The ffmpeg element types, define a whole *list* of elements (in
GStreamer, each decoder etc. needs to be its own element).
We use a set of tricks for that to keep coding simple: codec
mapping and dynamic type creation.
* ffmpeg uses CODEC_ID_* enumerations for their codecs. GStreamer uses caps,
which consists of a mimetype and a defined set of properties. In ffmpeg,
these properties live in a AVCodecContext struct, which contains anything
that could configure any codec (which makes it rather messy, but ohwell).
To convert from one to the other, we use codec mapping, which is done in
gstffmpegcodecmap.[ch]. This is the most important file in the whole
ffmpeg wrapping process! It contains functions to go from a codec type
(video or audio - used as the output format for decoding or the input
format for encoding), a codec id (to identify each format) or a format id
(a string identifying a file format - usually the file format extension)
to a GstCaps, and the other way around.
* to define multiple elements in one source file (which all behave similarly),
we dynamically create types for each plugin and let all of them operate on
the same struct (GstFFMpegDec, GstFFMpegEnc, ...). The functions in
gstffmpeg{dec,enc,demux,mux}.c called gst_ffmpeg*_register() do this.
The magic is as follows: for each codec or format, ffmpeg has a single
AVCodec or AV{Input,Output}Format, which are packed together in a list of
supported codecs/formats. We simply walk through the list, for each of
those, we check whether gstffmpegcodecmap.c knows about this single one.
If it does, we get the GstCaps for each pad template that belongs to it,
and register a type for all of those together. We also leave this inside
a caching struct, that will later be used by the base_init() function to
fill in information about this specific codec in the class struct of this
element (pad templates and codec/format information). Since the actual
codec information is the only thing that really makes each codec/format
different (they all behave the same through the ffmpeg API), we don't
really need to do anything else that is codec-specific, so all other
functions are rather simple.
* one particular thing that needs mention is how gstffmpeg{mux,demux}.c and
gstffmpegprotocol.c interoperate. ffmpeg uses URLProtocols for data input
and output. Now, of course, we want to use the *GStreamer* way of doing
input and output (filesrc, ...) rather than the ffmpeg way. Therefore, we
wrap up a GstPad as a URLProtocol and register this with ffmpeg. This is
what gstffmpegprotocol.c does. The URL is called gstreamer://%p, where %p
is the address of a GstPad. gstffmpeg{mux,demux}.c then open a file called
gstreamer://%p, with %p being their source/sink pad, respectively. This
way, we use GStreamer for data input/output through the ffmpeg API. It's
rather ugly, but it has worked quite well so far.
* there's lots of things that still need doing. See the TODO file for more
information.
THE RECORDS
-----------
- list of snapshots used:
CVS-2004-04-11-23-00
* other updates people didn't enter :)
CVS-2006-02-17-04-00
THE REMINDERS
-------------
* the initial ffmpeg checkout was imported using:
- get CVS ffmpeg
cvs -z3 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg co -D '2004-03-09 06:00 GMT' ffmpeg

View file

@ -1,47 +0,0 @@
COMMON_SUBDIRS = ext common tests
SUBDIRS = $(LIBAV_SUBDIRS) $(COMMON_SUBDIRS) pkgconfig
DIST_SUBDIRS = $(COMMON_SUBDIRS) gst-libs pkgconfig
EXTRA_DIST = \
depcomp autogen.sh \
AUTHORS COPYING NEWS README ChangeLog gst-libav.doap \
meson_options.txt \
$(shell find "$(top_srcdir)" -type f -name meson.build ! -path "$(top_srcdir)/$(PACKAGE_TARNAME)-*" )
ACLOCAL_AMFLAGS = -I m4 -I common/m4
include $(top_srcdir)/common/release.mak
if HAVE_GST_CHECK
check-valgrind:
$(MAKE) -C tests/check check-valgrind
check-torture:
$(MAKE) -C tests/check torture
build-checks:
$(MAKE) -C tests/check build-checks
else
check-valgrind:
echo "'check' library not installed, skipping"
check-torture:
echo "'check' library not installed, skipping"
build-checks:
echo "'check' library not installed, skipping"
endif
CRUFT_FILES = \
$(top_builddir)/gst-libav.spec \
$(top_builddir)/common/shave \
$(top_builddir)/common/shave-libtool \
$(top_builddir)/common/m4/libtool.m4 \
$(top_builddir)/common/m4/ltoptions.m4 \
$(top_builddir)/common/m4/ltsugar.m4 \
$(top_builddir)/common/m4/ltversion.m4 \
$(top_builddir)/common/m4/lt~obsolete.m4
include $(top_srcdir)/common/cruft.mak
all-local: check-cruft

3
README
View file

@ -1,7 +1,6 @@
gst-ffmpeg gst-ffmpeg
This module contains a GStreamer plugin for FFmpeg, as well as an internal This module contains a GStreamer plugin for FFmpeg.
copy of the FFmpeg source code.
PLUG-IN DEPENDENCIES AND LICENSES PLUG-IN DEPENDENCIES AND LICENSES
--------------------------------- ---------------------------------

9
TODO
View file

@ -1,9 +0,0 @@
The never-ending story of new features:
* add more codecs into our codec map
* demux/mux elements need rewrite for 0.9
* investigate possible use of AVFMT_FLAG_GENPTS for timestamp smoothing
* other filter elements that we don't have yet?
* can we wrap URLProtocol as a source/sink?
If you have cool ideas, add them here or contact the mailinglist:
<gstreamer-devel@lists.sf.net>

View file

@ -1,124 +0,0 @@
#!/bin/sh
#
# gst-libav autogen.sh
#
# Run this to generate all the initial makefiles, etc.
#
# This file has been generated from common/autogen.sh.in via common/update-autogen
test -n "$srcdir" || srcdir=`dirname "$0"`
test -n "$srcdir" || srcdir=.
olddir=`pwd`
cd "$srcdir"
package=gst-libav
srcfile=gst-libav.doap
# Make sure we have common
if test ! -f common/gst-autogen.sh;
then
echo "+ Setting up common submodule"
git submodule init
fi
git submodule update
# source helper functions
if test ! -f common/gst-autogen.sh;
then
echo There is something wrong with your source tree.
echo You are missing common/gst-autogen.sh
exit 1
fi
. common/gst-autogen.sh
# install pre-commit hook for doing clean commits
if test ! \( -x .git/hooks/pre-commit -a -L .git/hooks/pre-commit \);
then
rm -f .git/hooks/pre-commit
if ! ln -s ../../common/hooks/pre-commit.hook .git/hooks/pre-commit 2> /dev/null
then
echo "Failed to create commit hook symlink, copying instead ..."
cp common/hooks/pre-commit.hook .git/hooks/pre-commit
fi
fi
# GNU gettext automake support doesn't get along with git.
# https://bugzilla.gnome.org/show_bug.cgi?id=661128
if test -d po ; then
touch -t 200001010000 po/gst-libav-1.0.pot
fi
CONFIGURE_DEF_OPT='--enable-maintainer-mode --enable-gtk-doc'
if test "x$package" = "xgstreamer"; then
CONFIGURE_DEF_OPT="$CONFIGURE_DEF_OPT --enable-failing-tests --enable-poisoning"
elif test "x$package" = "xgst-plugins-bad"; then
CONFIGURE_DEF_OPT="$CONFIGURE_DEF_OPT --with-player-tests"
fi
autogen_options $@
printf "+ check for build tools"
if test -z "$NOCHECK"; then
echo
printf " checking for autoreconf ... "
echo
which "autoreconf" 2>/dev/null || {
echo "not found! Please install the autoconf package."
exit 1
}
printf " checking for pkg-config ... "
echo
which "pkg-config" 2>/dev/null || {
echo "not found! Please install pkg-config."
exit 1
}
else
echo ": skipped version checks"
fi
# if no arguments specified then this will be printed
if test -z "$*" && test -z "$NOCONFIGURE"; then
echo "+ checking for autogen.sh options"
echo " This autogen script will automatically run ./configure as:"
echo " ./configure $CONFIGURE_DEF_OPT"
echo " To pass any additional options, please specify them on the $0"
echo " command line."
fi
toplevel_check $srcfile
# autopoint
if test -d po && grep ^AM_GNU_GETTEXT_VERSION configure.ac >/dev/null ; then
tool_run "autopoint" "--force"
fi
# aclocal
if test -f acinclude.m4; then rm acinclude.m4; fi
autoreconf --force --install || exit 1
test -n "$NOCONFIGURE" && {
echo "+ skipping configure stage for package $package, as requested."
echo "+ autogen.sh done."
exit 0
}
cd "$olddir"
echo "+ running configure ... "
test ! -z "$CONFIGURE_DEF_OPT" && echo " default flags: $CONFIGURE_DEF_OPT"
test ! -z "$CONFIGURE_EXT_OPT" && echo " external flags: $CONFIGURE_EXT_OPT"
echo
echo "$srcdir/configure" $CONFIGURE_DEF_OPT $CONFIGURE_EXT_OPT
"$srcdir/configure" $CONFIGURE_DEF_OPT $CONFIGURE_EXT_OPT || {
echo " configure failed"
exit 1
}
echo "Now type 'make' to compile $package."

1
common

@ -1 +0,0 @@
Subproject commit 59cb678164719ff59dcf6c8b93df4617a1075d11

View file

@ -1,480 +0,0 @@
AC_PREREQ(2.69)
dnl initialize autoconf
dnl when going to/from release please set the nano (fourth number) right !
dnl releases only do Wall, cvs and prerelease does Werror too
AC_INIT(GStreamer libav, 1.17.0.1,
http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
gst-libav)
AG_GST_INIT
dnl initialize automake
AM_INIT_AUTOMAKE([-Wno-portability 1.14 no-dist-gzip dist-xz tar-ustar subdir-objects])
dnl define PACKAGE_VERSION_* variables
AS_VERSION
dnl check if this is a release version
AS_NANO(GST_GIT="no", GST_GIT="yes")
dnl can autoconf find the source ?
AC_CONFIG_SRCDIR([ext/libav/gstav.c])
dnl define the output header for config
AC_CONFIG_HEADERS([config.h])
dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
AM_MAINTAINER_MODE([enable])
dnl sets host_* variables
AC_CANONICAL_HOST
dnl use pretty build output by default
AM_SILENT_RULES([yes])
dnl our libraries and install dirs use major.minor as a version
GST_API_VERSION=$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR
dnl we override it here if we need to for the release candidate of new series
GST_API_VERSION=1.0
AC_SUBST(GST_API_VERSION)
dnl *** Check for external $AS vs detected by AS_LIBTOOL
orig_AS="$AS"
AG_GST_LIBTOOL_PREPARE
AS_LIBTOOL(GST, 1700, 0, 1700)
dnl *** required versions of GStreamer stuff ***
GST_REQ=1.17.0.1
GST_PBREQ=1.17.0.1
ORC_REQ=0.4.16
ORC_CHECK([$ORC_REQ])
dnl *** autotools stuff ****
dnl allow for different autotools
AS_AUTOTOOLS_ALTERNATE
dnl Add parameters for aclocal
AC_SUBST(ACLOCAL_AMFLAGS, "-I m4 -I common/m4")
dnl *** check for arguments to configure ***
AG_GST_ARG_DISABLE_FATAL_WARNINGS
AG_GST_ARG_ENABLE_EXTRA_CHECKS
AG_GST_ARG_WITH_PKG_CONFIG_PATH
AG_GST_ARG_WITH_PACKAGE_NAME
AG_GST_ARG_WITH_PACKAGE_ORIGIN
AG_GST_ARG_VALGRIND
AG_GST_ARG_GCOV
dnl *** checks for platform ***
dnl * hardware/architecture *
dnl common/m4/gst-arch.m4
dnl check CPU type
AG_GST_ARCH
dnl *** software ***
dnl check for large file support
dnl affected plugins must include config.h
AC_SYS_LARGEFILE
dnl *** checks for programs ***
dnl find a compiler
AC_PROG_CC
AC_PROG_CC_STDC
dnl check if the compiler supports '-c' and '-o' options
AM_PROG_CC_C_O
AC_PATH_PROG(VALGRIND_PATH, valgrind, no)
AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
dnl *** checks for libraries ***
dnl check for libm, for sin()
LT_LIB_M
AC_SUBST(LIBM)
dnl check for pthreads
AX_PTHREAD
dnl *** checks for header files ***
dnl check if we have ANSI C header files
AC_HEADER_STDC
dnl *** checks for types/defines ***
dnl *** checks for structures ***
dnl *** checks for compiler characteristics ***
dnl *** checks for library functions ***
dnl *** checks for dependancy libraries ***
dnl GLib is required
GLIB_REQ=2.44.0
AC_SUBST([GLIB_REQ])
AG_GST_GLIB_CHECK([$GLIB_REQ])
dnl checks for gstreamer
dnl uninstalled is selected preferentially -- see pkg-config(1)
AG_GST_CHECK_GST($GST_API_VERSION, [$GST_REQ])
AG_GST_CHECK_GST_BASE($GST_API_VERSION, [$GST_REQ])
AG_GST_CHECK_GST_PLUGINS_BASE($GST_API_VERSION, [$GST_PBREQ])
AG_GST_CHECK_GST_CHECK($GST_API_VERSION, [$GST_REQ], no)
AM_CONDITIONAL(HAVE_GST_CHECK, test "x$HAVE_GST_CHECK" = "xyes")
AC_MSG_NOTICE(Using GStreamer Core Plugins in $GST_PLUGINS_DIR)
AC_MSG_NOTICE(Using GStreamer Base Plugins in $GSTPB_PLUGINS_DIR)
dnl Check for -Bsymbolic-functions linker flag used to avoid
dnl intra-library PLT jumps, if available.
AC_ARG_ENABLE(Bsymbolic,
[AS_HELP_STRING([--disable-Bsymbolic],[avoid linking with -Bsymbolic])],,
[SAVED_LDFLAGS="${LDFLAGS}" SAVED_LIBS="${LIBS}"
AC_MSG_CHECKING([for -Bsymbolic linker flag])
LDFLAGS=-Wl,-Bsymbolic
LIBS=
AC_TRY_LINK([], [return 0],
AC_MSG_RESULT(yes)
enable_Bsymbolic=yes,
AC_MSG_RESULT(no)
enable_Bsymbolic=no)
LDFLAGS="${SAVED_LDFLAGS}" LIBS="${SAVED_LIBS}"])
dnl *** set variables based on configure arguments ***
dnl set location of plugin directory
AG_GST_SET_PLUGINDIR
dnl Detect if we are building static plugins, in which case we need to
dnl generates libav .la files and install the static libraries.
AM_CONDITIONAL(GST_PLUGIN_BUILD_STATIC, test "x$enable_static" = "xyes")
dnl define an ERROR_CFLAGS Makefile variable
AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [
-Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wundef
-Wwrite-strings -Wformat-nonliteral -Wformat-security -Wold-style-definition
-Winit-self -Wmissing-include-dirs -Waddress
-Waggregate-return -Wno-multichar -Wnested-externs -Wno-attributes])
dnl define correct level for debugging messages
AG_GST_SET_LEVEL_DEFAULT($GST_GIT)
dnl disable strict aliasing
AS_COMPILER_FLAG([-fno-strict-aliasing], [EXTRA_CFLAGS="-fno-strict-aliasing"])
AC_SUBST(EXTRA_CFLAGS)
dnl *** finalize CFLAGS, LDFLAGS, LIBS ***
dnl Overview:
dnl GST_OPTION_CFLAGS: common flags for profiling, debugging, errors, ...
dnl GST_*: flags shared by built objects to link against GStreamer
dnl GST_ALL_LDFLAGS: linker flags shared by all
dnl GST_LIB_LDFLAGS: additional linker flags for all libaries
dnl GST_LT_LDFLAGS: library versioning of our libraries
dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
dnl GST_OPTION_CFLAGS
if test "x$USE_DEBUG" = xyes; then
PROFILE_CFLAGS="-g"
fi
AC_SUBST(PROFILE_CFLAGS)
if test "x$GST_GIT" = "xyes"; then
DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
else
DEPRECATED_CFLAGS=""
fi
AC_SUBST(DEPRECATED_CFLAGS)
dnl every flag in GST_OPTION_CFLAGS can be overridden at make time
GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
AC_SUBST(GST_OPTION_CFLAGS)
dnl FIXME: do we want to rename to GST_ALL_* ?
dnl prefer internal headers to already installed ones
dnl also add builddir include for enumtypes and marshal
dnl add GST_OPTION_CFLAGS, but overridable
GST_CFLAGS="$GST_CFLAGS"
GST_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS $EXTRA_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)"
AC_SUBST(GST_CFLAGS)
AC_SUBST(GST_LIBS)
GST_ALL_LDFLAGS="-no-undefined"
if test "x${enable_Bsymbolic}" = "xyes"; then
GST_ALL_LDFLAGS="$GST_ALL_LDFLAGS -Wl,-Bsymbolic"
fi
AC_SUBST(GST_ALL_LDFLAGS)
dnl this really should only contain flags, not libs - they get added before
dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_.*' $GST_ALL_LDFLAGS"
AC_SUBST(GST_PLUGIN_LDFLAGS)
dnl Add MacOSX specific flags
AC_CANONICAL_HOST
case $host_os in
darwin*)
DARWIN_LDFLAGS="-Wl,-read_only_relocs,suppress"
;;
*)
DARWIN_LDFLAGS=""
;;
esac
AC_SUBST(DARWIN_LDFLAGS)
AC_ARG_ENABLE(gpl,
[AC_HELP_STRING([--enable-gpl], [build a GPL licensed gst-libav])])
AM_CONDITIONAL(GST_LIBAV_ENABLE_GPL, test "x$enable_gpl" = "xyes")
if test "x$enable_gpl" = "xyes"; then
AC_DEFINE([GST_LIBAV_ENABLE_GPL], [], [Defined if building a GPL-licensed version of gst-libav])
fi
dnl *** configure external libs ***
HAVE_LIBAV_UNINSTALLED=1
AC_ARG_WITH(system-libav,
[AC_HELP_STRING([--with-system-libav], [use system Libav libraries])])
HAVE_LZMA="no"
HAVE_BZ2="no"
if test "x$with_system_libav" = "xyes"; then
PKG_CHECK_MODULES(LIBAV, libavfilter libavformat libavcodec >= 58 libavutil)
saved_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $LIBAV_CFLAGS"
AC_CHECK_HEADERS([avi.h])
AC_DEFINE([LIBAV_SOURCE], ["system install"], [Describes where the Libav libraries come from.])
HAVE_LIBAV_UNINSTALLED=0
AC_MSG_NOTICE([Using system-installed libav code])
AC_MSG_CHECKING([whether libav is provided by FFmpeg])
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <libavcodec/avcodec.h>
]],[[
#if LIBAVCODEC_VERSION_MICRO >= 100
/* FFmpeg uses 100+ as its micro version */
#else
#error libav provider should be FFmpeg
#endif
]])], [is_ffmpeg=yes], [is_ffmpeg=no])
AC_MSG_RESULT([$is_ffmpeg])
CPPFLAGS="$saved_CPPFLAGS"
if test "$is_ffmpeg" = no; then
AC_MSG_ERROR([Uncompatible libavcodec found])
fi
else
AC_MSG_NOTICE([Using local Libav snapshot])
dnl *** Check for bz2
save_LIBS=$LIBS
LIBS="$LIBS -lbz2"
AC_MSG_CHECKING([for BZ2_bzlibVersion in -lbz2])
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <bzlib.h>]], [[const char *version = BZ2_bzlibVersion ();]])],[HAVE_BZ2=yes],[HAVE_BZ2=no])
AC_MSG_RESULT($HAVE_BZ2)
LIBS=$save_LIBS
if test "x$HAVE_BZ2" = "xno"; then
AC_WARN([libbz2 not found, matroska demuxer will not be able to read bz2 tracks])
BZ2_LIBS=
else
BZ2_LIBS="-lbz2"
fi
dnl *** Check for lzma
save_LIBS=$LIBS
LIBS="$LIBS -llzma"
AC_MSG_CHECKING([for lzma_version_string in -llzma])
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <lzma.h>]], [[const char *version = lzma_version_string ();]])],[HAVE_LZMA=yes],[HAVE_LZMA=no])
AC_MSG_RESULT($HAVE_LZMA)
LIBS=$save_LIBS
if test "x$HAVE_LZMA" = "xno"; then
AC_WARN([lzma not found, tiff reader will not be able to read lzma files])
LZMA_LIBS=
else
LZMA_LIBS="-llzma"
fi
dnl libgstlibav.la: include dirs
LIBAV_CPPFLAGS="-I \$(top_srcdir)/gst-libs/ext/libav \
-I \$(top_builddir)/gst-libs/ext/libav"
LIBAV_CFLAGS="-Wno-deprecated-declarations"
LIBAV_DEPS="\$(top_builddir)/gst-libs/ext/libav/libavfilter/libavfilter.a \
\$(top_builddir)/gst-libs/ext/libav/libavformat/libavformat.a \
\$(top_builddir)/gst-libs/ext/libav/libavcodec/libavcodec.a \
\$(top_builddir)/gst-libs/ext/libav/libswresample/libswresample.a \
\$(top_builddir)/gst-libs/ext/libav/libavutil/libavutil.a"
LIBAV_LIBS="$ac_pwd/gst-libs/ext/libavfilter.la \
$ac_pwd/gst-libs/ext/libavformat.la \
$ac_pwd/gst-libs/ext/libavcodec.la \
$ac_pwd/gst-libs/ext/libswresample.la \
$ac_pwd/gst-libs/ext/libavutil.la"
LIBAV_SUBDIRS=gst-libs
AC_DEFINE(HAVE_AVI_H)
AC_DEFINE([LIBAV_SOURCE], ["local snapshot"], [Describes where the Libav libraries come from.])
AC_ARG_WITH(libav-extra-configure,
AC_HELP_STRING([--with-libav-extra-configure="xxx"],
[extra configure options for internal libav ./configure script]),,
with_libav=no)
# basic arguments
emblibav_configure_args="--prefix=$prefix"
# Enable pic and static so that we get .a files, but with PIC code.
emblibav_configure_args="$emblibav_configure_args \
--enable-static --enable-pic \
--disable-avdevice --disable-postproc --disable-swscale \
--disable-programs --disable-ffplay --disable-ffprobe --disable-ffmpeg \
--disable-encoder=flac --disable-protocols --disable-devices \
--disable-network --disable-hwaccels --disable-dxva2 --disable-vdpau \
--disable-filters --enable-filter=yadif --disable-doc --disable-d3d11va \
--disable-audiotoolbox --disable-videotoolbox --disable-vaapi --disable-crystalhd \
--disable-mediacodec --disable-nvenc --disable-mmal --disable-omx \
--disable-omx-rpi --disable-cuda --disable-cuvid --disable-libmfx \
--disable-libnpp --disable-iconv --disable-jni --disable-v4l2_m2m --enable-optimizations"
if test "x$enable_gpl" == "xyes"; then
emblibav_configure_args="$emblibav_configure_args --enable-gpl"
fi
# if we are cross-compiling, tell libav so
case $host in
*android*)
target_os=linux
;;
*darwin*)
target_os=darwin
;;
*)
target_os=`echo $host_os | sed 's/-gnu.*//'`
;;
esac
if test "x$cross_compiling" = xyes; then
emblibav_configure_args="$emblibav_configure_args --enable-cross-compile \
--target-os=$target_os --arch=$host_cpu --cross-prefix=$host_alias-"
fi
case $host_os in
mingw32*)
WIN32_LIBS="-lws2_32 -lbcrypt"
;;
*)
WIN32_LIBS=
;;
esac
if test x"$AR" != x; then
emblibav_configure_args="$emblibav_configure_args --ar=\\\"\\\$AR\\\""
fi
if test x"$orig_AS" != x; then
emblibav_configure_args="$emblibav_configure_args --as=\\\"\\\$orig_AS\\\""
export orig_AS
elif test x"$CC" != x; then
dnl No external $AS - try $CC for the libav assembler
emblibav_configure_args="$emblibav_configure_args --as=\\\"\\\$CC\\\""
fi
if test x"$CC" != x; then
emblibav_configure_args="$emblibav_configure_args --cc=\\\"\\\$CC\\\""
fi
if test x"$LD" != x; then
emblibav_configure_args="$emblibav_configure_args --ld=\\\"\\\$CC\\\""
fi
if test x"$NM" != x; then
emblibav_configure_args="$emblibav_configure_args --nm=\\\"\\\$NM\\\""
fi
dnl checks for extra enable/disable flags
LIBAV_OPTS=`cd $srcdir/gst-libs/ext/libav && ./configure --help`
# Let's check if we can disable the building of the libav binary
can_disable=`echo "$LIBAV_OPTS" | grep 'disable-ffmpeg'`
if test "$can_disable" != ""; then
emblibav_configure_args="$emblibav_configure_args --disable-ffmpeg"
fi
# append extra configure options to emblibav_configure_args if needed
if test "x$with_libav_extra_configure" != "xno"; then
emblibav_configure_args="$emblibav_configure_args $with_libav_extra_configure"
fi
AC_SUBST(LIBAV_CO_DIR)
AC_SUBST(LIBAV_SVN)
AC_SUBST(LIBAV_REVISION)
AC_SUBST(LIBAV_EXTERNALS_REVISION)
AC_CONFIG_COMMANDS([configure-embedded-libav],
[echo "Configuring included Libav instance with args $emblibav_configure_args"
origdir=`pwd`
dnl Don't put path on the configure call when not needed, as FFmpeg's configure relies on it
dnl to detect out-of-tree builds
if test -z "$srcdir" -o "$srcdir" = .; then
confcmd=./configure
else
confcmd="$ac_abs_top_srcdir"/gst-libs/ext/libav/configure
fi
gasppdir="$ac_abs_top_srcdir"/gst-libs/ext/gas-preprocessor
AS_MKDIR_P(["$ac_top_build_prefix"gst-libs/ext/libav])
oldPATH="$PATH"
PATH="$gasppdir:$PATH"
cd "$ac_top_build_prefix"gst-libs/ext/libav &&
eval "$confcmd $emblibav_configure_args" ||
AC_MSG_ERROR([Failed to configure embedded Libav tree])
PATH="$oldPATH"
cd "$origdir"
],
[emblibav_configure_args="$emblibav_configure_args"])
AC_MSG_NOTICE([Using included Libav code])
fi
AM_CONDITIONAL(HAVE_BZ2, test "x$HAVE_BZ2" = "xyes")
AM_CONDITIONAL(HAVE_LZMA, test "x$HAVE_LZMA" = "xyes")
AC_SUBST(LIBAV_CPPFLAGS)
AC_SUBST(LIBAV_CFLAGS)
AC_SUBST(LIBAV_DEPS)
AC_SUBST(LIBAV_LIBS)
AC_SUBST(LIBAV_SUBDIRS)
AC_SUBST(WIN32_LIBS)
AC_SUBST(BZ2_LIBS)
AC_SUBST(LZMA_LIBS)
if test x$HAVE_LIBAV_UNINSTALLED = x1; then
AC_DEFINE(HAVE_LIBAV_UNINSTALLED, [], [Defined if building against uninstalled Libav source])
fi
AM_CONDITIONAL(HAVE_LIBAV_UNINSTALLED, test x$HAVE_LIBAV_UNINSTALLED = x1)
AC_CONFIG_FILES(
Makefile
common/Makefile
common/m4/Makefile
ext/Makefile
ext/libav/Makefile
gst-libs/Makefile
gst-libs/ext/Makefile
tests/Makefile
tests/check/Makefile
tests/files/Makefile
pkgconfig/Makefile
pkgconfig/gstreamer-plugins-libav-uninstalled.pc
)
AC_OUTPUT
ORC_OUTPUT

1
docs/.gitignore vendored
View file

@ -1 +0,0 @@
version.entities

View file

@ -1,3 +0,0 @@
SUBDIRS = libav
DIST_SUBDIRS = libav

View file

@ -1,48 +0,0 @@
plugin_LTLIBRARIES = libgstlibav.la
libgstlibav_la_SOURCES = gstav.c \
gstavprotocol.c \
gstavcodecmap.c \
gstavutils.c \
gstavaudenc.c \
gstavvidenc.c \
gstavauddec.c \
gstavviddec.c \
gstavcfg.c \
gstavdemux.c \
gstavmux.c \
gstavdeinterlace.c
#\
# gstavaudioresample.c
# \
# gstavscale.c
libgstlibav_la_CPPFLAGS = $(LIBAV_CPPFLAGS) $(GST_PLUGINS_BASE_CPPFLAGS) $(GST_CPPFLAGS)
libgstlibav_la_CFLAGS = $(LIBAV_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
libgstlibav_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) \
-lgstaudio-$(GST_API_VERSION) -lgstvideo-$(GST_API_VERSION) \
-lgstpbutils-$(GST_API_VERSION) $(GST_BASE_LIBS) \
$(LIBAV_LIBS) $(WIN32_LIBS) -lz $(BZ2_LIBS) $(LZMA_LIBS)
libgstlibav_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(DARWIN_LDFLAGS)
if HAVE_LIBAV_UNINSTALLED
libgstlibav_la_DEPENDENCIES = $(LIBAV_DEPS)
# FIXME: For some reason libtool ignores libavfilter.la, add it
install-data-hook:
$(AM_V_at)cd $(DESTDIR)$(plugindir) \
&& sed -e "s|\($(libdir)/libavformat.la\)|$(libdir)/libavfilter.la \1|" \
libgstlibav.la > libgstlibav.la.tmp && cp libgstlibav.la.tmp libgstlibav.la && rm libgstlibav.la.tmp
endif
noinst_HEADERS = \
gstav.h \
gstavcodecmap.h \
gstavutils.h \
gstavauddec.h \
gstavviddec.h \
gstavaudenc.h \
gstavvidenc.h \
gstavcfg.h \
gstavprotocol.h

View file

@ -1 +0,0 @@
SUBDIRS = ext

View file

@ -1,160 +0,0 @@
# we have to put in a little hack here for integration to work well
# libav can't be in SUBDIRS, because then automake will try to descend in it
# and find conditionals it doesn't know.
# so,
# - don't put it in SUBDIRS so automake doesn't descend
# - put it in DIST_SUBDIRS so make dist picks up the subtree
# - add an all-local hook so it does get built
# this also satisfies make distcheck
SUBDIRS =
DIST_SUBDIRS = libav
TMP_DIST_DIR=libav-dist
DIST_DIR=$(TMP_DIST_DIR)/.libav
EXTRA_DIST=Makefile.am
MAINTAINERCLEANDIRS = $(DIST_SUBDIRS)
LIB_LIST=libavutil libswresample libavcodec libavformat libavfilter
# attempt to generate .la references from -l and a list of -L
# $1 is the argument to filter, -l, -L, -I, etc
# $2 is the list to filter
define filter_arg
$(foreach item,$(filter $(1)%,$(2)),$(patsubst $(1)%,%,$(item)))
endef
# $1 library to find
# $2 directories to search
define find_la
$(firstword $(wildcard $(foreach path,$(call filter_arg,-L,$(2)), $(path)/lib$(strip $(call filter_arg,-l,$(1))).la)))
endef
# $(call find_la,...) and if a library is found use that, otherwise, return the
# original lib unchanged
define find_la_or_original
$(if $(strip $(call find_la,$1,$2)),$(call find_la,$1,$2),$(1))
endef
# $1 the libraries to look for (including -l) e.g. -lbz2 -lz
# $2 LDFLAGS containing -L arguments
define find_library_la
$(foreach lib,$(1),$(call find_la_or_original,$(lib),$(2)))
endef
define create_la
echo " GEN $1.la" && \
(echo "# $1.la - a libtool library file" && \
echo "# Generated by libtool (GNU libtool) 2.4.6" && \
echo "dlname=''" && \
echo "library_names=''" && \
echo "old_library='$1.a'" && \
echo "inherited_linker_flags=''" && \
echo "dependency_libs=' -L$(libdir) $(if $2,$(foreach dep,$2,$(abs_builddir)/$(dep).la)) $(call find_library_la,$3 $(LIBM),$(LDFLAGS)) '" && \
echo "weak_library_names=''" && \
echo "current=" && \
echo "age=" && \
echo "revision=" && \
echo "installed=no" && \
echo "shouldnotlink=no" && \
echo "dlopen=''" && \
echo "dlpreopen=''" && \
echo "libdir='$(libdir)'") > $1.la
endef
libavutil.la:
$(AM_V_at)$(call create_la,libavutil)
libswresample.la:
$(AM_V_at)$(call create_la,libswresample,libavutil)
libavcodec.la:
$(AM_V_at)$(call create_la,libavcodec,libswresample libavutil,-lz $(LZMA_LIBS))
libavformat.la:
$(AM_V_at)$(call create_la,libavformat,libavcodec libavutil,$(LIBM) -lz $(BZ2_LIBS))
libavfilter.la:
$(AM_V_at)$(call create_la,libavfilter,libavformat libavcodec libswresample libavutil)
all-local: $(foreach lib,$(LIB_LIST),$(lib).la)
cd libav && $(MAKE)
$(AM_V_at)$(MKDIR_P) .libs
$(AM_V_at)for lib in $(LIB_LIST); do \
if ! test -f .libs/$${lib}.a; then \
echo " CP $${lib}"; \
cp libav/$${lib}/$${lib}.a .libs/$${lib}.a; \
fi; \
done
if GST_PLUGIN_BUILD_STATIC
define install_la
echo " INSTALL $1.la" && \
sed -e "s|$(abs_builddir)|$(libdir)|g" \
-e "s|installed=no|installed=no|" \
$1.la > $(DESTDIR)$(libdir)/$1.la
endef
# Normally DATA is built before am-local, fix it
.libs/libavutil.a: all-local
.libs/libswresample.a: all-local
.libs/libavcodec.a: all-local
.libs/libavformat.a: all-local
.libs/libavfilter.a: all-local
depsdir = $(libdir)
nodist_deps_DATA = \
.libs/libavutil.a \
.libs/libswresample.a \
.libs/libavcodec.a \
.libs/libavformat.a \
.libs/libavfilter.a
install-data-hook:
$(AM_V_at)$(call install_la,libavutil)
$(AM_V_at)$(call install_la,libswresample)
$(AM_V_at)$(call install_la,libavcodec)
$(AM_V_at)$(call install_la,libavformat)
$(AM_V_at)$(call install_la,libavfilter)
endif
clean-local:
cd libav && $(MAKE) clean
rm -rf .libs
rm -f *.la
dist-clean:
cd libav && $(MAKE) distclean
rm -rf libav/$(TMP_DIST_DIR)
rm -f Makefile
rm -f libav/.version
rm -f libav/.config
distclean: dist-clean
maintainer-clean: distclean
rm -rf $(MAINTAINERCLEANDIRS)
maintainerclean: maintainer-clean
dist-local:
GIT_DIR=$(srcdir)/libav/.git git checkout-index --prefix=$(abs_builddir)/libav/$(TMP_DIST_DIR)/libav/ -a
touch libav/$(TMP_DIST_DIR)/libav/config.mak
echo "Patching libav ./configure"
sed -e '/Unknown option/ {N;N;s/exit 1//; }' libav/$(TMP_DIST_DIR)/libav/configure > libav/$(TMP_DIST_DIR)/libav/configure.tmp
mv libav/$(TMP_DIST_DIR)/libav/configure.tmp libav/$(TMP_DIST_DIR)/libav/configure
chmod +x libav/$(TMP_DIST_DIR)/libav/configure
distdir: dist-local
cp -r libav/$(TMP_DIST_DIR)/libav ${distdir}
cp -f $(top_srcdir)/gst-libs/ext/Makefile.am $(top_srcdir)/gst-libs/ext/Makefile.in ${distdir}
rm -rf libav/$(TMP_DIST_DIR)
dist: dist-local
cd libav/$(TMP_DIST_DIR) && tar -czf libav.tar.gz libav
mv libav/$(TMP_DIST_DIR)/libav.tar.gz ./
rm -rf libav/$(TMP_DIST_DIR)

@ -1 +0,0 @@
Subproject commit f8a2d8c155bda8d925a7ee2ed8315c553a2b865f

@ -1 +0,0 @@
Subproject commit 4154f8967820ca734a77ce91bb590cd77649dee8

View file

@ -1,59 +0,0 @@
dnl slurp-ffmpeg.m4 0.1.1
dnl a macro to slurp in ffmpeg's cvs source inside a project tree
dnl taken from Autostar Sandbox, http://autostars.sourceforge.net/
dnl Usage:
dnl AS_SLURP_FFMPEG(DIRECTORY, DATE, [ACTION-IF-WORKED [, ACTION-IF-NOT-WORKED]]])
dnl
dnl Example:
dnl AM_PATH_FFMPEG(lib/ffmpeg, 2002-12-14 12:00 GMT)
dnl
dnl make sure you have a Tag file in the dir where you check out that
dnl is the Tag of CVS you want to have checked out
dnl it should correspond to the DATE argument you supply, ie resolve to
dnl the same date
dnl (in an ideal world, cvs would understand it's own Tag file format as
dnl a date spec)
AC_DEFUN([AS_SLURP_FFMPEG],
[
# save original dir
FAILED=""
DIRECTORY=`pwd`
# get/update cvs
if test ! -d $1; then mkdir -p $1; fi
dnl we need to check $srcdir/$1 or it will always checkout ffmpeg even if it is there
dnl at least when top_srcdir != top_builddir.
dnl FIXME: unfortunately this makes the checkout go into top_srcdir
cd $srcdir/$1
if test ! -e ffmpeg/README; then
# check out cvs code
AC_MSG_NOTICE(checking out ffmpeg cvs code from $2 into $1)
cvs -Q -z4 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg co -D '$2' ffmpeg || FAILED=yes
else
# compare against Tag file and see if it needs updating
if test "`cat Tag`" == "$2"; then
AC_MSG_NOTICE(ffmpeg cvs code in sync)
else
cd ffmpeg
AC_MSG_NOTICE(updating ffmpeg cvs code to $2)
cvs -Q -z4 update -dP -D '$2' || FAILED=yes
cd ..
fi
fi
if test "x$FAILED" != "xyes"; then
echo "$2" > Tag
fi
# now go back
cd $DIRECTORY
if test "x$FAILED" == "xyes"; then
[$4]
false
else
[$3]
true
fi
])

View file

@ -1 +0,0 @@
*.pc

View file

@ -1,31 +0,0 @@
### all of the standard pc files we need to generate
pcverfiles = \
gstreamer-plugins-libav-@GST_API_VERSION@.pc
pcverfiles_uninstalled = \
gstreamer-plugins-libav-@GST_API_VERSION@-uninstalled.pc
### all-local: $(pcverfiles) $(pcverfiles_uninstalled)
all-local: $(pcverfiles_uninstalled)
cp_verbose = $(cp_verbose_$(V))
cp_verbose_ = $(cp_verbose_$(AM_DEFAULT_VERBOSITY))
cp_verbose_0 = @echo " CP $@";
### how to generate versioned .pc files from .pc files in this dir
%-@GST_API_VERSION@.pc: %.pc
$(cp_verbose)cp $< $@
%-@GST_API_VERSION@-uninstalled.pc: %-uninstalled.pc
$(cp_verbose)cp $< $@
# do not install for now
# pkgconfigdir = $(libdir)/pkgconfig
# pkgconfig_DATA = $(pcverfiles)
CLEANFILES = $(pcverfiles) $(pcverfiles_uninstalled)
# pcinfiles = \
# gstreamer-plugins-libav.pc.in gstreamer-plugins-libav-uninstalled.pc.in
pcinfiles = \
gstreamer-plugins-libav-uninstalled.pc.in
DISTCLEANFILES = $(pcinfiles:.in=)
EXTRA_DIST = $(pcinfiles)

View file

@ -1,10 +0,0 @@
if HAVE_GST_CHECK
SUBDIRS_CHECK = check
else
SUBDIRS_CHECK =
endif
SUBDIRS = $(SUBDIRS_CHECK) files
DIST_SUBDIRS = check files

View file

@ -1,4 +0,0 @@
test-registry.*
elements/avdec_adpcm
elements/avdemux_ape
.dirstamp

View file

@ -1,46 +0,0 @@
include $(top_srcdir)/common/check.mak
CHECK_REGISTRY = $(top_builddir)/tests/check/test-registry.xml
TEST_FILES_DIRECTORY = $(top_srcdir)/tests/files
REGISTRY_ENVIRONMENT = \
GST_REGISTRY_1_0=$(CHECK_REGISTRY)
AM_TESTS_ENVIRONMENT += \
$(REGISTRY_ENVIRONMENT) \
GST_PLUGIN_SYSTEM_PATH_1_0= \
GST_PLUGIN_PATH_1_0=$(top_builddir)/gst:$(top_builddir)/ext:$(top_builddir)/../gst-plugins-good/gst:$(GSTPB_PLUGINS_DIR):$(GST_PLUGINS_DIR)
# ths core dumps of some machines have PIDs appended
CLEANFILES = core.* test-registry.xml
clean-local: clean-local-check
check_PROGRAMS = \
generic/plugin-test \
generic/libavcodec-locking \
elements/avdec_adpcm \
elements/avdemux_ape
VALGRIND_TO_FIX = \
generic/plugin-test \
generic/libavcodec-locking \
elements/avdemux_ape
TESTS = $(check_PROGRAMS)
# these tests don't even pass
noinst_PROGRAMS =
AM_CFLAGS = $(GST_OBJ_CFLAGS) $(GST_CHECK_CFLAGS) $(CHECK_CFLAGS) \
$(GST_OPTION_CFLAGS) -DGST_TEST_FILES_PATH="\"$(TEST_FILES_DIRECTORY)\"" \
$(PTHREAD_CFLAGS)
LDADD = $(GST_OBJ_LIBS) $(GST_CHECK_LIBS) $(CHECK_LIBS)
# valgrind testing
VALGRIND_TESTS_DISABLE = $(VALGRIND_TO_FIX)
SUPPRESSIONS = $(top_srcdir)/common/gst.supp $(srcdir)/gst-libav.supp
EXTRA_DIST = gst-libav.supp

View file

@ -1,3 +0,0 @@
.dirstamp
libavcodec-locking
plugin-test

View file

@ -1,3 +0,0 @@
EXTRA_DIST = \
586957.ape \
591809.wav