Manos Pitsidianakis <[email protected]> writes:
> Add options for Rust in meson_options.txt, meson.build, configure to
> prepare for adding Rust code in the followup commits.
>
> `rust` is a reserved meson name, so we have to use an alternative.
> `with_rust` was chosen.
>
> A cargo_wrapper.py script is added that is heavily based on the work of
> Marc-André Lureau from 2021.
>
> https://patchew.org/QEMU/[email protected]/
>
> Signed-off-by: Marc-André Lureau <[email protected]>
> Signed-off-by: Manos Pitsidianakis <[email protected]>
<snip>
>
> +with_rust="auto"
> +with_rust_target_triple=""
> +
> ar="${AR-${cross_prefix}ar}"
> as="${AS-${cross_prefix}as}"
> ccas="${CCAS-$cc}"
> @@ -760,6 +763,12 @@ for opt do
> ;;
> --gdb=*) gdb_bin="$optarg"
> ;;
> + --enable-with-rust) with_rust=enabled
> + ;;
> + --disable-with-rust) with_rust=disabled
> + ;;
> + --with-rust-target-triple=*) with_rust_target_triple="$optarg"
> + ;;
> # everything else has the same name in configure and meson
> --*) meson_option_parse "$opt" "$optarg"
> ;;
> @@ -1796,6 +1805,8 @@ if test "$skip_meson" = no; then
> test -n "${LIB_FUZZING_ENGINE+xxx}" && meson_option_add
> "-Dfuzzing_engine=$LIB_FUZZING_ENGINE"
> test "$plugins" = yes && meson_option_add "-Dplugins=true"
> test "$tcg" != enabled && meson_option_add "-Dtcg=$tcg"
> + test "$with_rust" != enabled && meson_option_add "-Dwith_rust=$with_rust"
> + test "$with_rust_target_triple" != "" && meson_option_add
> "-Dwith_rust_target_triple=$with_rust_target_triple"
> run_meson() {
> NINJA=$ninja $meson setup "$@" "$PWD" "$source_path"
> }
<snip>
> +summary_info += {'Rust support': with_rust}
> +if with_rust and get_option('with_rust_target_triple') != ''
> + summary_info += {'Rust target': get_option('with_rust_target_triple')}
> +endif
<snip>
I wonder if we should display the auto-probed triple here as well, not
just when its been overridden?
--
Alex Bennée
Virtualisation Tech Lead @ Linaro