Commit graph

44 commits

Author SHA1 Message Date
Nirbheek Chauhan
b2f9808722 Add support for Meson as alternative/parallel build system
https://github.com/mesonbuild/meson

With contributions from:

Tim-Philipp Müller <tim@centricular.com>
Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
Jussi Pakkanen <jpakkane@gmail.com> (original port)

Highlights of the features provided are:
* Faster builds on Linux (~40-50% faster)
* The ability to build with MSVC on Windows
* Generate Visual Studio project files
* Generate XCode project files
* Much faster builds on Windows (on-par with Linux)
* Seriously fast configure and building on embedded

... and many more. For more details see:

http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html

Building with Meson should work on both Linux and Windows, but may
need a few more tweaks on other operating systems.
2016-08-19 21:26:14 +01:00
Tim-Philipp Müller
714d8aa451 Move gstconfig.h back to normal include dir
Now that it's arch-independent again. Will need fixes in cerbero too.
2016-08-13 13:55:15 +01:00
Julien Isorce
063994267c uninstalled.pc: add support for non libtool build systems
Currently the .la path is provided which requires to use libtool as
mentioned in the GStreamer manual section-helloworld-compilerun.html.
It is fine as long as the application is built using libtool.

So currently it is not possible to compile a GStreamer application
within gst-uninstalled with CMake or other build system different
than autotools.

This patch allows to do the following in gst-uninstalled env:
gcc test.c -o test $(pkg-config --cflags --libs gstreamer-1.0)
Previously it required to prepend libtool --mode=link

https://bugzilla.gnome.org/show_bug.cgi?id=720778
2016-02-18 14:20:17 +00:00
Mathieu Duponchelle
46e7baff74 bash-completion: Implement in a different way.
+ Gets installed
+ Uses a helper tool, gst-completion-helper, installed in
  bash-completions/helpers.
+ Adds a common script that other tools can source.

https://bugzilla.gnome.org/show_bug.cgi?id=744877
2015-02-23 17:57:57 +01:00
Sebastian Dröge
444ceb0684 gstconfig: Put gstconfig.h into $(libdir)/gstreamer-1.0/include
It's architecture dependent and should not be placed into the include
directory as the assumption is that all those headers are architecture
independent.

https://bugzilla.gnome.org/show_bug.cgi?id=739767
2014-11-07 11:59:58 +01:00
Tim-Philipp Müller
8c08af2345 gst: don't require gthread-2.0
We don't need to link to gthread-2.0 any longer, since all
the normal thread-related stuff is in GLib proper, and we
don't use g_thread_init() any more.

https://bugzilla.gnome.org/show_bug.cgi?id=689043
2012-11-26 00:26:34 +00:00
Tim-Philipp Müller
647cdef6fb gstreamer-1.0.pc: move gmodule-no-export-2.0 dependency to Requires.private
Users of GStreamer are not generally expected to use the GModule API
directly. so don't force them all to link against it.

While we're at it, no need to define this via configure.ac really, just
put the dependencies directly into the .pc.in file.
2012-11-25 23:44:26 +00:00
Sebastian Dröge
b0d89da6b6 gst: Change versioning
Remove GST_MAJORMINOR and replace it by GST_API_VERSION
Also set GST_VERSION_{MAJOR,MINOR,MICRO,NANO} explicitely
now.

All versions are at 1.0.0 now for the release soon but
API/ABI can still change until the 1.0.0 release.

Next release versions until 1.0.0 will be 0.10.9X and
these will be release candidates. GST_VERSION_* will
nonetheless stay at 1.0.0.0.
2012-04-04 14:28:55 +02:00
Sebastian Dröge
0a4ec4c8a1 netaddressmeta: Use GSocketAddress instead of our own wrapper type 2012-01-17 15:02:01 +01:00
Tim-Philipp Müller
9a3e4ce5cb libs: remove gdp dataprotocol library
Made private and moved to gdp plugin in -base for
the time being, until we figure out what we do with
gdp and 0.11.
2011-12-25 23:41:50 +00:00
Tim-Philipp Müller
a4092cd5c4 Remove everything libxml2- and loadsave-related 2011-06-04 15:22:06 +01:00
Tim-Philipp Müller
fc964b2e44 pkgconfig: also add libdir to -uninstalled .pc files
This way we can find the paths to pass e.g. g-ir-scanner for
uninstalled setups.

