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

Remove autotools build

parent 4ef3e565
*.o
*.bak
*.orig
*.diff
*.patch
*.so
*.a
*.la
*.lo
*.pyc
*.page
*.swp
build*
compile
*~
core.*
Makefile
Makefile.in
core
log
.deps
.libs
.dirstamp
/INSTALL
/aclocal.m4
/autom4te.cache
/autoregen.sh
/compile
/config.guess
/config.h
/config.h.in
/config.log
/config.status
/config.sub
/configure
/depcomp
/install-sh
[submodule "common"]
path = common
url = https://gitlab.freedesktop.org/gstreamer/common
......@@ -17,31 +17,32 @@ for details [3].
Build each module like this:
cd gst-plugin
./autogen.sh
make
meson builddir
ninja -C builddir
Modify gst-plugin/src/Makefile.am to add or remove source files to build or
See https://mesonbuild.com/Quick-guide.html on how to install the Meson
build system and ninja.
Modify gst-plugin/meson.build to add or remove source files to build or
add additional dependencies or compiler flags or change the name of the
plugin file to be installed. Run ./autoregen.sh if changes don't take effect
automatically on 'make'.
plugin file to be installed.
Modify gst-plugin/configure.ac to check for additional library dependencies
or other features needed by your plugin. Run ./autoregen.sh if changes don't
take effect automatically on 'make'.
Modify meson.build to check for additional library dependencies
or other features needed by your plugin.
Once the plugin is built you can either install it with 'sudo make install'
Once the plugin is built you can either install it with `sudo ninja -C builddir install`
(however, this will by default go into the /usr/local prefix where it won't
be picked up by a GStreamer installed from packages, so you would need to
set the GST_PLUGIN_PATH environment variable to include or point to
/usr/local/lib/gstreamer-1.0/ for your plugin to be found by a from-package
GStreamer). Alternatively, you will find your plugin binary in
gst-plugins/src/.libs/ as libgstplugin.so or similar (the extension may vary),
builddir/gst-plugins/src/ as libgstplugin.so or similar (the extension may vary),
so you can also set the GST_PLUGIN_PATH environmen variable to the
gst-plugins/src/.libs/ directory (best to specify an absolute path though).
builddir/gst-plugins/src/ directory (best to specify an absolute path though).
You can also check if it has been built correctly with:
gst-inspect-1.0 gst-plugins/src/.libs/libgstplugin.so
gst-inspect-1.0 builddir/gst-plugins/src/libgstplugin.so
[1] http://www.opensource.org/licenses/mit-license.php or COPYING.MIT
......
aclocal.m4
autom4te.cache
autoregen.sh
config.*
configure
libtool
INSTALL
Makefile.in
depcomp
install-sh
ltmain.sh
missing
stamp-*
compile
my-app-*.tar.*
*~
src/gst-app
SUBDIRS=src
EXTRA_DIST=autogen.sh
#!/bin/sh
# you can either set the environment variables AUTOCONF, AUTOHEADER, AUTOMAKE,
# ACLOCAL, AUTOPOINT and/or LIBTOOLIZE to the right versions, or leave them
# unset and get the defaults
autoreconf --verbose --force --install --make || {
echo 'autogen.sh failed';
exit 1;
}
./configure || {
echo 'configure failed';
exit 1;
}
echo
echo "Now type 'make' to compile this module."
echo
dnl required version of autoconf
AC_PREREQ([2.53])
dnl TODO: fill in your package name and package version here
AC_INIT([my-app],[1.0.0])
dnl required version of gstreamer and gst-plugins-base
GST_REQUIRED=1.0.0
AC_CONFIG_SRCDIR([src/main.c])
AC_CONFIG_HEADERS([config.h])
dnl required version of automake
AM_INIT_AUTOMAKE([1.10])
dnl enable mainainer mode by default
AM_MAINTAINER_MODE([enable])
dnl check for tools (compiler etc.)
AM_PROG_CC_C_O
dnl required version of libtool
LT_PREREQ([2.2.6])
LT_INIT
dnl error out if we can't find pkg-config
AC_CHECK_PROG(HAVE_PKGCONFIG, pkg-config, [ ], [
AC_MSG_ERROR([You need to have pkg-config installed or set the PATH.])
])
dnl =======================================================================
dnl Check for the required version of GStreamer core (and gst-plugins-base)
dnl
dnl This will export GST_CFLAGS and GST_LIBS variables for use in Makefile.am
dnl
dnl If you need libraries from gst-plugins-base here, also add:
dnl for libgstaudio-1.0: gstreamer-audio-1.0 >= $GST_REQUIRED
dnl for libgstvideo-1.0: gstreamer-video-1.0 >= $GST_REQUIRED
dnl for libgsttag-1.0: gstreamer-tag-1.0 >= $GST_REQUIRED
dnl for libgstpbutils-1.0: gstreamer-pbutils-1.0 >= $GST_REQUIRED
dnl for libgstfft-1.0: gstreamer-fft-1.0 >= $GST_REQUIRED
dnl for libgstinterfaces-1.0: gstreamer-interfaces-1.0 >= $GST_REQUIRED
dnl for libgstrtp-1.0: gstreamer-rtp-1.0 >= $GST_REQUIRED
dnl for libgstrtsp-1.0: gstreamer-rtsp-1.0 >= $GST_REQUIRED
dnl etc.
dnl =======================================================================
PKG_CHECK_MODULES(GST, [
gstreamer-1.0 >= $GST_REQUIRED
gstreamer-base-1.0 >= $GST_REQUIRED
gstreamer-controller-1.0 >= $GST_REQUIRED
], [
AC_SUBST(GST_CFLAGS)
AC_SUBST(GST_LIBS)
], [
AC_MSG_ERROR([
Can't find the following GStreamer development packages:
gstreamer-1.0 >= $GST_REQUIRED
gstreamer-base-1.0 >= $GST_REQUIRED
gstreamer-controller-1.0 >= $GST_REQUIRED
Please make sure you have the necessary GStreamer-1.0
development headers installed.
On debian/Ubuntu systems you will probably need to install the
'libgstreamer1.0-dev' and 'libgstreamer-plugins-base1.0-dev' packages.
On RPM-based systems you will probably need to install the
'gstreamer-devel-1.0' package.
])
])
dnl check if compiler understands -Wall (if yes, add -Wall to GST_CFLAGS)
AC_MSG_CHECKING([to see if compiler understands -Wall])
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Wall"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ ], [ ])], [
GST_CFLAGS="$GST_CFLAGS -Wall"
AC_MSG_RESULT([yes])
], [
AC_MSG_RESULT([no])
])
dnl =======================================================================
dnl Finally, create Makefiles in all directories
dnl =======================================================================
AC_CONFIG_FILES([
Makefile
src/Makefile
])
AC_OUTPUT
# name of your binary
bin_PROGRAMS = gst-app
# list of source files
# the prefix is the name of the binary
gst_app_SOURCES = main.c play.c
# list of headers we're not going to install
noinst_HEADERS = gst-app.h play.h
# our CFLAGS and LDFLAGS used for compiling and linking
# make sure you prefix these with the name of your binary
gst_app_CFLAGS = $(GST_CFLAGS)
gst_app_LDFLAGS = $(GST_LIBS)
aclocal.m4
autom4te.cache
autoregen.sh
config.*
configure
libtool
INSTALL
Makefile.in
depcomp
install-sh
ltmain.sh
missing
stamp-*
my-plugin-*.tar.*
*~
SUBDIRS = src
EXTRA_DIST = autogen.sh
#!/bin/sh
# you can either set the environment variables AUTOCONF, AUTOHEADER, AUTOMAKE,
# ACLOCAL, AUTOPOINT and/or LIBTOOLIZE to the right versions, or leave them
# unset and get the defaults
autoreconf --verbose --force --install --make || {
echo 'autogen.sh failed';
exit 1;
}
./configure || {
echo 'configure failed';
exit 1;
}
echo
echo "Now type 'make' to compile this module."
echo
dnl required version of autoconf
AC_PREREQ([2.53])
dnl TODO: fill in your package name and package version here
AC_INIT([my-plugin-package],[1.0.0])
dnl required versions of gstreamer and plugins-base
GST_REQUIRED=1.0.0
GSTPB_REQUIRED=1.0.0
AC_CONFIG_SRCDIR([src/gstplugin.c])
AC_CONFIG_HEADERS([config.h])
dnl required version of automake
AM_INIT_AUTOMAKE([1.10])
dnl enable mainainer mode by default
AM_MAINTAINER_MODE([enable])
dnl check for tools (compiler etc.)
AC_PROG_CC
dnl required version of libtool
LT_PREREQ([2.2.6])
LT_INIT
dnl give error and exit if we don't have pkgconfig
AC_CHECK_PROG(HAVE_PKGCONFIG, pkg-config, [ ], [
AC_MSG_ERROR([You need to have pkg-config installed!])
])
AC_DEFINE_UNQUOTED(PACKAGE_VERSION, "$GST_REQUIRED", ["The version of the plugin"])
AC_DEFINE(PACKAGE, "gst-template-plugin", ["The name of the package"])
AC_DEFINE(GST_LICENSE, "LGPL", ["The license of the plugin"])
AC_DEFINE(GST_PACKAGE_NAME, "GStreamer template Plug-ins", ["The name of the plugin"])
AC_DEFINE(GST_PACKAGE_ORIGIN, "https://gstreamer.freedesktop.org", ["The origin of the plugin"])
dnl Check for the required version of GStreamer core (and gst-plugins-base)
dnl This will export GST_CFLAGS and GST_LIBS variables for use in Makefile.am
dnl
dnl If you need libraries from gst-plugins-base here, also add:
dnl for libgstaudio-1.0: gstreamer-audio-1.0 >= $GST_REQUIRED
dnl for libgstvideo-1.0: gstreamer-video-1.0 >= $GST_REQUIRED
dnl for libgsttag-1.0: gstreamer-tag-1.0 >= $GST_REQUIRED
dnl for libgstpbutils-1.0: gstreamer-pbutils-1.0 >= $GST_REQUIRED
dnl for libgstfft-1.0: gstreamer-fft-1.0 >= $GST_REQUIRED
dnl for libgstinterfaces-1.0: gstreamer-interfaces-1.0 >= $GST_REQUIRED
dnl for libgstrtp-1.0: gstreamer-rtp-1.0 >= $GST_REQUIRED
dnl for libgstrtsp-1.0: gstreamer-rtsp-1.0 >= $GST_REQUIRED
dnl etc.
PKG_CHECK_MODULES(GST, [
gstreamer-1.0 >= $GST_REQUIRED
gstreamer-base-1.0 >= $GST_REQUIRED
gstreamer-controller-1.0 >= $GST_REQUIRED
gstreamer-audio-1.0 >= $GST_REQUIRED
], [
AC_SUBST(GST_CFLAGS)
AC_SUBST(GST_LIBS)
], [
AC_MSG_ERROR([
You need to install or upgrade the GStreamer development
packages on your system. On debian-based systems these are
libgstreamer1.0-dev and libgstreamer-plugins-base1.0-dev.
on RPM-based systems gstreamer1.0-devel, libgstreamer1.0-devel
or similar. The minimum version required is $GST_REQUIRED.
])
])
dnl check if compiler understands -Wall (if yes, add -Wall to GST_CFLAGS)
AC_MSG_CHECKING([to see if compiler understands -Wall])
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Wall"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ ], [ ])], [
GST_CFLAGS="$GST_CFLAGS -Wall"
AC_MSG_RESULT([yes])
], [
AC_MSG_RESULT([no])
])
dnl set the plugindir where plugins should be installed (for src/Makefile.am)
if test "x${prefix}" = "x$HOME"; then
plugindir="$HOME/.gstreamer-1.0/plugins"
else
plugindir="\$(libdir)/gstreamer-1.0"
fi
AC_SUBST(plugindir)
dnl set proper LDFLAGS for plugins
GST_PLUGIN_LDFLAGS='-module -avoid-version -export-symbols-regex [_]*\(gst_\|Gst\|GST_\).*'
AC_SUBST(GST_PLUGIN_LDFLAGS)
AC_CONFIG_FILES([Makefile src/Makefile])
AC_OUTPUT
# Note: plugindir is set in configure
##############################################################################
# TODO: change libgstplugin.la to something else, e.g. libmysomething.la #
##############################################################################
plugin_LTLIBRARIES = libgstplugin.la libgstaudiofilterexample.la
##############################################################################
# TODO: for the next set of variables, name the prefix if you named the .la, #
# e.g. libmysomething.la => libmysomething_la_SOURCES #
# libmysomething_la_CFLAGS #
# libmysomething_la_LIBADD #
# libmysomething_la_LDFLAGS #
##############################################################################
## Plugin 1
# sources used to compile this plug-in
libgstplugin_la_SOURCES = gstplugin.c gstplugin.h
# compiler and linker flags used to compile this plugin, set in configure.ac
libgstplugin_la_CFLAGS = $(GST_CFLAGS)
libgstplugin_la_LIBADD = $(GST_LIBS)
libgstplugin_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstplugin_la_LIBTOOLFLAGS = --tag=disable-static
## Plugin 2 (audio filter example)
# sources used to compile this plug-in
libgstaudiofilterexample_la_SOURCES = gstaudiofilter.c
# compiler and linker flags used to compile this plugin, set in configure.ac
libgstaudiofilterexample_la_CFLAGS = $(GST_CFLAGS)
libgstaudiofilterexample_la_LIBADD = $(GST_LIBS)
libgstaudiofilterexample_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstaudiofilterexample_la_LIBTOOLFLAGS = --tag=disable-static
# headers we need but don't want installed
noinst_HEADERS = gstplugin.h
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment