diff options
Diffstat (limited to 'tests/run-make/symlinked-extern')
-rw-r--r-- | tests/run-make/symlinked-extern/Makefile | 12 | ||||
-rw-r--r-- | tests/run-make/symlinked-extern/bar.rs | 6 | ||||
-rw-r--r-- | tests/run-make/symlinked-extern/baz.rs | 6 | ||||
-rw-r--r-- | tests/run-make/symlinked-extern/foo.rs | 5 |
4 files changed, 29 insertions, 0 deletions
diff --git a/tests/run-make/symlinked-extern/Makefile b/tests/run-make/symlinked-extern/Makefile new file mode 100644 index 000000000..28c764b84 --- /dev/null +++ b/tests/run-make/symlinked-extern/Makefile @@ -0,0 +1,12 @@ +# ignore-cross-compile +include ../tools.mk + +# ignore-windows +# `ln` is actually `cp` on msys. + +all: + $(RUSTC) foo.rs + mkdir -p $(TMPDIR)/other + ln -nsf $(TMPDIR)/libfoo.rlib $(TMPDIR)/other + $(RUSTC) bar.rs -L $(TMPDIR) + $(RUSTC) baz.rs --extern foo=$(TMPDIR)/other/libfoo.rlib -L $(TMPDIR) diff --git a/tests/run-make/symlinked-extern/bar.rs b/tests/run-make/symlinked-extern/bar.rs new file mode 100644 index 000000000..cd9c959d5 --- /dev/null +++ b/tests/run-make/symlinked-extern/bar.rs @@ -0,0 +1,6 @@ +#![crate_type = "rlib"] + +extern crate foo; + +pub fn bar(_s: foo::S) { +} diff --git a/tests/run-make/symlinked-extern/baz.rs b/tests/run-make/symlinked-extern/baz.rs new file mode 100644 index 000000000..cd433a3ac --- /dev/null +++ b/tests/run-make/symlinked-extern/baz.rs @@ -0,0 +1,6 @@ +extern crate bar; +extern crate foo; + +fn main() { + bar::bar(foo::foo()); +} diff --git a/tests/run-make/symlinked-extern/foo.rs b/tests/run-make/symlinked-extern/foo.rs new file mode 100644 index 000000000..c00700b8c --- /dev/null +++ b/tests/run-make/symlinked-extern/foo.rs @@ -0,0 +1,5 @@ +#![crate_type = "rlib"] + +pub struct S; + +pub fn foo() -> S { S } |