Commit graph

424 commits

Author SHA1 Message Date
Stéphane Cerveau
23f4266bbd gstreamer-full: fix empty -Dgst-full-plugins=
When this option was given empty, when for example we don't
want any plugin in gstreamer full, the
build process was failing because an empty
plugin was created in gstinitstaticplugins.c.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/244>
2021-05-18 14:41:41 +02: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
Olivier Crête
e43985d8bb devenv: Add webrtc testsuite to paths
This makes it a little easier to run it.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/243>
2021-04-30 17:37:31 -04:00
Stéphane Cerveau
e4421c3c90 bash-completion: add completion for gstreamer tools
Allow to autocomplete with elements/properties
in the devenv using gst-launch-1.0 etc.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/232>
2021-04-29 23:54:33 +00:00
Edward Hervey
ce79200376 subprojects: Update glib to 2.68 and glib-networking to 2.66 branch
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/143>
2021-04-12 00:14:20 +01:00
Nirbheek Chauhan
468232b6bc git-update: Make fetching of external repos non-fatal on the CI
Fixes intermittent failures when external repos have downtime. This is
common with GNOME Gitlab. Only error out on CI if a FDO gitlab repo
fails to fetch.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/240>
2021-04-08 15:21:07 +05:30
Andrey Moiseev
d5b6cc88f9 gst-env: Windows: Fix looking for cmd_or_ps.ps1 in the wrong directory
At the point of get_windows_shell() execution, the current directory
equals DEFAULT_BUILDDIR=./build. But cmd_or_ps.ps1 is in SCRIPTDIR=./
(repo root). Point subprocess.check_output() to the correct directory.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/238>
2021-04-06 02:51:07 -07:00
Tim-Philipp Müller
d3c4043db3 .gitignore: add more subproject checkouts
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/231>
2021-01-14 19:18:55 +00:00
Tim-Philipp Müller
334fdf5c3a subprojects: add libdv wrap
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/231>
2021-01-14 19:16:01 +00:00
Xavier Claessens
a64eacd73b meson: Update zlib.wrap to use wrapdb instead of github fork
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/217>
2021-01-13 12:55:06 +00:00
Stéphane Cerveau
f0f0662d9d gst-full: add way to test features presence
This test allows to test a list of features to be
registered in the library (or not).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199>
2020-12-11 12:50:16 +00: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
Arun Raghavan
f0210bf92e gitignore: Add the webrtc-audio-processing subproject
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/227>
2020-12-03 06:40:15 -05: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
Tim-Philipp Müller
000b01c6f1 Add opus wrap
Now that Meson build system support has been merged upstream.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/225>
2020-11-16 19:23:20 +00:00
Nirbheek Chauhan
9898650a31 meson: Update expat.wrap for MSVC fix
This broke during the update in !206, and we didn't notice because the
CI doesn't update --reset the wraps, which will be fixed by
https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/375

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/224>
2020-11-05 13:09:46 +05:30
Nirbheek Chauhan
e3d694195f gitignore: Add new subprojects to ignore list
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223>
2020-11-04 18:56:38 +05:30
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
Guillaume Desmottes
eba05e57a6 subprojects: add webrtc-audio-processing.wrap
Will be useful to build the iSAC plugin:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1124

Depends on https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/merge_requests/11

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/219>
2020-10-28 16:14:41 +01:00
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
89176610d2 Revert "subprojects: orc: pin to 0.4.29 release"
This reverts commit 8a2ac5c668.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/215>
2020-10-27 14:33:59 +01:00
Tim-Philipp Müller
2faa29909f libpsl.wrap: pin to 0.21.1 tag
So build failures on master don't break our build and CI.

https://github.com/rockdaboot/libpsl/pull/164

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/213>
2020-10-26 12:13:12 +00:00
Xavier Claessens
8046eda879 Meson: Use generated -uninstalled.pc files 2020-10-23 10:55:20 -04: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
139fbac92e gstreamer-full: add assert for global symbols
Add _gst_caps_features_any not null assert
Add _gst_caps_features_memory_system_memory as well

A bug has been detected when using -Bsymbolic in the link
of libgstreamer-full.so

