Commit graph

101 commits

Author SHA1 Message Date
Nicolas Dufresne e501e2f5c9 libdw support is optional
This was no longer optional, leading to deadcode. This regression was
found trying to fix the unwind variant in cerbero.
2018-11-29 20:56:10 -05:00
Matthew Waters 874ad5faca meson: generate pkg-config files for our plugins 2018-11-05 15:18:41 +00:00
Tim-Philipp Müller 8f761cd711 meson: use new 'python' module instead of deprecated 'python3' one
https://github.com/mesonbuild/meson/pull/4169
2018-10-07 19:58:47 +01:00
Tim-Philipp Müller 57c8e0146f libs: figure out right export define in configure
Add new GST_API_EXPORT in config.h and use that for GST_*_API
decorators instead of GST_EXPORT.

The right export define depends on the toolchain and whether
we're using -fvisibility=hidden or not, so it's better to set it
to the right thing directly than hard-coding a compiler whitelist
in the public header.

We put the export define into config.h instead of passing it via the
command line to the compiler because it might contain spaces and brackets
and in the autotools scenario we'd have to pass that through multiple
layers of plumbing and Makefile/shell escaping and we're just not going
to be *that* lucky.

The export define is only used if we're compiling our lib, not by external
users of the lib headers, so it's not a problem to put it into config.h

Also, this means all .c files of libs need to include config.h
to get the export marker defined, so fix up a few that didn't
include config.h.

This commit depends on a common submodule commit that makes gst-glib-gen.mak
add an #include "config.h" to generated enum/marshal .c files for the
autotools build.

https://bugzilla.gnome.org/show_bug.cgi?id=797185
2018-09-24 08:39:37 +01:00
Seungha Yang 54e498f2d5 meson: Specify encoding to UTF-8 when building with MSVC
Fix build on some non-US locale Windows systems

Error:
  gstreamer/gst/gstdebugutils.c(194): error C2001

https://bugzilla.gnome.org/show_bug.cgi?id=797186
2018-09-21 18:37:09 +01:00
Tim-Philipp Müller 09dac522ca meson: add glib-checks option to disable API guards and such
We want this enabled by default, also in releases, but people
may want to disable this for performance-critical workloads or
on embedded devices.
2018-09-19 11:32:16 +01:00
Nirbheek Chauhan c389c59b22 meson: Maintain macOS ABI through dylib versioning
Requires Meson 0.48, but the feature will be ignored on older versions
so it's safe to add it without bumping the requirement.

Documentation:
https://github.com/mesonbuild/meson/blob/master/docs/markdown/Reference-manual.md#shared_library
2018-08-31 14:40:14 +05:30
Nirbheek Chauhan 0a84fae16c meson: host_system is 'ios' when building for iOS
The cross file sets this value, and we use 'ios' in Cerbero.
2018-08-17 02:55:43 +05:30
Tim-Philipp Müller fffc312893 meson: add options to disable gobject cast checks and glib asserts
And match what we do for autotools here currently.
2018-08-11 18:17:29 +01:00
Tim-Philipp Müller e839f312fe meson: define G_DISABLE_DEPRECATED for development versions
Like in autotools.
2018-08-10 09:22:51 +01:00
Tim-Philipp Müller fcbd110810 meson: add memory-alignment option 2018-08-10 00:34:29 +01:00
Tim-Philipp Müller d11450f238 meson: add option to disable command-line option parsing 2018-08-10 00:18:55 +01:00
Tim-Philipp Müller e5ad55d649 meson: add options to disable tests, examples, benchmarks and tools
And remove duplicate option 'poisoning' and unused 'build_tools' one.
2018-08-09 23:32:49 +01:00
Tim-Philipp Müller 69400c9fcf meson: fix setting of extra checks option
It's checked for with #ifdef so setting it to 0 or 1
will always enable it.
2018-08-03 10:36:21 +01:00
Tim-Philipp Müller 463663d4b4 meson: add option to enable poisoning of deallocated objects 2018-08-03 10:35:07 +01:00
Nirbheek Chauhan 09f67fe76a meson: Add feature options for optional deps
Everything should be behind an option now.

https://bugzilla.gnome.org/show_bug.cgi?id=795107
2018-07-27 16:14:29 +05:30
Nicolas Dufresne ac83e18323 meson: Install bash completion helper in prefix
A regression was causing the helpers to be installed in /share which
would lead to permission denied error or PolicyKit to promtp for
permission. See:

  054fa3aa2 meson: Use new define_variable: feature instead of run_command()
