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