This flag has been introduced to fix this issue:

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

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
d5dcbdb51b gst-full: use a default version script
Use a default version script instead of
Bsymbolic to get rid of x264 and ffmpeg
symbol relocation issue.

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

Export only glib and gstreamer symbols.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/204>
2020-10-14 16:05:13 +02:00
Xavier Claessens
71616b9317 meson: Update expat.wrap with latest version
It fixes missing exported symbols:
2602bd52eb

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/206>
2020-10-13 17:08:53 +00:00
Philippe Normand
05f7066179 subprojects: Update libwpe and wpebackend-fdo for fallback support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/205>
2020-10-12 12:29:01 +00: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
Philippe Normand
e7b9f6b04a wpebackend-fdo: Update to 1.9
This commit will be useful for the wpesrc audio support, and for CI/SHM purposes
in general.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/202>
2020-10-09 18:17:57 +00:00
Philippe Normand
852f8f7a53 Add libwpe subproject
This is a dependency of wpebackend-fdo.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/202>
2020-10-09 18:17:57 +00:00
Guillaume Desmottes
4a2e037fd6 gst-worktree: add support for wrap file without 'directory' field
The script is currently not usable because of pango.wrap not having the
'directory' field and relying on the default from the file name.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/201>
2020-10-07 15:02:23 +02:00
Stéphane Cerveau
9c90e6a1c3 libopenjp2: update wrap
Fix lcms2 and wxWidgets system dependencies.

https://github.com/mesonbuild/libopenjp2/pull/2

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/200>
2020-10-06 13:15:57 +00: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
Xavier Claessens
a9731bdcb7 Add pango.wrap file and its dependencies
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/196>
2020-10-06 12:35:14 +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
89913b2f83 gst-full: Prevent multiple calls to gst_init_static_plugins()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/191>
2020-10-05 17:17:46 -04:00
Xavier Claessens
d4f95054e1 README: Document gstreamer-full-1.0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/191>
2020-10-05 17:17:46 -04: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
Antonio Ospite
fa9627eb75 gst-env: use Path.open() in get_pkgconfig_variable_from_pcfile()
The pcfile argument passed to get_target_install_filename() is
guaranteed to be a Path() object so use the .open() method to open the
file instead of the standard open() function.

This makes it possible to run gst-env.py on older systems with pyhton3.5
where the standard open() function cannot handle Path arguments.

The change fixes errors like the following:

-----------------------------------------------------------------------
$ ninja -C build/ devenv
ninja: Entering directory `build/'
[0/1] Running external command devenv
Traceback (most recent call last):
  File "/home/ao2/gst-build/gst-env.py", line 493, in <module>
    env = get_subprocess_env(options, gst_version)
  File "/home/ao2/gst-build/gst-env.py", line 342, in get_subprocess_env
    elif is_gio_module(target, filename, options.builddir):
  File "/home/ao2/gst-build/gst-env.py", line 121, in is_gio_module
    giomoduledir = PurePath(get_pkgconfig_variable(builddir, 'gio-2.0', 'giomoduledir'))
  File "/home/ao2/gst-build/gst-env.py", line 110, in get_pkgconfig_variable
    return get_pkgconfig_variable_from_pcfile(pcfile, varname)
  File "/home/ao2/gst-build/gst-env.py", line 89, in get_pkgconfig_variable_from_pcfile
    with open(pcfile, 'r', encoding='utf-8') as f:
TypeError: invalid file: PosixPath('/home/ao2/gst-build/build/meson-private/gio-2.0.pc')
FAILED: meson-devenv
-----------------------------------------------------------------------

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/192>
2020-09-24 13:50:09 +02:00
Nicolas Dufresne
9e8ce49ac4 meson: Add qt5 feature
This allow disabling qt5 across GStreamer with a single configuration.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/190>
2020-09-19 00:25:18 +00:00
Jordan Petridis
5758e5461f {pygobject,pycairo}.wrap: point to stable refs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/189>
2020-09-15 15:51:42 +03:00
Tim-Philipp Müller
be984e88db Back to development 2020-09-08 16:59:25 +01:00