2018-07-25 18:51:58 -04:00
Nirbheek Chauhan c80a1fd64c meson: host_machine.system() is darwin even on iOS
Also use host_system everywhere.
2018-07-25 16:02:06 +05:30
Nirbheek Chauhan 054fa3aa2e meson: Use new define_variable: feature instead of run_command() 2018-07-25 14:25:59 +05:30
Nirbheek Chauhan 6935d3f1db meson: Small cleanup, unused variable 2018-07-25 14:25:59 +05:30
Nirbheek Chauhan 415e0e68af meson: Use copy: true for configure_file()
Fixes a warning.
2018-07-25 14:25:59 +05:30
Thibault Saunier cc869065a5 meson: Add an option to activate extra checks
And activate them by default as with autotools
2018-05-22 16:31:21 +02:00
Tim-Philipp Müller 724cc53b28 meson: rename gtkdoc option to gtk_doc 2018-05-21 23:10:21 +01:00
Tim-Philipp Müller 661490d60d meson: add 'nls' option to disable translations
And enable by default. Was implicitly disabled because
ENABLE_NLS was not defined.
2018-05-20 14:07:39 +01:00
Nirbheek Chauhan 4fb02fc85b meson: Update option names to omit disable_ and with- prefixes
Also yield common options to the outer project (gst-build in our case)
so that they don't have to be set manually.
2018-05-05 20:30:43 +05:30
Xavier Claessens b00b1d5361 Meson: Use library() to build both static and shared libs
Meson supports building both static and shared libraries in a single
library() call. It has the advantage of reusing the same .o objects and
thus avoid double compilation.

https://bugzilla.gnome.org/show_bug.cgi?id=794627
2018-04-25 00:40:30 +01:00
Xavier Claessens ca3698b9c1 Meson: Fix check for linker args
https://bugzilla.gnome.org/show_bug.cgi?id=795513
2018-04-25 00:40:30 +01:00
Tim-Philipp Müller a7aeaca772 meson: fix invalid keyword argument warnings
cc.compiles() doesn't have a 'prefix' argument (yet) and the
prefix has already been prepended to the source code snippets.

https://github.com/mesonbuild/meson/issues/2364
2018-04-20 12:30:24 +01:00
Tim-Philipp Müller 63e71468d4 meson: bump meson req for gnome.mkenums_simple() 2018-03-22 13:00:21 +00:00
Alessandro Decina cf2be53b24 meson: use gnome.mkenums_simple() to generate controller enumtypes 2018-03-22 12:50:24 +00:00
Tim-Philipp Müller b405b35f8c Back to development 2018-03-20 09:02:34 +00:00
Tim-Philipp Müller 80e0e90d00 Release 1.14.0 2018-03-19 20:09:55 +00:00
Tim-Philipp Müller bc431c2af3 Release 1.13.91 2018-03-13 19:09:04 +00:00
Tim-Philipp Müller 87be91a260 Release 1.13.90 2018-03-03 21:51:58 +00:00
Mathieu Duponchelle 9e44738ae7 meson: -Wformat-* require -Wformat 2018-03-01 18:38:01 +01:00
Mathieu Duponchelle d67623c7a9 meson: enable more warnings
Modeled on the autotools build, -W flags are only
added if the compiler supports them.

https://bugzilla.gnome.org/show_bug.cgi?id=793958
2018-03-01 17:20:48 +01:00
Justin Kim 580e3a799e meson: Use .dylib suffix if darwin
For Mac OS, GST_EXTRA_MODULE_SUFFIX should be set as '.dylib'.
Otherwise, GStreamer fails to load its plugins.

https://bugzilla.gnome.org/show_bug.cgi?id=793584
2018-02-21 14:58:13 +00:00
Tim-Philipp Müller 81a767bbdb Back to development 2018-02-15 19:44:14 +00:00
Tim-Philipp Müller 124f2f566f Release 1.13.1 2018-02-15 16:43:52 +00:00
Tim-Philipp Müller 24f9c2dcb3 meson: make version numbers ints and fix int/string comparison
WARNING: Trying to compare values of different types (str, int).
The result of this is undefined and will become a hard error
in a future Meson release.
2018-02-08 17:22:14 +00:00
Tim-Philipp Müller e1fdb5bf03 meson: use -fno-strict-aliasing if supported
https://bugzilla.gnome.org/show_bug.cgi?id=769183
2018-01-30 20:30:54 +00:00
Tim-Philipp Müller d51ff55af1 meson: skip translations if gettext is not available 2017-12-26 13:46:20 +01:00
Havard Graff fee176d253 meson: remove vs_module_defs
The GST_EXPORT should handle it.
2017-10-05 09:35:41 +01:00
Tim-Philipp Müller be8eb436b2 meson: hide symbols by default unless explicitly exported 2017-08-10 13:34:25 +01:00
Tim-Philipp Müller 24880717cf meson: fix a few warnings 2017-08-07 11:06:58 +01:00
Tim-Philipp Müller d123291183 win32: find plugin scanner in libexecdir subdir as configured
https://bugzilla.gnome.org/show_bug.cgi?id=679115
2017-07-14 16:13:12 +01:00
Nicolas Dufresne 5443ce69ff meson: Fix bashcomp installation
For some reason the double quotes ended up in the path, hence
the helper where installed at "."/share/...
2017-07-11 14:57:36 -04:00
Nicolas Dufresne 4a108c7858 meson: Use join_paths and .set_quoted where possible 2017-07-11 14:57:26 -04:00
Tim-Philipp Müller f28435b0d4 meson: find python3 via python3 module
And rename python3 variable in meson build files for clarity.

https://bugzilla.gnome.org/show_bug.cgi?id=783198
2017-07-07 12:07:09 +01:00
Tim-Philipp Müller a405aedde8 meson: check for ppoll() as well 2017-06-29 09:10:04 +01:00