Commit graph

247 commits

Author SHA1 Message Date
Tim-Philipp Müller
0a25f22f1b meson: bump meson requirement to >= 0.59
For monorepo build and ugly/bad, for advanced feature
option API like get_option('xyz').required(..) which
we use in combination with the 'gpl' option.

For rest of modules for consistency (people will likely
use newer features based on the top-level requirement).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1084>
2021-10-18 18:03:19 +01:00
Nirbheek Chauhan
40fb39502e meson: Define cpp_std in the top-level project()
Due to a bug, meson ignores ${lang}_std settings in default_options
for subprojects: https://github.com/mesonbuild/meson/issues/1889

This causes build failures when a subproject requires c++11 or c++14,
etc. Compilers that support those cpp_stds are very common, and all
the toolchains that we support include c++ compilers, so we can
add cpp_std=c++14 to the top-level.

This fixes the webrtc-audio-processing build on Linux, and harfbuzz on
macOS.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1133>
2021-10-17 09:36:09 +00:00
Thibault Saunier
08eac09c12 meson: Fix warning building GstGLEGL
We forgot to add the `GstGL` gir as a dependency which was properly
done for GstGLWayland and GstGLX11.

And document why we use a list for `all_libraries`

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1168>
2021-10-16 01:24:45 +00:00
Thibault Saunier
e436bf66e1 meson: Add info about 'gstreamer-full'
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093>
2021-10-15 19:28:29 -03:00
Thibault Saunier
8b7b068d53 meson: Streamline the way we detect when to build documentation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093>
2021-10-15 19:28:29 -03:00
Thibault Saunier
4210ac43ec Use new libraries subprojects variables to statically link then
And also build the girs against `gstreamer-full` when possible. Also
making `gst_init_static_plugins` available from the bindings.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093>
2021-10-15 19:27:30 -03:00
Thibault Saunier
1babccfe50 python: Fix using overrides when not building PyGObject
Since 547570cd79 we do not always build
PyGObject and our development environment is broken when trying to use
GStreamer python when built against system PyGObject with the following
error importing Gst in there:

```
12345678** (gst-plugin-scanner:710617): CRITICAL **: 11:45:02.343: can't find gi.repository.Gst
Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/gi/repository/__init__.py", line 23, in <module>
    from ..importer import DynamicImporter
  File "/usr/lib64/python3.9/site-packages/gi/importer.py", line 33, in <module>
    from .overrides import load_overrides
ImportError: cannot import name 'load_overrides' from 'gi.overrides' (/var/home/thiblahute/devel/gstreamer/gstreamer/subprojects/gst-editing-services/bindings/python/gi/overrides/__init__.py)
Factory Details:
```

The approach to fixing it is to implement override `gi` in
`gst-python/gi/` which we add to `PYTHONPATH`) and in there reset the
`gi` module to the right place and we get overrides from paths from
`_GI_OVERRIDES_PATH` we set in `gst-env.py` which points to all the
overrides that will be installed.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1155>
2021-10-15 20:51:41 +00:00
Bastien Nocera
547570cd79 build: Disable pygobject submodule if system version exists
If pygobject is available on the system, its version is new enough,
don't build the older pygobject and rely on that system one.

This fixes totem not being able to use libpeas' Python support.

** (totem:544972): WARNING **: 12:04:05.407: Error initializing Python Plugin Loader: PyGObject initialization failed
ImportError: could not import gobject (version mismatch, 3.40.1 is required, found 3.38.1)

