Commit graph

86 commits

Author SHA1 Message Date
Tim-Philipp Müller 30672ba7d1 meson: build gir even when cross-compiling if introspection was enabled explicitly
This can be made to work in certain circumstances when
cross-compiling, so default to not building g-i stuff
when cross-compiling, but allow it if introspection was
enabled explicitly via -Dintrospection=enabled.

See gstreamer/gstreamer#454 and gstreamer/gstreamer#381.
2019-10-18 00:33:55 +00:00
Doug Nazar 32395fe837 meson: Reenable NEON support 2019-09-03 06:24:26 +00:00
Niels De Graef ab165db6a9 meson: Bump minimal GLib version to 2.44
This means we can use some newer features and get rid of some boilerplate code using the G_DECLARE_* macros.

As discussed on IRC, 2.44 is old enough by now to start depending on it.
2019-06-03 16:18:51 +00:00
Seungha Yang ad9d81d319 meson: Don't try to find gio-unix on Windows 2019-05-14 13:49:16 +00:00
Thibault Saunier 27ba8d24ec doc: Port to hotdoc 2019-05-13 11:34:08 -04:00
Tim-Philipp Müller c70c6c085e Back to development 2019-04-19 11:00:06 +01:00
Tim-Philipp Müller e0f8f635a9 Release 1.16.0 2019-04-19 00:19:57 +01:00
Tim-Philipp Müller 977aa19b8a Release 1.15.90 2019-04-11 00:23:26 +01:00
Tim-Philipp Müller 4413f44449 g-i: pass --quiet to g-ir-scanner
This suppresses the annoying 'g-ir-scanner: link: cc ..' output
that we get even if everything works just fine.

We still get g-ir-scanner warnings and compiler warnings if
we pass this option.
2019-03-23 19:18:39 +00:00
Tim-Philipp Müller be5ed3e964 Back to development 2019-03-04 09:05:02 +00:00
Tim-Philipp Müller af17302526 Release 1.15.2 2019-02-26 11:43:44 +00:00
Seungha Yang 57aba8952d meson: Add support orc fallback
Allow fallback to orc subproject if any.
Additionally 'dependencies' keyword is removed from find_library,
because it's invalid keyword for find_library.
2019-01-30 19:41:32 +09:00
Tim-Philipp Müller f65a05b27f Release 1.15.1 2019-01-17 01:50:30 +00:00
Seungha Yang 076d023508 meson: Use join_paths() instead of '/'
Let Meson decide correct seperator such as '\' for Windows and
'/' for others
2018-12-18 10:34:01 +00:00
Seungha Yang 90e801e62d tests: Enable testing on Windows 2018-12-18 10:34:01 +00:00
Tim-Philipp Müller 1b9ed134d1 meson: use new 'python' module instead of deprecated
https://github.com/mesonbuild/meson/pull/4169
2018-10-08 01:07:45 +01:00
Tim-Philipp Müller dc29bc4e13 libs: fix API export/import and 'inconsistent linkage' on MSVC
For each lib we build export its own API in headers when we're
building it, otherwise import the API from the headers.

This fixes linker warnings on Windows when building with MSVC.

The problem was that we had defined all GST_*_API decorators
unconditionally to GST_EXPORT. This was intentional and only
supposed to be temporary, but caused linker warnings because
we tell the linker that we want to export all symbols even
those from externall DLLs, and when the linker notices that
they were in external DLLS and not present locally it warns.

What we need to do when building each library is: export
the library's own symbols and import all other symbols. To
this end we define e.g. BUILDING_GST_FOO and then we define
the GST_FOO_API decorator either to export or to import
symbols depending on whether BUILDING_GST_FOO is set or not.
That way external users of each library API automatically
get the import.

While we're at it, 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:45:34 +01:00
Seungha Yang cfc8d7ec9e meson: Specify encoding to UTF-8 when building with MSVC
Fix build on some non-US locale Windows systems

Error:
  gst-plugins-base/tools/gst-device-monitor.c(278): error C2001

