Commit 289d8e53 authored by Tim-Philipp Müller's avatar Tim-Philipp Müller 🐠

Remove autotools build system

parent 2409f4f3
aclocal.m4
autom4te.cache
config.h
config.h.in
config.log
config.status
config.guess
config.sub
config.rpath
configure
gstreamer-libs-uninstalled*.pc
gstreamer-libs*.pc
gstreamer-play-uninstalled*.pc
gstreamer-play*.pc
libtool
stamp-h
stamp-h.in
stamp-h1
gst-element-check-*.m4
ltmain.sh
missing
mkinstalldirs
compile
install-sh
depcomp
autoregen.sh
ABOUT-NLS
/INSTALL
_stdint.h
gst-plugins-base-*.tar*
.deps
.libs
*.lo
*.la
*.o
*~
*.bak
/m4
Makefile.in
Makefile
*.gir
*.typelib
*.gc??
.dirstamp
/gst-libs/gst/pbutils/gstpluginsbaseversion.h
/gst-libs/gst/tag/mklangtables
/gst-libs/gst/tag/mklicensestables
/gst-libs/gst/audio/audio-marshal.[ch]
/gst-libs/gst/video/video-marshal.[ch]
/gst-libs/gst/*/*-enumtypes.[ch]
/tests/examples/compositor/crossfade
/tests/examples/playback/playback-test
tmp-orc.c
gst*orc.h
tests/check/orc
Build
*.user
......@@ -67,9 +9,7 @@ Build
*.opensdf
*.DS_Store
/test-driver
*.trs
*.log
# Meson
/build
/_build
/subprojects
[submodule "common"]
path = common
url = https://gitlab.freedesktop.org/gstreamer/common.git
if BUILD_EXTERNAL
SUBDIRS_EXT = ext
else
SUBDIRS_EXT =
endif
SUBDIRS = \
pkgconfig \
gst-libs \
gst sys $(SUBDIRS_EXT) \
tools \
tests \
po \
common \
m4
DIST_SUBDIRS = \
pkgconfig \
gst-libs \
gst sys ext \
tools \
tests \
po \
common \
m4
EXTRA_DIST = \
depcomp \
AUTHORS COPYING NEWS README RELEASE REQUIREMENTS \
ChangeLog gst-plugins-base.doap autogen.sh \
$(shell find "$(top_srcdir)" -type f -name meson.build ! -path "$(top_srcdir)/$(PACKAGE_TARNAME)-*" ) \
gst-libs/gst/gl/gstglconfig.h.meson \
meson_options.txt
DISTCLEANFILES = _stdint.h
ACLOCAL_AMFLAGS = -I m4 -I common/m4
include $(top_srcdir)/common/release.mak
include $(top_srcdir)/common/po.mak
check-valgrind:
$(MAKE) -C tests/check check-valgrind
if HAVE_GST_CHECK
check-torture:
$(MAKE) -C tests/check torture
build-checks:
$(MAKE) -C tests/check build-checks
else
check-torture:
true
build-checks:
true
endif
include $(top_srcdir)/common/coverage/lcov.mak
# cruft: plugins that have been merged or moved or renamed
CRUFT_FILES = \
$(top_builddir)/gst-plugins-base.spec \
$(top_builddir)/common/shave \
$(top_builddir)/common/shave-libtool \
$(top_builddir)/gst-libs/gst/audio/testchannels \
$(top_builddir)/gst-libs/gst/app/gstapp-marshal.c \
$(top_builddir)/gst-libs/gst/app/gstapp-marshal.h \
$(top_builddir)/gst/encoding/.libs/libgstencodebin.so \
$(top_builddir)/tests/check/elements/gdppay \
$(top_builddir)/tests/check/elements/gdpdepay \
$(top_builddir)/tests/check/pipelines/streamheader \
$(top_builddir)/tests/examples/audio/testchannels \
$(top_builddir)/tests/examples/volume/volume \
$(top_builddir)/tools/gst-discoverer
CRUFT_DIRS = \
$(top_srcdir)/docs/design \
$(top_srcdir)/ext/gio \
$(top_srcdir)/gst/gdp \
$(top_srcdir)/sys/v4l \
$(top_srcdir)/win32 \
$(top_srcdir)/tests/examples/v4l
include $(top_srcdir)/common/cruft.mak
all-local: check-cruft
......@@ -9,17 +9,22 @@ WHERE TO START
--------------
We have a website at
http://gstreamer.freedesktop.org/
You should start by going through our FAQ at
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/faq/html/
https://gstreamer.freedesktop.org
There is more documentation; go to
http://gstreamer.freedesktop.org/documentation
Our documentation, including tutorials, API reference and FAQ can be found at
You can subscribe to our mailing lists; see the website for details.
https://gstreamer.freedesktop.org/documentation/
We track bugs in GNOME's bugzilla; see the website for details.
You can subscribe to our mailing lists:
https://lists.freedesktop.org/mailman/listinfo/gstreamer-announce
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
We track bugs, feature requests and merge requests (patches) in GitLab at
https://gitlab.freedesktop.org/gstreamer/
You can join us on IRC - #gstreamer on irc.freenode.org
......@@ -137,12 +142,11 @@ PLATFORMS
---------
- Linux is of course fully supported
- FreeBSD is reported to work; other BSDs should work too
- Solaris is reported to work; a specific sunaudiosink plugin has been written
- MacOSX works, binary 1.x packages can be built using the cerbero build tool
- FreeBSD is reported to work; other BSDs should work too; same for Solaris
- MacOS works, binary 1.x packages can be built using the cerbero build tool
- Windows works; binary 1.x packages can be built using the cerbero build tool
- MSys/MinGW builds
- Microsoft Visual Studio builds are not yet available or supported
- Microsoft Visual Studio builds are also available and supported
- Android works, binary 1.x packages can be built using the cerbero build tool
- iOS works
......@@ -151,36 +155,49 @@ INSTALLING FROM PACKAGES
You should always prefer installing from packages first. GStreamer is
well-maintained for a number of distributions, including Fedora, Debian,
Ubuntu, Mandrake, Gentoo, ...
Ubuntu, Mandrake, Arch Linux, Gentoo, ...
Only in cases where you:
- want to hack on GStreamer
- want to verify that a bug has been fixed
- do not have a sane distribution
- want to hack on GStreamer
- want to verify that a bug has been fixed
- do not have a sane distribution
should you choose to build from source tarballs or git.
Find more information about the various packages at
http://gstreamer.freedesktop.org/download/
https://gstreamer.freedesktop.org/download/
COMPILING FROM SOURCE TARBALLS
------------------------------
- again, make sure that you really need to install from source !
- again, make sure that you really need to install from source!
If GStreamer is one of your first projects ever that you build from source,
consider taking on an easier project.
- check output of ./configure --help to see if any options apply to you
- you need a recent version of Meson installed, see
http://mesonbuild.com/Getting-meson.html
and
https://gitlab.freedesktop.org/gstreamer/gst-build/blob/master/README.md
- run
./configure
make
meson build
ninja -C build
to build GStreamer.
- if you want to install it (not required, but what you usually want to do), run
make install
ninja -C build install
- try out a simple test:
gst-launch -v fakesrc num_buffers=5 ! fakesink
(If you didn't install GStreamer, prefix gst-launch with tools/)
gst-launch-1.0 -v fakesrc num_buffers=5 ! fakesink
(If you didn't install GStreamer, run `./build/tools/gst-launch-1.0`)
If it outputs a bunch of messages from fakesrc and fakesink, everything is
ok.
......@@ -196,45 +213,25 @@ COMPILING FROM SOURCE TARBALLS
COMPILING FROM GIT
------------------
When building from git sources, you will need to run autogen.sh to generate
the build system files.
You will need a set of additional tools typical for building from git,
including:
- autoconf
- automake
- libtool
autogen.sh will check for recent enough versions and complain if you don't have
them. You can also specify specific versions of automake and autoconf with
--with-automake and --with-autoconf
Check autogen.sh options by running autogen.sh --help
autogen.sh can pass on arguments to configure
When you have done this once, you can use autoregen.sh to re-autogen with
the last passed options as a handy shortcut. Use it.
After the autogen.sh stage, you can follow the directions listed in
"COMPILING FROM SOURCE"
You can build an uninstalled GStreamer from git for development or testing
purposes without affecting your system installation.
You can also run your whole git stack uninstalled in your home directory,
so that you can quickly test changes without affecting your system setup or
interfering with GStreamer installed from packages. Many GStreamer developers
use an uninstalled setup for their work.
Get started with:
There is a 'create-uninstalled-setup.sh' script in
git clone https://gitlab.freedesktop.org/gstreamer/gst-build
meson build
ninja -C build
ninja -C build uninstalled
http://cgit.freedesktop.org/gstreamer/gstreamer/tree/scripts/
For more information, see the `gst-build` module and its documentation:
to easily create an uninstalled setup from scratch.
https://gitlab.freedesktop.org/gstreamer/gst-build/blob/master/README.md
PLUG-IN DEPENDENCIES AND LICENSES
---------------------------------
GStreamer is developed under the terms of the LGPL (see LICENSE file for
GStreamer is developed under the terms of the LGPL (see COPYING file for
details). Some of our plug-ins however rely on libraries which are available
under other licenses. This means that if you are distributing an application
which has a non-GPL compatible license (for instance a closed-source
......
#!/bin/sh
#
# gst-plugins-base 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-plugins-base
srcfile=gst-plugins-base.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-plugins-base-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."
Subproject commit 59cb678164719ff59dcf6c8b93df4617a1075d11
This diff is collapsed.
if USE_ALSA
ALSA_DIR=alsa
else
ALSA_DIR=
endif
if USE_CDPARANOIA
CDPARANOIA_DIR=cdparanoia
else
CDPARANOIA_DIR=
endif
if USE_GL
GL_DIR=gl
else
GL_DIR=
endif
if USE_LIBVISUAL
LIBVISUAL_DIR=libvisual
else
LIBVISUAL_DIR=
endif
if USE_OGG
OGG_DIR=ogg
else
OGG_DIR=
endif
if USE_OPUS
OPUS_DIR=opus
else
OPUS_DIR=
endif
if USE_PANGO
PANGO_DIR = pango
else
PANGO_DIR =
endif
if USE_VORBIS
VORBIS_DIR=vorbis
endif
if USE_IVORBIS
VORBIS_DIR=vorbis
endif
if !USE_VORBIS
if !USE_IVORBIS
VORBIS_DIR=
endif
endif
if USE_THEORA
THEORA_DIR=theora
else
THEORA_DIR=
endif
SUBDIRS = \
$(ALSA_DIR) \
$(CDPARANOIA_DIR) \
$(GL_DIR) \
$(LIBVISUAL_DIR) \
$(OGG_DIR) \
$(OPUS_DIR) \
$(PANGO_DIR) \
$(THEORA_DIR) \
$(VORBIS_DIR)
DIST_SUBDIRS = \
alsa \
cdparanoia \
gl \
libvisual \
ogg \
opus \
pango \
theora \
vorbis
include $(top_srcdir)/common/parallel-subdirs.mak
plugin_LTLIBRARIES = libgstalsa.la
libgstalsa_la_SOURCES = \
gstalsadeviceprovider.c \
gstalsaplugin.c \
gstalsasink.c \
gstalsasrc.c \
gstalsamidisrc.c \
gstalsa.c
libgstalsa_la_CFLAGS = \
$(GST_PLUGINS_BASE_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_CFLAGS) \
$(ALSA_CFLAGS)
libgstalsa_la_LIBADD = \
$(top_builddir)/gst-libs/gst/audio/libgstaudio-$(GST_API_VERSION).la \
$(GST_BASE_LIBS) \
$(ALSA_LIBS)
libgstalsa_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
noinst_HEADERS = \
gstalsa.h \
gstalsadeviceprovider.h \
gstalsasrc.h \
gstalsasink.h \
gstalsamidisrc.h
plugin_LTLIBRARIES = libgstcdparanoia.la
libgstcdparanoia_la_SOURCES = gstcdparanoiasrc.c
libgstcdparanoia_la_CFLAGS = \
$(GST_PLUGINS_BASE_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_CFLAGS) \
$(CDPARANOIA_CFLAGS)
libgstcdparanoia_la_LIBADD = \
$(top_builddir)/gst-libs/gst/audio/libgstaudio-$(GST_API_VERSION).la \
$(GST_BASE_LIBS) \
$(GST_LIBS) \
$(CDPARANOIA_LIBS)
libgstcdparanoia_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
noinst_HEADERS = gstcdparanoiasrc.h
plugin_LTLIBRARIES = libgstopengl.la
libgstopengl_la_SOURCES = \
gstopengl.c \
gstglalpha.c \
gstgluploadelement.c \
gstgldownloadelement.c \
gstglcolorconvertelement.c \
gstglfilterbin.c \
gstglsinkbin.c \
gstglsrcbin.c \
gstglimagesink.c \
gstglfiltercube.c \
gstgleffects.c \
effects/gstgleffectscurves.c \
effects/gstgleffectssources.c \
effects/gstgleffectidentity.c \
effects/gstgleffectmirror.c \
effects/gstgleffectsqueeze.c \
effects/gstgleffectstretch.c \
effects/gstgleffectfisheye.c \
effects/gstgleffecttwirl.c \
effects/gstgleffectbulge.c \
effects/gstgleffecttunnel.c \
effects/gstgleffectsquare.c \
effects/gstgleffectlumatocurve.c \
effects/gstgleffectrgbtocurve.c \
effects/gstgleffectsin.c \
effects/gstgleffectxray.c \
effects/gstgleffectglow.c \
effects/gstgleffectblur.c \
effects/gstgleffectsobel.c \
effects/gstgleffectlaplacian.c \
gstglbasemixer.c \
gstglcolorscale.c \
gstglcolorbalance.c \
gstgldeinterlace.c \
gstglfiltershader.c \
gstglfilterapp.c \
gstglmixer.c \
gstglmixerbin.c \
gstglstereomix.c \
gstglstereosplit.c \
gstglvideomixer.c \
gstglviewconvert.c \
gltestsrc.c \
gstgltestsrc.c \
gstgloverlaycompositorelement.c \
gstglutils.c
noinst_HEADERS = \
gstglalpha.h \
gstgluploadelement.h \
gstgldownloadelement.h \
gstglcolorconvertelement.h \
gstglfilterbin.h \
gstglsinkbin.h \
gstglsrcbin.h \
gstglimagesink.h \
gstglfiltercube.h \
gstgleffects.h \
effects/gstgleffectssources.h \
gstglbasemixer.h \
gstglcolorscale.h \
gstglcolorbalance.h \
gstgldeinterlace.h \
gstglfiltershader.h \
gstglfilterapp.h \
gstglmixer.h \
gstglmixerbin.h \
gstglstereomix.h \
gstglstereosplit.h \
gstglvideomixer.h \
gstglviewconvert.h \
gltestsrc.h \
gstgltestsrc.h \
gstgloverlaycompositorelement.h \
gstglutils.h
# full opengl required
if USE_OPENGL
libgstopengl_la_SOURCES += \
gstglmosaic.c \
gstglfilterglass.c
noinst_HEADERS += \
gstglfilterglass.h \
gstglmosaic.h \
effects/gstgleffectscurves.h \
effects/gstgleffectlumatocurve.h
if HAVE_PNG
libgstopengl_la_SOURCES += \
gstgldifferencematte.c
noinst_HEADERS += \
gstgldifferencematte.h
endif
endif
if HAVE_GRAPHENE
libgstopengl_la_SOURCES += \
gstgltransformation.c \
gstglvideoflip.c
noinst_HEADERS += \
gstgltransformation.h \
gstglvideoflip.h
endif
if HAVE_JPEG
if HAVE_PNG
libgstopengl_la_SOURCES += \
gstgloverlay.c
noinst_HEADERS += \
gstgloverlay.h