diff options
| -rw-r--r-- | mesonbuild/backend/ninjabackend.py | 4 | ||||
| -rw-r--r-- | test cases/rust/27 objects/lib1-dylib.rs | 3 | ||||
| -rw-r--r-- | test cases/rust/27 objects/meson.build | 5 |
3 files changed, 10 insertions, 2 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index 7413ee39c..dd37bb4be 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -29,7 +29,7 @@ from ..compilers import Compiler from ..linkers import ArLikeLinker, RSPFileSyntax from ..mesonlib import ( File, LibType, MachineChoice, MesonBugException, MesonException, OrderedSet, PerMachine, - ProgressBar, quote_arg + ProgressBar, quote_arg, unique_list ) from ..mesonlib import get_compiler_for_source, has_path_sep, is_parent_path from ..options import OptionKey @@ -2208,6 +2208,8 @@ class NinjaBackend(backends.Backend): rustdoc = rustc.get_rustdoc(self.environment) args = rustdoc.get_exe_args() args += self.get_rust_compiler_args(target.doctests.target, rustdoc, target.rust_crate_type) + o, _ = self.flatten_object_list(target.doctests.target) + obj_list = unique_list(obj_list + o) # Rustc does not add files in the obj_list to Rust rlibs, # and is added by Meson to all of the dependencies, including here. _, _, deps_args = self.get_rust_compiler_deps_and_args(target.doctests.target, rustdoc, obj_list) diff --git a/test cases/rust/27 objects/lib1-dylib.rs b/test cases/rust/27 objects/lib1-dylib.rs index 858b121f9..b5080e8f5 100644 --- a/test cases/rust/27 objects/lib1-dylib.rs +++ b/test cases/rust/27 objects/lib1-dylib.rs @@ -15,7 +15,8 @@ pub extern "C" fn c_func() } /// ``` -/// use lib12::rust_func; +/// #[cfg(not(nodep))] use lib12::rust_func; +/// #[cfg(nodep)] use lib12_nodep::rust_func; /// rust_func(); /// ``` pub fn rust_func() diff --git a/test cases/rust/27 objects/meson.build b/test cases/rust/27 objects/meson.build index d6732d343..ad9578a6e 100644 --- a/test cases/rust/27 objects/meson.build +++ b/test cases/rust/27 objects/meson.build @@ -33,3 +33,8 @@ lib12_rlib = static_library('lib12', 'lib1-dylib.rs', rust = import('rust') rust.doctest('rlib with dep', lib12_rlib) + +lib12_rlib_nodep = static_library('lib12_nodep', 'lib1-dylib.rs') +rust.doctest('rlib with dep in tests', lib12_rlib_nodep, + rust_args: ['--cfg', 'nodep'], + dependencies: dep2) |
