diff options
Diffstat (limited to 'src/test/run-make-fulldeps/c-link-to-rust-dylib')
-rw-r--r-- | src/test/run-make-fulldeps/c-link-to-rust-dylib/Makefile | 17 | ||||
-rw-r--r-- | src/test/run-make-fulldeps/c-link-to-rust-dylib/bar.c | 6 | ||||
-rw-r--r-- | src/test/run-make-fulldeps/c-link-to-rust-dylib/foo.rs | 4 |
3 files changed, 27 insertions, 0 deletions
diff --git a/src/test/run-make-fulldeps/c-link-to-rust-dylib/Makefile b/src/test/run-make-fulldeps/c-link-to-rust-dylib/Makefile new file mode 100644 index 000000000..98e112a37 --- /dev/null +++ b/src/test/run-make-fulldeps/c-link-to-rust-dylib/Makefile @@ -0,0 +1,17 @@ +-include ../tools.mk + +all: $(TMPDIR)/$(call BIN,bar) + $(call RUN,bar) + $(call REMOVE_DYLIBS,foo) + $(call FAIL,bar) + +ifdef IS_MSVC +$(TMPDIR)/$(call BIN,bar): $(call DYLIB,foo) + $(CC) bar.c $(TMPDIR)/foo.dll.lib $(call OUT_EXE,bar) +else +$(TMPDIR)/$(call BIN,bar): $(call DYLIB,foo) + $(CC) bar.c -lfoo -o $(call RUN_BINFILE,bar) -L $(TMPDIR) +endif + +$(call DYLIB,foo): foo.rs + $(RUSTC) foo.rs diff --git a/src/test/run-make-fulldeps/c-link-to-rust-dylib/bar.c b/src/test/run-make-fulldeps/c-link-to-rust-dylib/bar.c new file mode 100644 index 000000000..bb4036b06 --- /dev/null +++ b/src/test/run-make-fulldeps/c-link-to-rust-dylib/bar.c @@ -0,0 +1,6 @@ +void foo(); + +int main() { + foo(); + return 0; +} diff --git a/src/test/run-make-fulldeps/c-link-to-rust-dylib/foo.rs b/src/test/run-make-fulldeps/c-link-to-rust-dylib/foo.rs new file mode 100644 index 000000000..f197fa513 --- /dev/null +++ b/src/test/run-make-fulldeps/c-link-to-rust-dylib/foo.rs @@ -0,0 +1,4 @@ +#![crate_type = "dylib"] + +#[no_mangle] +pub extern "C" fn foo() {} |