diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2014-06-19 00:02:19 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2014-06-19 00:02:19 +0300 |
commit | bf4708eb832538189b1e878cd11cb7888d7f2c70 (patch) | |
tree | da150e2491094da56f16ef04fd6cd222be370de5 | |
parent | e4b17ff3e80726d903d75161cc061820d606e0db (diff) | |
download | meson-bf4708eb832538189b1e878cd11cb7888d7f2c70.zip meson-bf4708eb832538189b1e878cd11cb7888d7f2c70.tar.gz meson-bf4708eb832538189b1e878cd11cb7888d7f2c70.tar.bz2 |
Build a shared Rust library.
-rw-r--r-- | ninjabackend.py | 5 | ||||
-rw-r--r-- | test cases/rust/2 sharedlib/meson.build | 3 | ||||
-rw-r--r-- | test cases/rust/2 sharedlib/stuff.rs | 3 |
3 files changed, 9 insertions, 2 deletions
diff --git a/ninjabackend.py b/ninjabackend.py index 95edba9..543cc12 100644 --- a/ninjabackend.py +++ b/ninjabackend.py @@ -506,12 +506,13 @@ class NinjaBackend(backends.Backend): flags = ['--crate-type'] if isinstance(target, build.Executable): flags.append('bin') + elif isinstance(target, build.SharedLibrary): + flags.append('dylib') else: raise InvalidArguments('Unknown target type for rustc.') flags += rustc.get_buildtype_flags(self.environment.coredata.buildtype) - target_file = target.get_basename() depfile = target.name + '.d' - flags += ['--out-dir', target.subdir, '-o', target_file] + flags += ['--out-dir', target.subdir, '-o', target.get_filename()] flags += ['--dep-info', depfile] element = NinjaBuildElement(target_name, 'rust_COMPILER', relsrc) element.add_item('FLAGS', flags) diff --git a/test cases/rust/2 sharedlib/meson.build b/test cases/rust/2 sharedlib/meson.build new file mode 100644 index 0000000..88a0623 --- /dev/null +++ b/test cases/rust/2 sharedlib/meson.build @@ -0,0 +1,3 @@ +project('rust shared library', 'rust') + +l = shared_library('stuff', 'stuff.rs') diff --git a/test cases/rust/2 sharedlib/stuff.rs b/test cases/rust/2 sharedlib/stuff.rs new file mode 100644 index 0000000..5e1dcc2 --- /dev/null +++ b/test cases/rust/2 sharedlib/stuff.rs @@ -0,0 +1,3 @@ +#![crate_id = "stuff#1.0"] + +pub fn explore() -> &'static str { "librarystring" } |