Nirbheek Chauhan
89002b4562
meson: Don't override RUSTFLAGS in the env
...
Meson does not add RUSTFLAGS to rustc.cmd_array(), so the effect of
this code is to override that value in the env.
This is hacky, since the env has to match during setup and compile
now, and rust_args added in the cross / native file will be ignored.
But at least it fixes this regression:
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/372
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1237 >
2023-07-12 13:44:17 +05:30
Lily Foster
8e4fd2c167
meson: support rust cross-compiling with cargo wrapper
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1188 >
2023-04-21 16:55:37 +00:00
Nirbheek Chauhan
f94e422b61
cargo_wrapper: Write to log with line-buffering
...
So we get log output while cargo is running, not just when it completes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1031 >
2022-12-29 06:51:17 +05:30
Nirbheek Chauhan
5f0ff8348f
meson: Add an option to build examples
...
Required renaming threadshare/benchmark to threadshare/ts-benchmark
because 'benchmark' as a target name is reserved for meson's
`benchmark` target.
Disabled by default because cargo decides that it has to rebuild
everything, and is really slow because of that.
Also required adding --features for setting features required by the
examples.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1028 >
2022-12-28 22:30:11 +05:30
Nirbheek Chauhan
a3d405f670
meson: Add options for all plugins
...
Required a slight rework of the build file, and how options are passed
to cargo_wrapper.py
Necessitated a bump of the required gstreamer version to 1.20, which
should be fine for the meson build since its primary function is to be
built as part of the gstreamer monorepo build to get a dev env.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1028 >
2022-12-28 22:30:11 +05:30
Nirbheek Chauhan
851c82df85
cargo_wrapper: Fix setting of PKG_CONFIG_PATH and CARGO_TARGET_DIR
...
Don't need to use an env var for the latter.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1028 >
2022-12-28 15:52:52 +00:00
Nirbheek Chauhan
639997d67f
meson: Handle windows path separator correctly
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1021 >
2022-12-19 11:21:57 +00:00
Nirbheek Chauhan
0530b324c1
cargo_wrapper: Handle windows paths for depfiles
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1021 >
2022-12-19 11:21:57 +00:00
Nirbheek Chauhan
985e3e85d6
meson: Do not serialize env, use env: kwarg
...
This is simpler, and more correct.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1018 >
2022-12-18 04:56:46 +00:00
Thibault Saunier
5c89c3db69
webrtc: Rename and add to meson build the signalling server
...
The binary was only called `server` it has been renamed to
`gst-webrtc-signalling-server` and is installed in meson.
2022-10-20 18:20:15 +00:00
Thibault Saunier
31a53bba8a
Generate plugins documentation using hotdoc
...
Which will automatically be integrated in gstreamer documentation
2022-08-29 18:33:22 -04:00
Klaas Jan Russcher
f327053811
cargo_wrapper.py: added python3 version check for right usage of shutil.move(..)
2022-05-27 21:34:35 +02:00
Thibault Saunier
7ff998f925
meson: Cleanup our meson integration
...
Writing a proper "depfile" to follow depending files, based on depfiles
generated by rustc.
This is based on work done while working on gobject-examples-rs
2022-04-20 10:21:59 -04:00
Guillaume Desmottes
32ef12e738
meson: fix out of tree build
...
Needed for gst-build integration. Thanks to Michael Farrell for the fix
suggestion.
Fix #171
2021-11-02 10:18:13 +01:00
Guillaume Desmottes
acce0ab4fc
meson: build all workspaces all together
...
It's now possible thanks to cargo-c 0.9.3. Should reduce build time of
all plugins.
Fix #165
2021-10-19 07:49:22 +00:00
Guillaume Desmottes
70d3eecbc5
meson: fix copy of build artifacts
...
Latest version of cargo-c and cargo are now producing files to
'build/target/x86_64-unknown-linux-gnu/debug/' instead of 'build/target/debug/'.
Fix this by making the glob pattern recursive.
2021-04-16 14:25:02 +02:00
Guillaume Desmottes
32d511684e
meson: install plugins pc files
2021-01-04 12:26:45 +01:00
Guillaume Desmottes
dfdbd370f9
meson: use cargo-c
...
We now have to run 'cbuild' and 'ctest' on each plugin individually.
Replace plugins_rep key by the source path so we can easily discard the
excluded plugins.
2021-01-04 12:26:45 +01:00
Guillaume Desmottes
b9f8ce9995
meson: add support for static build
...
There is no way to dynamically ask Cargo to build static or dynamic lib
so we have to build both and pick the one we care when doing the meson
processing.
Fix #88
2020-11-16 15:30:32 +01:00
Guillaume Desmottes
d16e7d1213
meson: fix PKG_CONFIG_PATH
...
pkg-config files are now ll in 'build/meson-uninstalled'.
Fix https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/415 >
2020-10-26 08:50:45 +01:00
Guillaume Desmottes
1b84dd1f6b
meson: add sodium option
...
Allow us to pick between the built-in libsodium, use the one from the
system or disable the plugin.
2020-01-30 10:57:00 +00:00
Guillaume Desmottes
d98e76529d
meson: build tests, bins and examples
...
Best to build as much as possible so we can detect build breakage
earlier and we won't have to build tests when running them.
2020-01-16 14:03:39 +05:30
Guillaume Desmottes
28e3e3199c
meson: add test wrapper
...
Allow us to run the tests using 'meson test'.
Needed for https://gitlab.freedesktop.org/gstreamer/gst-ci/issues/46
2020-01-07 14:19:13 +05:30
Guillaume Desmottes
accd10dfea
meson: add 'command' argument to cargo wrapper
...
Will be used to add test support.
2020-01-07 14:06:14 +05:30
Guillaume Desmottes
46dda60db9
meson: don't pass empty --exclude when building all plugins
...
''.split(',') returns [''] and not [].
2020-01-03 09:41:41 +05:30
Guillaume Desmottes
e158f4ef88
meson: rename cargo.py to cargo_wrapper.py
...
Fix 'cargo build' on Windows as its $PATH includes $PWD, it seems to
pick our script rather than the actual cargo.
2020-01-03 09:35:10 +05:30