https://bugzilla.gnome.org/show_bug.cgi?id=639039
2011-01-11 14:41:27 +00:00
Tim-Philipp Müller
05fd9d0aba pkgconfig: add girdir and typelibdir variables to .pc files
So that the -base libs can figure out the right include paths for the
gobject-introspection tools even if core got installed into a prefix
that's not the same prefix as gobject-introspection is installed in
or it's being build in an uninstalled gstreamer setup.
2010-03-30 15:56:39 +01:00
Sebastian Dröge
d0bc7755bc pkgconfig: Use @LIBM@ instead of -lm 2010-03-22 08:40:34 +01:00
Tim-Philipp Müller
b2383c78c3 pkgconfig: add back support for builddir != srcdir case in uninstalled setup
Attempt to add back support for builddir != srcdir. Use absolute paths
instead of relative paths based on pcfiledir this time to make things
clearer - there's not really any need for uninstalled trees to be
relocatable without re-running configure.
2010-03-19 01:10:53 +00:00
Tim-Philipp Müller
1ca329b4e9 Revert "Add srcdir to includes for out-of-source builds"
I don't know how this ever worked, as it seems to put -I./..
and -I./../libs verbatim into the includes, at least with
current autotools versions.

This reverts commit 279a80ff27.
2010-03-17 14:55:27 +00:00
Sebastian Dröge
ce74a1ae19 build: Make some more rules silent if requested 2010-03-09 20:57:17 +00:00
Tim-Philipp Müller
79d3f1a2c1 pkgconfig: don't put -DG_THREADS_MANDATORY into our pkg-config CFLAGS
If we force -DG_THREADS_MANDATORY onto apps, then g_thread_supported()
will always evaluate to TRUE, so the typical thread initialisation
boilerplate code if (!g_thread_supported()) g_thread_init(NULL); will
no longer work, and the threading system not be initialised and us
printing a warning in gst_init. This may be fine in most cases, since
late initialisation is allowed and automatically done in g_type_init()
since GLib 2.23.2, but let's be cautious and only use this define when
compiling GStreamer itself.

See #608398.
2010-01-30 12:50:09 +00:00
Sebastian Dröge
f137d188cb build: Define G_THREADS_MANDATORY everywhere
We require threads to be supported in any case and defining this
will simplify the mutex, condition variable, etc. macros from gthread
to not always check if threads are really supported.

Fixes bug #607481.
2010-01-20 09:51:16 +01:00
Tim-Philipp Müller
ecbea36d39 check: use private copy of check for libgstcheck
See #577275. Seems to work fine, but doesn't distcheck yet.
2009-08-06 17:27:12 +01:00
David Flynn
279a80ff27 Add srcdir to includes for out-of-source builds
When you use gstreamer uninstalled and build outside
the source tree, the includes need to be specified for
both the source tree and the build tree.

Signed-off-by: David Schleef <ds@schleef.org>
2009-02-23 10:54:53 -08:00
Stefan Kost
2e0bac3794 pkgconfig/: Remove -lgstcontrol-0.10 which never worked anyway as the lib is called gstcontroller-0.10.
Original commit message from CVS:
* pkgconfig/gstreamer-uninstalled.pc.in:
* pkgconfig/gstreamer.pc.in:
Remove -lgstcontrol-0.10 which never worked anyway as the lib is
called gstcontroller-0.10.
2008-08-12 18:48:42 +00:00
Jan Schmidt
b24276b207 pkgconfig/: Substitute the CFLAGS for libcheck into our .pc file too so that dependent modules will pick it up proper...
Original commit message from CVS:
* pkgconfig/gstreamer-check-uninstalled.pc.in:
* pkgconfig/gstreamer-check.pc.in:
Substitute the CFLAGS for libcheck into our .pc file too so that
dependent modules will pick it up properly if libcheck is installed
into some other prefix.
2007-07-13 14:11:22 +00:00
Tim-Philipp Müller
3ee7f4c8a4 Ugly 'fix' for the controller unit test on the p5 bot: in fail_unless_equals_float() check whether the values are 'al...
Original commit message from CVS:
* libs/gst/check/Makefile.am:
* libs/gst/check/gstcheck.h:
* pkgconfig/gstreamer-check-uninstalled.pc.in:
* pkgconfig/gstreamer-check.pc.in:
Ugly 'fix' for the controller unit test on the p5 bot: in
fail_unless_equals_float() check whether the values are 'almost
equal' by allowing a small absolute error, which should be good
enough for our use cases (normal numbers and values close to 0).
Proper fixage left to floating point arithmetic aficionados.
2007-06-14 15:56:03 +00:00
Loïc Minier
88b5b1082e pkgconfig/: Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
Original commit message from CVS:
Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
* pkgconfig/gstreamer-check-uninstalled.pc.in:
* pkgconfig/gstreamer-check.pc.in:
Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2006-03-21 13:55:44 +00:00
Thomas Vander Stichele
41f6c2b0fe update uninstalled pc files
Original commit message from CVS:
update uninstalled pc files
2005-11-29 19:44:56 +00:00
Andy Wingo
41f439b0a1 Rename gstnet-tempname to gstnet. Fixes #322257.
Original commit message from CVS:
2005-11-29  Andy Wingo  <wingo@pobox.com>

