summaryrefslogtreecommitdiff
path: root/mesonbuild/compilers/rust.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/compilers/rust.py')
-rw-r--r--mesonbuild/compilers/rust.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/mesonbuild/compilers/rust.py b/mesonbuild/compilers/rust.py
index 475b7a402..011c28f1d 100644
--- a/mesonbuild/compilers/rust.py
+++ b/mesonbuild/compilers/rust.py
@@ -1,5 +1,6 @@
# SPDX-License-Identifier: Apache-2.0
# Copyright 2012-2022 The Meson development team
+# Copyright © 2023-2024 Intel Corporation
from __future__ import annotations
@@ -12,7 +13,7 @@ import typing as T
from .. import options
from ..mesonlib import EnvironmentException, MesonException, Popen_safe_logged
from ..options import OptionKey
-from .compilers import Compiler, clike_debug_args
+from .compilers import Compiler, CompileCheckMode, clike_debug_args
if T.TYPE_CHECKING:
from ..coredata import MutableKeyedOptionDictType
@@ -323,6 +324,12 @@ class RustCompiler(Compiler):
return exelist + args
+ def has_multi_arguments(self, args: T.List[str], env: Environment) -> T.Tuple[bool, bool]:
+ return self.compiles('fn main { std::process::exit(0) };\n', env, extra_args=args, mode=CompileCheckMode.COMPILE)
+
+ def has_multi_link_arguments(self, args: T.List[str], env: Environment) -> T.Tuple[bool, bool]:
+ args = self.linker.fatal_warnings() + args
+ return self.compiles('fn main { std::process::exit(0) };\n', env, extra_args=args, mode=CompileCheckMode.LINK)
class ClippyRustCompiler(RustCompiler):