Closes: #806
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1135>
2021-10-13 14:17:13 +00:00
Tim-Philipp Müller
f1a169f39d Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/925>
2021-09-26 01:07:02 +01:00
Tim-Philipp Müller
d1d8223d52 meson: fix up version
(Sync with other subprojects, we'll go back to dev in a separate commit).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/924>
2021-09-26 00:02:33 +01:00
Nicolas Dufresne
3037fde5eb Move commit gst-indent hook to the root
This renable at meson setup time the installation of the gst-indent
commit hook. The hooks were kept from gst-devtools as this set supports
both C checks and Python checks.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/904>
2021-09-24 17:47:01 -03:00
Thibault Saunier
fba2402ac3 Remove git-update and git-worktree as they do not make sense anymore
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/891>
2021-09-24 16:21:18 -03:00
Nirbheek Chauhan
c99e3b312a meson: Don't use add_global_arguments when a subproject
This is the correct fix for https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/236

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/259>
2021-08-30 17:23:05 +05:30
Nirbheek Chauhan
06869815fd Revert "Meson: Avoid using add_global_arguments() when gst-build is a subproject"
This reverts commit ebcca1e5ea.

/utf-8 is needed to deal with subprojects that we do not control.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/259>
2021-08-30 17:21:44 +05:30
Nirbheek Chauhan
afd11f3383 New subproject macos-bison-binary to provide bison on macOS
The version of bison that ships with macOS is too old, so we need to
provide our own version of it.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/174

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/257>
2021-08-28 23:44:52 +05:30
Olivier Crete
879126a31c Allow running gst-uninstalled when gst-build is a subproject
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/222>
2021-08-27 12:44:25 +00:00
Xavier Claessens
ebcca1e5ea Meson: Avoid using add_global_arguments() when gst-build is a subproject
Meson only allows the main project to use it. We already set that flag
in all GStreamer modules just like warning flags.

Fixes: #152
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/236>
2021-08-12 14:17:30 +00:00
Tim-Philipp Müller
723478b6be Back to development 2021-06-01 15:34:41 +01:00
Tim-Philipp Müller
3804f23e3f Release 1.19.1 2021-06-01 00:17:06 +01:00
Stéphane Cerveau
cb74a24fbd gstreamer-full: error about introspection
The introspection feature is not supported yet
in static build.
Needs
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/167/diffs

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/242>
2021-05-04 11:41:46 +02:00
Stéphane Cerveau
b6f61768d3 gst-full: add 'gst-full-' features options
These options allow to select a set of features from a given
plugin with the following syntax:

-Dgst-full-plugins=plugin1;plugin10
-Dgst-full-elements=plugin2:element1,element2
-Dgst-full-typefind-functions=plugins3:func
-Dgst-full-device-providers=plugin4,dp1
-Dgst-full-dynamic-types=plugin5:dt1

By default all the enabled plugin are registered and
gst-full-plugins will allow to include only a set of plugin

If a feature(element, typefind etc.) is selected from a plugin,
the plugin is removed from the plugins list.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199>
2020-12-11 12:50:16 +00:00
Stéphane Cerveau
52e7b2a8e0 gst-full: fix static build on Windows host
Static build needs a version script which is
not available on Windows.
Need to implement use of def file.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/226>
2020-11-23 17:32:08 +01:00
Nirbheek Chauhan
81c3c9175b meson: Do not add MSVC warnings flags globally
These get added to *all* subprojects, including ones we do not
maintain such as ffmpeg which then emits thousands of warnings that
completely overwhelm the compile output.

We will add these in each gstreamer subproject separately.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223>
2020-11-04 18:41:36 +05:30
Stéphane Cerveau
94260955ba gst-full: add warning for gst_init_static_plugins
As some compiler might not supported -Wl,--undefined
add a warning to the meson configure stage.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/211>
2020-10-28 14:15:52 +00:00
Stéphane Cerveau
a4f711e9e5 gst-full: add linker flag to keep gst_init_static_plugins
In a fully static link where an app link with gstreamer-full
the gst_init_static_plugins can be discarded because
no one references it.
Indeed the symbol is looked up by gst_init to call if it exists
and so it is not clearly referenced.

In order to avoid this issue, we use the linker flag
--undefined=gst_init_static_plugins to keep
the symbol.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/207>
2020-10-21 15:44:59 +02:00
Stéphane Cerveau
f82527519c gst-full: use '-Wl,-Bsymbolic-functions' to reduce footprint
As most of the gst/glib modules, use this linker flag
to reduce footprint.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/204>
2020-10-14 16:05:13 +02:00
Stéphane Cerveau
751aacd8fc Revert "gstreamer-full: Fix link with x264"
This reverts commit e236d4f71a.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/204>
2020-10-14 16:05:13 +02:00
Stéphane Cerveau
bda7145460 gstreamer-full: add unit test
This test allows to test gstreamer-full behaviour

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/203>
2020-10-12 10:27:55 +02:00
Xavier Claessens
b25e471eaf gstfull: Also include 'sources' from dependencies
It contains generated headers like mkenums.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/203>
2020-10-12 10:27:55 +02:00
Xavier Claessens
8a9d21ce18 gst-full: Add missing include directories to use it in subprojects
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/203>
2020-10-12 10:27:55 +02:00
Stéphane Cerveau
b4256c219d gst-full: declare dependency
Declare the gstreamer-full dependency which can be used
later by 3rd party applications.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/203>
2020-10-12 10:27:55 +02:00
Stéphane Cerveau
30ea94f40c meson: move custom_subproject definition for gst-full
In order to let any subproject to use gstreamer-full
declare the subprojects after gstreamer-full definition.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/203>
2020-10-12 10:27:55 +02:00
Guillaume Desmottes
89faf739c9 meson: add gst-full-version-script option
Can be used to control the exact symbols exported, or not, in
libgstreamer-full.

This is useful when building a tailored libgstreamer-full aimed
to be run with some specific binaries. By using such version script
one can reduce the size of the generated lib by letting the linker
garbage collect all the unused APIs.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/195>
2020-10-06 12:54:19 +00:00
Stéphane Cerveau
c96dcd2698 meson: make good and base optional
Be able to disable the base/good build on demand
By default its always enabled.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/178>
2020-10-06 09:48:20 +02:00
Xavier Claessens
4dc93ef130 gst-full: Remove gstinitstaticplugins.h
That header is not needed any more because gst_init() now calls
gst_init_static_plugins() automatically when available.

This is an API break compared to 1.18, but release notes made it clear
it was an experimental feature.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/191>
2020-10-05 17:17:46 -04:00
Nirbheek Chauhan
debe544d3f windows: Detect Strawberry Perl and error out early
This is going to fail during the compile phase because Strawberry Perl
ships with its own pkg-config and pkgconfig files for zlib/libffi with
unusable values.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/41

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/197>
2020-10-01 23:11:24 +05:30
Tim-Philipp Müller
be984e88db Back to development 2020-09-08 16:59:25 +01:00
Tim-Philipp Müller
32d3a2544d Release 1.18.0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/186>
2020-09-08 09:59:40 +01:00
Tim-Philipp Müller
dd2bf7996c Release 1.17.90 2020-08-20 16:17:01 +01:00
Nirbheek Chauhan
237f5cc4ee Add glib-networking as a subproject when glib is a subproject
We need gio modules for tls when building gstwebrtcbin, gstsoup, etc.

Control it via a new 'tls' option, since it requires either gnutls or
openssl.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/180>
2020-08-03 18:52:20 +00:00
Stéphane Cerveau
e236d4f71a gstreamer-full: Fix link with x264
If a static build is requested and x264 plugin has been enabled
the full link fails with:

/usr/bin/ld: subprojects/x264/libx264.a(cabac-a.o): relocation
R_X86_64_PC32 against symbol `x264_cabac_range_lps' can not be used when
making a shared object; recompile with -fPIC

Fixes #108

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/169>
2020-07-22 12:40:00 +02:00
Tim-Philipp Müller
80976dea2c Fix up update-orc-dist target for the case where there are no orc targets
See https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/168#note_561914

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/173>
2020-07-08 11:29:40 +01:00
Tim-Philipp Müller
02995c8417 meson: clean up workaround for older meson versions that's no longer needed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/172>
2020-07-07 18:48:49 +00:00
Tim-Philipp Müller
ebf79cf723 Add update-orc-dist target
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/168>
2020-07-04 15:01:08 +01:00
Tim-Philipp Müller
45a09d4a81 Back to development 2020-07-03 02:04:31 +01:00
Tim-Philipp Müller
1016bf239c Release 1.17.2 2020-07-03 00:37:52 +01:00
Mathieu Duponchelle
4a3ceaa498 meson: pass doc option as required argument to gst-docs subproject
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/166>
2020-06-24 14:37:28 +02:00
Tim-Philipp Müller
075ed8610f Back to development 2020-06-20 01:05:03 +01:00
Tim-Philipp Müller
7dc67a389d Release 1.17.1 2020-06-19 19:28:22 +01:00
Tim-Philipp Müller
398576dfdb meson: bump meson requirement to 0.52 to align with effective requirement
Latest libnice requires 0.52, so it probably makes sense to
update the meson requirement in gst-build for that, so we
have good out-of-the-box developer experience for people,
with webrtc working out of the box.

Might also make it easier to backport things later.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/164>
2020-06-18 15:41:18 +01:00
Thibault Saunier
a7b7ca5a59 Notify that gst-rts-server has plugin
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/151>
2020-05-27 09:59:16 -04:00
Matthew Waters
b9d39e2f7f build: allow for changing subprojects with docs enabled
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/60
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/142>
2020-04-23 13:48:22 +10:00
Xavier Claessens
6d79e7cc97 gst-full: Use gst_dep dependency
It is needed because that dependency object brings generated headers
too.
2020-03-16 21:54:26 -04:00
Xavier Claessens
66d22c103b Meson: dict.has_key() method has no 'default' argument
Meson silently accept those keyword arguments, will produce a warning in
the future: https://github.com/mesonbuild/meson/pull/6780
2020-03-12 14:41:24 -04:00
Xavier Claessens
7ef372db76 Meson: Fix useless reconfigure when plugins libs change
This is a workaround for a Meson bug that incorrectly trigger
reconfigure when files change in build directory. This commit can be
reverted once GStreamer depends on Meson >=0.54.0.
See https://github.com/mesonbuild/meson/pull/6770

Fixes: #85
2020-03-11 13:49:11 -04:00
Xavier Claessens
35285c51b8 Add gstreamer-full library containing all plugins and their deps
When building with -Ddefault_library=static, also build a single library
containing all built plugins. Any external dependencies are still
dynamically linked.

A monolithic library is easier to distribute, and in some envs like
Android is required.
2020-03-04 08:23:52 -05:00
Xavier Claessens
7cf00627be Simplify generate_plugins_path.py script
This also fix an empty plugin name being prepended to the list.
2020-03-04 08:18:09 -05:00
Nirbheek Chauhan
c67034c529 Remove unused variable in meson.build
We don't use this anywhere. It's confusing.
2020-03-02 11:04:40 +05:30
Seungha Yang
588250eaeb meson: Apply msvc warning level to cpp too
We have c++ code as well.
2020-03-01 19:58:35 +09:00
Guillaume Desmottes
20fc4b92b8 add gst-plugins-rs
Fix #63
2019-12-24 09:25:40 +05:30
Seungha Yang
f7ac326d5a meson: Specify encoding as utf-8 for msvc
Some projects does not have this option which causes verbose warnings
2019-11-04 20:43:18 +00:00
Seungha Yang
df0808f493 meson: Enable some msvc warnings
Enable following warnings
 - unused variable
 - unhandled enum value in switch/case

Those warnings might cause build error on CI pipeline, but not enabled
by default. For development environment, let's enable them to save
CI (and developer's time) resource.

Fixes: https://gitlab.freedesktop.org/gstreamer/gst-build/issues/31
2019-11-04 20:43:18 +00:00
Stephan Hesse
1ee4c316c1 instead of 'examples' use 'gst-examples' as option to build the respective subproject
we want to do this because the other "examples" in plugins (tests etc) need  a lot deps (qt5 etc)
that are not needed by gst-examples itself.
2019-11-02 17:28:22 +01:00
Thibault Saunier
3d8662ebfe Add support for wine+mingw environments 2019-10-01 09:20:25 -03:00
Thibault Saunier
fe39bd3027 Rename 'uninstalled' to development environment
In the case of wine, the env can not be uninstalled, also developers
do not necessiraly care about the fact that it is "uninstalled", the
important thing is that it is a development environment, meaning
that they can work on GStreamer or with GStreamer in the environment.

I still keep the `uninstalled` target to avoid changing people's
habits for now.
2019-09-24 08:23:07 -03:00
Matthew Waters
d0acfc2bf7 add gst-examples repository to subproject list 2019-07-25 12:03:00 +10:00
Nirbheek Chauhan
01eb252f67 Don't allow people to run meson inside the uninstalled env
People should not run `meson` on gst-build inside the uninstalled env.
It will cause problems because meson will detect the already-built
libraries and pkg-config files.

This is not obvious to people, and they often make this mistake.
2019-06-25 20:55:36 +05:30
Nicolas Dufresne
bb9c37dcf0 cross: Fix cross compilation meson error
The doc is not currently built in cross-compilation, but we still had
some meson code that eneded up being called and failed.
2019-06-04 15:30:43 -04:00
Niels De Graef
6bd73861ca 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-05-31 21:44:35 +00:00
Mathieu Duponchelle
227c35b5d3 meson: fix GstPluginsPath.json generation
The refactored code was only adding paths to plugins in projects
that build hotdoc, which is not the case of gst-python for example
2019-05-26 15:51:06 +02:00
Thibault Saunier
2c50c067d5 meson: Add a target to regenerate doc caches for all subprojects
Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/36
2019-05-16 09:32:50 -04:00
Thibault Saunier
802e18519b Avoid making a dependency between plugins and the build.ninja file
Basically meson detects that we pass file paths to run_command to regenerate the build.ninja file when those change
2019-05-15 23:23:46 -04:00
Tim-Philipp Müller
54ce8e882b meson.build: Fix typo in log message 2019-05-14 23:22:18 +01:00
Thibault Saunier
4736387c1b meson: Remove spurious subdir_done 2019-05-14 17:51:38 -04:00
Thibault Saunier
fda8379411 scripts: Add a script to check that all repos are clean
This is useful to check that a build didn't result in changes in the
code/generated files

This will be used to check that the plugins documentation cache file is
properly commited, and that necessary workaround for particular case
are adopted.
2019-05-13 11:42:15 -04:00
Thibault Saunier
fbb81c6c78 Generate the GST_PLUGIN_PATH using the plugins variable in subprojects
To build the documentation, we are maintaining a 'standardise' `plugins`
variable accross all modules to list all plugins and generate
documentation for them.

This is also used to get the right plugin path when inspecting plugins
for the documentation.
2019-05-13 11:42:15 -04:00
Thibault Saunier
3d24de2f24 Build documentation with hotdoc 2019-05-13 11:42:15 -04:00
Tim-Philipp Müller
96dd9f4093 Build master again 2019-04-19 11:07:28 +01:00
Tim-Philipp Müller
5114d22911 Build 1.16.0 release 2019-04-19 02:23:51 +01:00
Tim-Philipp Müller
c0a8dd04b5 Build 1.15.90 release 2019-04-16 14:17:49 +00:00
Mathieu Duponchelle
d3029ec0d6 add libnice as a top-level subproject.
When relying on a system-wide libnice, we end up not building
the nice elements, which means we can't use them, and by extension
webrtcbin, in the uninstalled environment.

This also introduces a way to avoid checking the version of
a given subproject, and makes use of it for libnice and pygobject,
which only passed the version check by chance, as its current
major version is 3.
2019-04-05 15:27:37 +02:00
Thibault Saunier
887da9a04b Add gst-integration-testsuites as a subproject 2019-03-14 10:10:32 -03:00
Tim-Philipp Müller
406caf378d Back to development 2019-03-03 21:00:32 +00:00
Tim-Philipp Müller
a603acf512 Build 1.15.2 release 2019-03-03 20:58:38 +00:00
Tim-Philipp Müller
cb21aed7dc meson: use new 'python' module instead of deprecated 'python3' one
https://github.com/mesonbuild/meson/pull/4169
2019-02-18 16:53:07 +00:00
Tim-Philipp Müller
7ea556d034 Configure subprojects in the right order
Use an array instead of a dict to make sure we iterate over
the list of subprojects in the right order, which is first
GStreamer core, then gst-plugins-base, then other things.

Without this subprojects might get configured in random order,
in which case gstreamer or gst-plugins-base libs might get picked
up via pkg-config if they are also available installed, instead of
being picked up from the subproject. This breaks all kinds of
assumptions in gst-build and will likely have strange effects
and/or lead to build failures such as

subprojects/gst-plugins-good/tests/check/meson.build:144:2:
ERROR: 'gstreamer-plugins-base-1.0' is not a pkgconfig dependency
2019-02-18 16:16:02 +00:00
Nirbheek Chauhan
530307ed47 New subproject win-nasm to provide nasm on Windows
This is needed for building openh264 as a subproject. Currently it's
downloaded unconditionally since the download is very small.
2019-02-05 22:43:30 +05:30
Seungha Yang
50037dd1eb Add an orc wrap file for using orc subproject
Depending on the newly added 'orc' meson option, this make possible
to use orc subproject on gst-build.
2019-01-29 11:50:03 +09:00
Tim-Philipp Müller
33a3686995 Configure gst-rtsp-server before gst-devtools
Since gst-devtools checks for gst-rtsp-server and will
happily pick up an external dep which isn't what we want
if we configure it as subproject afterwards.

This assumes meson dicts are always stable, which may
not necessarily be the case, but it seems to work in
practice for now.

See #16
2019-01-24 19:51:17 +00:00
Mathieu Duponchelle
2ffe372bdd windows: unconditionally use flex / bison binaries
This to simplify the checks made when for example a flex binary
is available system wide: the build process was failing when
that system wide binary didn't have the required version. Instead
of adding more checks and making things more complex, let's just
always use our binary subproject.
2019-01-24 17:25:46 +01:00
Nicolas Dufresne
6bb5408f1b Revert "Updated after gst-libav got moved to gst-ffmpeg"
This reverts commit d027bf7401.
2018-11-06 06:02:34 -05:00
Nicolas Dufresne
d027bf7401 Updated after gst-libav got moved to gst-ffmpeg 2018-11-06 05:34:52 -05:00
Mathieu Duponchelle
2758a63714 pygobject: add as a subproject when python is enabled
This should make our awkward interactions with a system-wide install
of pygobject in our uninstalled setup go away.
2018-10-31 00:46:31 +01:00
Thibault Saunier
8eaf74d816 Use subproject 'required' argument
Making the whole logic much simpler, and end result more accurate
2018-10-27 17:20:33 +01:00
Mathieu Duponchelle
c42ec82de6 Add pygobject and pycairo as subprojects 2018-10-27 17:58:44 +02:00
Thibault Saunier
81b7a024c4 Add wrap file for json-glib 2018-10-23 14:17:06 +02:00
Nirbheek Chauhan
3e714d0bae meson: Fix libav checks to use feature options correctly 2018-09-03 21:22:25 +05:30
Philippe Normand
51759df370 meson: Follow-up fix for ninja uninstalled
The --gst-version was removed in c78f0ef222 so
remove it from the meson.build file as well.

https://bugzilla.gnome.org/show_bug.cgi?id=796989
2018-08-31 11:44:17 +01:00
Thibault Saunier
e88cd3628a Mark ffmpeg as not required
As it was supposed to be.
2018-07-19 16:40:49 -04:00
Thibault Saunier
f8f510e50b Update libav dependency version check. 2018-07-13 12:16:20 -04:00
Thibault Saunier
a0bfbe1f8d Add back gst-libav
It slipped through in the previous refactoring
2018-07-13 11:45:28 -04:00
Thibault Saunier
3d47163919 Use new 'feature' option and dictionnary
Simplifying the build definition, making its options more flexible and
it is now simpler to read.

On a side not we want https://github.com/mesonbuild/meson/issues/3880
to simplify that again.

https://bugzilla.gnome.org/show_bug.cgi?id=796798
2018-07-12 12:15:30 -04:00
Tim-Philipp Müller
3942dc262b Don't build gst-python if required deps aren't available 2018-06-07 19:25:22 +01:00
Nirbheek Chauhan
85e49c19d4 Add a new subproject 'win-flex-bison-binaries'
This subproject will download and provide win32 binaries for flex
and/or bison if they aren't found at configure time on Windows.
2018-05-17 13:57:33 +05:30
Nirbheek Chauhan
f164b8d93f meson: Update option names to omit prefixes
Also, common options are now consistent across all gstreamer modules,
and are inherited automatically.
2018-05-05 20:30:29 +05:30
Tim-Philipp Müller
14bf7c9990 Bump Meson requirement to 0.46
Which matches GStreamer core's (and soon the other modules).
2018-04-25 01:06:27 +01:00
Mathieu Duponchelle
47844b2771 uname does not exist everywhere 2018-04-22 02:58:06 +02:00
Nirbheek Chauhan
8708f6a606 meson: Fix typo, lower() -> to_lower() 2018-04-21 12:59:04 +05:30
Nirbheek Chauhan
40f97fe186 Only pass -DZ_SOLO on MSVC if using MSYS2 zlib
This fixes the build when we're building our own zlib as a subproject.
2018-04-13 14:56:33 +05:30
Tim-Philipp Müller
2136763eb4 Build master 2018-03-20 01:08:23 +00:00
Tim-Philipp Müller
9051db2290 Build 1.14.0 2018-03-20 01:07:15 +00:00
Tim-Philipp Müller
dfc24cc612 Fix check for python3
Use the python3 module to find the right binary. It might not
be called 'python3', but could just be plain 'python' for example
(e.g. on windows).
2017-12-25 23:00:46 +01:00
Mathieu Duponchelle
834a66ec9a meson.build: bump up required meson to 0.42.0
In order to use meson introspect, meson conf
2017-12-18 17:05:20 +01:00
Nirbheek Chauhan
61ece08deb meson.build: Fix typo in gstreamer-sharp message
Reported by @jeandet on IRC.
2017-12-14 04:28:44 +05:30
Tim-Philipp Müller
8ff8df2112 Build with buildtype debugoptimized by default
https://bugzilla.gnome.org/show_bug.cgi?id=790989
2017-12-06 10:58:23 +00:00
Sreerenj Balachandran
ccedfe7472 meson.build: blacklist only libva 0.99.0
This is the same fix we used in gstreaemr-vaapi to blacklist
the notoroious libva version 0.99.0

Intel's MSDK uses libva 0.99.0, meanwhile open source libva bumped
its API version to 1.0.0. Thus we have to blacklist only the MSDK's
libva (0.99.0)

https://bugzilla.gnome.org/show_bug.cgi?id=789744
2017-11-01 10:32:55 -07:00
Tim-Philipp Müller
1f847ffbf4 Fix checking for libxml2, it's not required 2017-10-07 15:42:59 +01:00
Thibault Saunier
6bb7528a48 Make the cs compiler optional 2017-09-06 15:34:27 -03:00
Thibault Saunier
f7c192a440 Add csharp/gstreamer-sharp support 2017-09-06 13:48:10 -03:00
Tim-Philipp Müller
5b801e2f0e Don't try to build ges if required dep isn't found
We shouldn't error out all of gst-build by default
if one of ges's required deps is not there.
2017-08-03 23:45:52 +01:00
Tim-Philipp Müller
4b29870a5d Bump meson version requirement to >= 0.40.1
Which matches that of GStreamer core.
2017-05-26 14:05:12 +01:00
Thibault Saunier
e69935afac Back to development 2017-05-04 14:13:50 -03:00
Thibault Saunier
b318a1ff26 Release 1.12.0 2017-05-04 14:12:24 -03:00
Scott D Phillips
4db18a66b4 require libva < 0.99.0 for gstreamer-vaapi
Version 0.99.0 of libva isn't currently supported by gstreamer-vaapi.

https://bugzilla.gnome.org/show_bug.cgi?id=781866
2017-05-02 17:37:01 +02:00
Thibault Saunier
c071855c48 Allow disabling introspection from toplevel gst-build
https://bugzilla.gnome.org/show_bug.cgi?id=781148
2017-04-11 12:05:20 -03:00
Mathieu Duponchelle
12b1289519 uninstalled: use build and source root 2017-04-06 00:25:49 +02:00
Mathieu Duponchelle
95d525f43a Enable custom subprojects option 2017-03-08 00:36:03 +01:00
Scott D Phillips
a6ae14b612 add gstreamer-vaapi as a possible subproject
https://bugzilla.gnome.org/show_bug.cgi?id=778407
2017-02-09 16:15:31 -03:00
Matthew Waters
45d7f5f337 add gst-omx as a possible subproject 2017-01-18 16:25:52 +11:00
Tim-Philipp Müller
14de71cd96 Bump version 2017-01-13 13:07:47 +00:00
Thibault Saunier
2b74d4d86d Work around issue using msys2 provided zlib
https://bugzilla.gnome.org/show_bug.cgi?id=775281
2016-12-13 12:58:31 -03:00
Tim-Philipp Müller
8ebcfad265 Require latest meson release (0.36)
We'll start depending on it in other modules soon.
2016-11-14 19:09:20 +00:00
Tim-Philipp Müller
90021b82af Update version to match git master
Use the 1.10 branch if you want to track 1.10.
2016-11-09 09:37:56 +00:00
Thibault Saunier
c843f48740 Add 'update' and git-update targets to update git repos 2016-11-08 15:16:57 -03:00
Scott D Phillips
95a0651b2c Include libav dependency in FFmpeg check
The FFmpeg-origin check can't work if it isn't provided the
dependency library.

https://bugzilla.gnome.org/show_bug.cgi?id=773911
2016-11-03 21:51:01 -03:00
Tim-Philipp Müller
33e0791294 Skip gst-devtools if json-glib-1.0 is missing
We shouldn't fail hard because of a gst-devtools dependency,
so if json-glib-1.0 is not found, just skip the module and
build the rest.
2016-10-27 20:11:45 +01:00
Tim-Philipp Müller
0b560fb187 Add gst-rtsp-server 2016-10-27 00:30:32 +01:00
Tim-Philipp Müller
9a8ab306b7 Fix build if we can't find system ffmpeg / libavfilter dev packages
It would unconditionally add gst-libav to subprojects even
if the dep was not found.
2016-10-27 00:05:51 +01:00
Tim-Philipp Müller
73f692ddf9 Bump version to match gst git master 2016-10-27 00:05:39 +01:00
Tim-Philipp Müller
233bdf98e8 Require meson 0.35.1
Otherwise gst-devtools will fail to configure with
UnboundLocalError: local variable 'variable' referenced before assignment
2016-10-27 00:02:01 +01:00
Thibault Saunier
3875f0c705 Add options to disable some modules 2016-10-26 17:03:18 -03:00
Thibault Saunier
85880a3a22 Create symlinks to built subprojects 2016-10-21 05:31:13 -03:00
Thibault Saunier
b844b7229a Do not gst-python by default 2016-10-20 17:47:07 -03:00
Thibault Saunier
be5e8af9e2 Fix run_target usage 2016-09-14 10:36:28 -03:00
Thibault Saunier
bf1aa16608 Add [gst-]python support 2016-09-09 08:30:01 -03:00
Thibault Saunier
080780c720 Build gst-libav if libav is on the system 2016-09-09 08:30:01 -03:00
Saunier Thibault
de987e8c61 Initial commit 2016-08-25 15:26:28 -03:00