* check/Makefile.am:
* pkgconfig/gstreamer-net-uninstalled.pc.in:
* pkgconfig/gstreamer-net.pc.in:
* gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
#322257.
2005-11-29 17:47:06 +00:00
Andy Wingo
d83d55fef2 Add net pkgconfig files.
Original commit message from CVS:
2005-11-18  Andy Wingo  <wingo@pobox.com>

* configure.ac:
* pkgconfig/gstreamer-net.pc.in:
* pkgconfig/gstreamer-net-uninstalled.pc.in:
* pkgconfig/Makefile.am: Add net pkgconfig files.
2005-11-18 16:24:56 +00:00
Thomas Vander Stichele
b45c86c1df remove more PKG_CFLAGS
Original commit message from CVS:
remove more PKG_CFLAGS
2005-10-16 09:11:57 +00:00
Thomas Vander Stichele
9934f055e9 remove GST_PKG_CFLAGS
Original commit message from CVS:
remove GST_PKG_CFLAGS
2005-10-16 08:59:34 +00:00
Thomas Vander Stichele
01ca7865c5 clean up pc files
Original commit message from CVS:
clean up pc files
2005-10-15 13:24:54 +00:00
Thomas Vander Stichele
2b8354e94e need to add -lcheck to the pkgconfig file
Original commit message from CVS:
need to add -lcheck to the pkgconfig file
2005-09-04 11:01:44 +00:00
Thomas Vander Stichele
96a4f16dc3 add pluginsdir to pkgconfig files
Original commit message from CVS:
add pluginsdir to pkgconfig files
2005-08-24 16:46:10 +00:00
Thomas Vander Stichele
8ce827c406 move check stuff to its own library to be used by other modules
Original commit message from CVS:
move check stuff to its own library to be used by other modules
2005-08-20 12:14:28 +00:00
Stefan Kost
a8ca293000 that one too
Original commit message from CVS:
that one too
2005-08-02 21:39:34 +00:00
Stefan Kost
128bc8934a added missing pc files
Original commit message from CVS:
added missing pc files
2005-08-02 21:38:14 +00:00
Stefan Kost
c32233b7fc added controller code removed dparam pc files
Original commit message from CVS:
added controller code
removed dparam pc files
2005-08-02 21:35:34 +00:00
Thomas Vander Stichele
2953b3174e pc file cleanups
Original commit message from CVS:
pc file cleanups
2005-07-06 11:34:06 +00:00
Wim Taymans
658bba4626 Ported dataprotol to 0.9.
Original commit message from CVS:
* configure.ac:
* libs/gst/dataprotocol/Makefile.am:
* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
* libs/gst/dataprotocol/dataprotocol.h:
* pkgconfig/Makefile.am:
* pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
* pkgconfig/gstreamer-dataprotocol.pc.in:
Ported dataprotol to 0.9.
Added pkgconfig files.
2005-07-05 10:20:14 +00:00
Andy Wingo
4c712824b9 pkgconfig/: New files.
Original commit message from CVS:
2005-04-06  Andy Wingo  <wingo@pobox.com>

* pkgconfig/gstreamer-base.pc.in:
* pkgconfig/gstreamer-base-uninstalled.pc.in: New files.

* pkgconfig/Makefile.am:
* configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
2005-04-06 11:08:07 +00:00
David Schleef
b7acf41b85 docs/libs/Makefile.am: Change sinclude to include
Original commit message from CVS:
* docs/libs/Makefile.am: Change sinclude to include
* docs/gst/Makefile.am: same
* pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
2004-04-19 22:54:58 +00:00
Benjamin Otte
385b9ee5c4 merge in tagging
Original commit message from CVS:
merge in tagging
Includes:
- gsttag.[ch] - The definition of GstTagList and tag registering/querying
- gsttaginterface.[ch] - Interface for elements that can handle setting of tags
- updates and merges to gststructure.[ch] and gstvalue.[ch]
- testsuite/tags - some tests for tagging
- bugfixes
- updates to make make distcheck work
- updates the version number to 0.7.2.1

Does not include:
- including tagging stuff in docs
- extensive tests
2003-11-24 02:09:23 +00:00
Steve Baker
1c89c5e829 ignore .pc files
Original commit message from CVS:
ignore .pc files
2003-04-27 06:20:44 +00:00
Ronald S. Bultje
d2499c35b3 Port some changes from 0.6.0/0.6.1 back to HEAD (.pc files moved to pkg-config/, .m4 file moved from plugins to core)
Original commit message from CVS:
Port some changes from 0.6.0/0.6.1 back to HEAD (.pc files moved to pkg-config/, .m4 file moved from plugins to core)
2003-04-07 21:28:57 +00:00