diff options
author | Adam C. Foltzer <acfoltzer@galois.com> | 2017-07-11 19:40:38 -0700 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2017-07-22 03:49:39 +0300 |
commit | 4eda3ca0fcad6b0071c36a87237e0c7080d18701 (patch) | |
tree | d2cb65c6ce405d2bc76c3fd765db94bd5bc62e84 | |
parent | bff37a90fc475c6204087dcf1ccb6734b990141e (diff) | |
download | meson-4eda3ca0fcad6b0071c36a87237e0c7080d18701.zip meson-4eda3ca0fcad6b0071c36a87237e0c7080d18701.tar.gz meson-4eda3ca0fcad6b0071c36a87237e0c7080d18701.tar.bz2 |
add `crate-name` to Rust target args
This is required for downstream Rust dependencies to properly import
libraries using `extern crate`.
-rw-r--r-- | mesonbuild/backend/ninjabackend.py | 1 | ||||
-rw-r--r-- | test cases/rust/6 named staticlib/installed_files.txt | 2 | ||||
-rw-r--r-- | test cases/rust/6 named staticlib/meson.build | 5 | ||||
-rw-r--r-- | test cases/rust/6 named staticlib/prog.rs | 3 | ||||
-rw-r--r-- | test cases/rust/6 named staticlib/stuff.rs | 1 |
5 files changed, 12 insertions, 0 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index 08ae456..3b2a941 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -1176,6 +1176,7 @@ int dummy; else: raise InvalidArguments('Unknown target type for rustc.') args.append(cratetype) + args += ['--crate-name', target.name] args += rustc.get_buildtype_args(self.get_option_for_target('buildtype', target)) depfile = os.path.join(target.subdir, target.name + '.d') args += ['--emit', 'dep-info={}'.format(depfile), '--emit', 'link'] diff --git a/test cases/rust/6 named staticlib/installed_files.txt b/test cases/rust/6 named staticlib/installed_files.txt new file mode 100644 index 0000000..bd023ef --- /dev/null +++ b/test cases/rust/6 named staticlib/installed_files.txt @@ -0,0 +1,2 @@ +usr/bin/prog?exe +usr/lib/libnamed_stuff.rlib diff --git a/test cases/rust/6 named staticlib/meson.build b/test cases/rust/6 named staticlib/meson.build new file mode 100644 index 0000000..f91b7a1 --- /dev/null +++ b/test cases/rust/6 named staticlib/meson.build @@ -0,0 +1,5 @@ +project('rust static library', 'rust') + +l = static_library('named_stuff', 'stuff.rs', install : true) +e = executable('prog', 'prog.rs', link_with : l, install : true) +test('linktest', e) diff --git a/test cases/rust/6 named staticlib/prog.rs b/test cases/rust/6 named staticlib/prog.rs new file mode 100644 index 0000000..856c4b7 --- /dev/null +++ b/test cases/rust/6 named staticlib/prog.rs @@ -0,0 +1,3 @@ +extern crate named_stuff; + +fn main() { println!("printing: {}", named_stuff::explore()); } diff --git a/test cases/rust/6 named staticlib/stuff.rs b/test cases/rust/6 named staticlib/stuff.rs new file mode 100644 index 0000000..9b36e57 --- /dev/null +++ b/test cases/rust/6 named staticlib/stuff.rs @@ -0,0 +1 @@ +pub fn explore() -> &'static str { "librarystring" } |