diff options
Diffstat (limited to 'test cases/rust')
-rw-r--r-- | test cases/rust/22 cargo subproject/meson.build | 2 | ||||
-rw-r--r-- | test cases/rust/22 cargo subproject/subprojects/foo-0-rs.wrap | 3 | ||||
-rw-r--r-- | test cases/rust/28 mixed/hello.rs | 6 | ||||
-rw-r--r-- | test cases/rust/28 mixed/main.cc | 5 | ||||
-rw-r--r-- | test cases/rust/28 mixed/meson.build | 12 | ||||
-rw-r--r-- | test cases/rust/4 polyglot/stuff.rs | 2 |
6 files changed, 28 insertions, 2 deletions
diff --git a/test cases/rust/22 cargo subproject/meson.build b/test cases/rust/22 cargo subproject/meson.build index 1b60014..7e2c662 100644 --- a/test cases/rust/22 cargo subproject/meson.build +++ b/test cases/rust/22 cargo subproject/meson.build @@ -1,6 +1,6 @@ project('cargo subproject', 'c') -foo_dep = dependency('foo-0-rs') +foo_dep = dependency('foo-0-cdylib') exe = executable('app', 'main.c', dependencies: foo_dep, ) diff --git a/test cases/rust/22 cargo subproject/subprojects/foo-0-rs.wrap b/test cases/rust/22 cargo subproject/subprojects/foo-0-rs.wrap index 99686e9..d12172b 100644 --- a/test cases/rust/22 cargo subproject/subprojects/foo-0-rs.wrap +++ b/test cases/rust/22 cargo subproject/subprojects/foo-0-rs.wrap @@ -1,2 +1,5 @@ [wrap-file] method = cargo + +[provide] +dependency_names = foo-0-cdylib diff --git a/test cases/rust/28 mixed/hello.rs b/test cases/rust/28 mixed/hello.rs new file mode 100644 index 0000000..549fa94 --- /dev/null +++ b/test cases/rust/28 mixed/hello.rs @@ -0,0 +1,6 @@ +#![no_main] + +#[no_mangle] +pub extern "C" fn hello_rust() { + println!("hello world"); +} diff --git a/test cases/rust/28 mixed/main.cc b/test cases/rust/28 mixed/main.cc new file mode 100644 index 0000000..10daae4 --- /dev/null +++ b/test cases/rust/28 mixed/main.cc @@ -0,0 +1,5 @@ +#include <iostream> + +extern "C" void hello_rust(void); + +int main() { std::cout << "This is C++!\n"; hello_rust(); } diff --git a/test cases/rust/28 mixed/meson.build b/test cases/rust/28 mixed/meson.build new file mode 100644 index 0000000..fac3d46 --- /dev/null +++ b/test cases/rust/28 mixed/meson.build @@ -0,0 +1,12 @@ +# use C++ to make it harder +project('mixed', ['cpp', 'rust']) + +e1 = executable('mixed', 'hello.rs', 'main.cc') +e2 = executable('mixed-structured', structured_sources('hello.rs'), 'main.cc') + +hello2 = import('fs').copyfile('hello.rs', 'hello2.rs') +e3 = executable('mixed-structured-gen', structured_sources(hello2), 'main.cc') + +test('mixed', e1) +test('mixed-structured', e2) +test('mixed-structured-gen', e3) diff --git a/test cases/rust/4 polyglot/stuff.rs b/test cases/rust/4 polyglot/stuff.rs index 30c3a36..e5d9386 100644 --- a/test cases/rust/4 polyglot/stuff.rs +++ b/test cases/rust/4 polyglot/stuff.rs @@ -1,4 +1,4 @@ #[no_mangle] -pub extern fn f() { +pub extern "C" fn f() { println!("Hello from Rust!"); } |