diff options
| author | Dylan Baker <dylan@pnwbakers.com> | 2024-01-19 14:50:31 -0800 |
|---|---|---|
| committer | Dylan Baker <dylan@pnwbakers.com> | 2024-01-30 10:58:14 -0800 |
| commit | 55d30b61ffadb014abb0c814c039ebebfc7df347 (patch) | |
| tree | fa221a687f0ba77557863063f3555cd963d05642 | |
| parent | 708a108cded4b25928b838483a95aad764622716 (diff) | |
| download | meson-55d30b61ffadb014abb0c814c039ebebfc7df347.tar.gz | |
rust: Add `--extern proc_macro` in `rust.proc_macro() not in cargo translation
Cargo does this by default, so it's reasonable that we do the same.
Fixes: #12758
| -rw-r--r-- | mesonbuild/cargo/interpreter.py | 3 | ||||
| -rw-r--r-- | mesonbuild/modules/rust.py | 3 |
2 files changed, 3 insertions, 3 deletions
diff --git a/mesonbuild/cargo/interpreter.py b/mesonbuild/cargo/interpreter.py index a6634ac1b..66e45acc1 100644 --- a/mesonbuild/cargo/interpreter.py +++ b/mesonbuild/cargo/interpreter.py @@ -1,5 +1,5 @@ # SPDX-License-Identifier: Apache-2.0 -# Copyright © 2022-2023 Intel Corporation +# Copyright © 2022-2024 Intel Corporation """Interpreter for converting Cargo Toml definitions to Meson AST @@ -418,7 +418,6 @@ def _create_lib(cargo: Manifest, build: builder.Builder, crate_type: manifest.CR lib: mparser.BaseNode if cargo.lib.proc_macro or crate_type == 'proc-macro': - kwargs['rust_args'] = build.array([build.string('--extern'), build.string('proc_macro')]) lib = build.method('proc_macro', build.identifier('rust'), posargs, kwargs) else: if crate_type in {'lib', 'rlib', 'staticlib'}: diff --git a/mesonbuild/modules/rust.py b/mesonbuild/modules/rust.py index eb15473de..96e1e6f16 100644 --- a/mesonbuild/modules/rust.py +++ b/mesonbuild/modules/rust.py @@ -1,5 +1,5 @@ # SPDX-License-Identifier: Apache-2.0 -# Copyright © 2020-2023 Intel Corporation +# Copyright © 2020-2024 Intel Corporation from __future__ import annotations import itertools @@ -283,6 +283,7 @@ class RustModule(ExtensionModule): def proc_macro(self, state: ModuleState, args: T.Tuple[str, SourcesVarargsType], kwargs: _kwargs.SharedLibrary) -> SharedLibrary: kwargs['native'] = True # type: ignore kwargs['rust_crate_type'] = 'proc-macro' # type: ignore + kwargs['rust_args'] = kwargs['rust_args'] + ['--extern', 'proc_macro'] target = state._interpreter.build_target(state.current_node, args, kwargs, SharedLibrary) return target |
