Commits on Source (9)
-
164f5437
-
The autotools suite (automake, libtool, ...) does not support Rust neither Cargo (Rust package manager and build system) so we need to have a custom system for using them. We do this by having "hacky" script that does the build with cargo and output an .a archive in the .libs directory. And with this and another cargo command we create the .la with the right information so that the build system can continue as usual.
c8ce25a0 -
Despite meson officially "supporting" Rust it does support working with Cargo (Rust package manager and build system) so we need to have a bit of custom system for using it. `cargo-output.py` to build and copy the output files (static archive and depfile) to the expected location by meson. And `cargo-rustc-static-libs.py` to get the common linker args for a bar-bone std rust program (ie without dependencies). Those two scripts would potentially be removed if meson and/or cargo became more flexible and/or intelligent.
19edba74 -
3131cc19
-
The call to libtool_cargo will not depend on the current working directory.
f3af3473 -
Avoid using array syntax from bash and use a case; esac to filter the arguments given to the libtool_cargo wrapper. This allows to extract some arguments, such as --cfg here.
9b218aab -
Make the script work like Makefile.am files, by allowing to specify where libtool is meant to be found. Using the same libtool as autoconf will ensure we use the correct wrapper or alternative implementation as specified by autoconf.
ac1ae30b -
`echo -n` on Darwin leads to `-n` being printed into the dependency file. `printf` behaviour is more reliable so use it.
b57acd87 -
Ensure that !HAVE_DYNAMIC_PLUGINS is correctly forwarded to Cargo so that modules that are built statically are really built with the static plugin API conventions, with suffixed `vlc_entry*` functions names. This really enables and implement the static flavour for the Rust plugins.
0361de5c
Showing
- buildsystem/cargo-output.py 80 additions, 0 deletionsbuildsystem/cargo-output.py
- buildsystem/cargo-rustc-static-libs.py 83 additions, 0 deletionsbuildsystem/cargo-rustc-static-libs.py
- meson.build 3 additions, 0 deletionsmeson.build
- meson_options.txt 5 additions, 0 deletionsmeson_options.txt
- modules/Cargo.toml 1 addition, 0 deletionsmodules/Cargo.toml
- modules/Makefile.am 31 additions, 0 deletionsmodules/Makefile.am
- modules/libtool_cargo.sh 110 additions, 0 deletionsmodules/libtool_cargo.sh
- modules/meson.build 163 additions, 0 deletionsmodules/meson.build
buildsystem/cargo-output.py
0 → 100644
buildsystem/cargo-rustc-static-libs.py
0 → 100644
modules/libtool_cargo.sh
0 → 100755