https://bugzilla.gnome.org/show_bug.cgi?id=797186
2018-09-21 18:39:02 +01:00
Tim-Philipp Müller c0c112a45c 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:42:14 +01:00
Nirbheek Chauhan a9cab426d0 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:43 +05:30
Tim-Philipp Müller 73828a1a5c meson: move gmodule check to top-level
It's also needed by the generic/states test and the variable
is currently checked as part of the opengl lib tests so wouldn't
be available if opengl was disabled.
2018-08-16 10:58:47 +01:00
Tim-Philipp Müller 7be5b7b99e meson: add build options to disable tools and tests 2018-08-12 18:12:35 +01:00
Tim-Philipp Müller c9f975ea0c meson: add options to disable gobject cast checks and glib asserts
and define G_DISABLE_DEPRECATED for development versions,
like we do in autotools.
2018-08-12 00:13:31 +01:00
Alessandro Decina 06b8792a5f gl/meson: OSX support (CGL and Cocoa)
[Matthew Waters]: minor additions such as -fobjc-arc and relying on
dependency rather than cc.find_library()
2018-08-03 12:53:10 +10:00
Nirbheek Chauhan be79f74c4d meson: Fix build with x11 dependency is disabled
gtk_x11_dep is used unconditionally in tests/icles/meson.build
2018-07-31 23:32:42 +05:30
Nirbheek Chauhan eadedc68f8 meson: Add feature options for all plugins
GL dependency detection is still automagic.

https://bugzilla.gnome.org/show_bug.cgi?id=795107
2018-07-27 18:42:11 +05:30
Tim-Philipp Müller 75b7ba5481 meson: rename gtkdoc option to gtk_doc 2018-05-21 23:12:22 +01:00
Tim-Philipp Müller d3bd3e0400 meson: add install_plugins_helper option 2018-05-21 11:35:05 +01:00
Tim-Philipp Müller e87eb9537d meson: use cdata.set_quoted() in more places 2018-05-20 14:38:37 +01:00
Tim-Philipp Müller 39e1dd0bbf meson: add 'nls' option to disable translations
And enable by default. Was implicitly disabled because
ENABLE_NLS was not defined.
2018-05-20 14:27:59 +01:00
Nirbheek Chauhan 1e1a5d658e 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 and use array types for some
options.
2018-05-05 20:30:52 +05:30
Xavier Claessens 201e7c7803 Meson: Generate pc file for all plugins in base
https://bugzilla.gnome.org/show_bug.cgi?id=794568
2018-04-25 11:05:56 +01:00
Tim-Philipp Müller 447942c63d meson: use -Wl,-Bsymbolic-functions where supported
Just like the autotools build.
2018-04-25 10:57:48 +01:00
Mathieu Duponchelle d767773a47 meson: move some dependency checks to the top level
The newly-added build definitions for test/icles relied
on dependencies that were only defined when the examples
are enabled, thus breaking meson build -Ddisable_examples=true
2018-04-18 17:24:35 +02:00
Alessandro Decina 345aa2cd9e meson: libs: use gnome.mkenums_simple() to generate enumtypes files
This way we no longer need custom wrapper scripts or template files.
2018-03-22 13:15:35 +00:00
Nicolas Dufresne 8ee306eb3f allocators: Add DMABuf synchronization
When doing CPU Access, some architecture may require caches to be
synchronize before use. Otherwise, some visual artifact may be
visible, as the CPU modification may still resides in cache.

https://bugzilla.gnome.org/show_bug.cgi?id=794216
2018-03-21 15:58:06 -04:00
Tim-Philipp Müller 694da6b476 Back to development 2018-03-20 09:15:38 +00:00
Tim-Philipp Müller 46fc41f1a8 Release 1.14.0 2018-03-19 20:15:03 +00:00
Tim-Philipp Müller abcb96b698 Release 1.13.91 2018-03-13 19:13:19 +00:00
Tim-Philipp Müller 7d18a97273 Release 1.13.90 2018-03-03 22:07:25 +00:00
Mathieu Duponchelle dc17ac5516 meson: enable more warnings
https://bugzilla.gnome.org/show_bug.cgi?id=793960
2018-03-01 18:39:09 +01:00
Tim-Philipp Müller 8292ab8236 Back to development 2018-02-15 19:44:17 +00:00
Tim-Philipp Müller a009168b0e Release 1.13.1 2018-02-15 17:01:15 +00:00
Tim-Philipp Müller 5b970a75fa 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:18:32 +00:00
Tim-Philipp Müller dbae19773a meson: use -fno-strict-aliasing if supported
https://bugzilla.gnome.org/show_bug.cgi?id=769183
2018-01-30 20:33:39 +00:00
Tim-Philipp Müller c443e33a3a meson: use built-in pic kwarg when building static helper libs
instead of passing -fPIC manually.
2018-01-30 20:33:17 +00:00
Tim-Philipp Müller 5e04350ac1 meson: skip translations if gettext is not available 2017-12-26 13:49:25 +01:00
Havard Graff 43985b363d meson: remove vs_module_defs
GST_EXPORT should handle it.
2017-10-05 13:53:14 +01:00
Tim-Philipp Müller 94d2e4c223 meson: hide symbols by default unless explicitly exported 2017-08-10 14:01:19 +01:00
Tim-Philipp Müller 8ec88f5d32 meson: add translations 2017-07-15 12:45:35 +01:00