Skip to content

Commit ee76b6b

Browse files
committed
cargo: vary crate names per machine
Signed-off-by: Paolo Bonzini <[email protected]>
1 parent a6dbd69 commit ee76b6b

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

mesonbuild/cargo/interpreter.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@ def _dependency_name(package_name: str, api: str, suffix: str = '-rs') -> str:
3939
return f'{basename}-{api}{suffix}'
4040

4141

42+
def _fixup_meson_target_name(package_name: str, machine: MachineChoice) -> str:
43+
suffix = '+build' if machine == MachineChoice.BUILD else ''
44+
return fixup_meson_varname(package_name) + suffix
45+
46+
4247
def _dependency_varname(package_name: str, machine: MachineChoice) -> str:
4348
suffix = '_native' if machine == MachineChoice.BUILD else ''
4449
return f'{fixup_meson_varname(package_name)}_dep{suffix}'
@@ -624,7 +629,7 @@ def _create_lib(self, pkg: PackageState, build: builder.Builder, crate_type: raw
624629
dependencies.append(build.identifier(_dependency_varname(dep.package, machine)))
625630
dep_lib_name = dep_pkg.manifest.lib.name
626631
dep_crate_name = name if name != dep.package else dep_lib_name
627-
dependency_map[build.string(_fixup_meson_varname(dep_lib_name))] = build.string(dep_crate_name)
632+
dependency_map[build.string(_fixup_meson_target_name(dep_lib_name, machine))] = build.string(dep_crate_name)
628633
for name, sys_dep in pkg.manifest.system_dependencies.items():
629634
if sys_dep.enabled(cfg.features):
630635
dependencies.append(build.identifier(f'{fixup_meson_varname(name)}_system_dep'))
@@ -638,7 +643,7 @@ def _create_lib(self, pkg: PackageState, build: builder.Builder, crate_type: raw
638643
dependencies.append(build.identifier(_extra_deps_varname()))
639644

640645
posargs: T.List[mparser.BaseNode] = [
641-
build.string(fixup_meson_varname(pkg.manifest.lib.name)),
646+
build.string(_fixup_meson_target_name(pkg.manifest.lib.name, machine)),
642647
build.string(pkg.manifest.lib.path),
643648
]
644649

0 commit comments

Comments
 (0)