summaryrefslogtreecommitdiffstats
path: root/tests/run-make/use-extern-for-plugins
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run-make/use-extern-for-plugins')
-rw-r--r--tests/run-make/use-extern-for-plugins/Makefile17
-rw-r--r--tests/run-make/use-extern-for-plugins/bar.rs9
-rw-r--r--tests/run-make/use-extern-for-plugins/baz.rs8
-rw-r--r--tests/run-make/use-extern-for-plugins/foo.rs8
4 files changed, 42 insertions, 0 deletions
diff --git a/tests/run-make/use-extern-for-plugins/Makefile b/tests/run-make/use-extern-for-plugins/Makefile
new file mode 100644
index 000000000..b8ec7e8dc
--- /dev/null
+++ b/tests/run-make/use-extern-for-plugins/Makefile
@@ -0,0 +1,17 @@
+include ../tools.mk
+
+# ignore-freebsd
+# ignore-openbsd
+# ignore-solaris
+
+HOST := $(shell $(RUSTC) -vV | grep 'host:' | sed 's/host: //')
+ifeq ($(findstring i686,$(HOST)),i686)
+TARGET := $(subst i686,x86_64,$(HOST))
+else
+TARGET := $(subst x86_64,i686,$(HOST))
+endif
+
+all:
+ $(RUSTC) foo.rs -C extra-filename=-host
+ $(RUSTC) bar.rs -C extra-filename=-targ --target $(TARGET)
+ $(RUSTC) baz.rs --extern a=$(TMPDIR)/liba-targ.rlib --target $(TARGET)
diff --git a/tests/run-make/use-extern-for-plugins/bar.rs b/tests/run-make/use-extern-for-plugins/bar.rs
new file mode 100644
index 000000000..704d21203
--- /dev/null
+++ b/tests/run-make/use-extern-for-plugins/bar.rs
@@ -0,0 +1,9 @@
+#![feature(no_core)]
+#![no_core]
+#![crate_type = "lib"]
+#![crate_name = "a"]
+
+#[macro_export]
+macro_rules! bar {
+ () => ()
+}
diff --git a/tests/run-make/use-extern-for-plugins/baz.rs b/tests/run-make/use-extern-for-plugins/baz.rs
new file mode 100644
index 000000000..49a96a0c8
--- /dev/null
+++ b/tests/run-make/use-extern-for-plugins/baz.rs
@@ -0,0 +1,8 @@
+#![feature(no_core)]
+#![no_core]
+#![crate_type = "lib"]
+
+#[macro_use]
+extern crate a;
+
+bar!();
diff --git a/tests/run-make/use-extern-for-plugins/foo.rs b/tests/run-make/use-extern-for-plugins/foo.rs
new file mode 100644
index 000000000..dffdc0798
--- /dev/null
+++ b/tests/run-make/use-extern-for-plugins/foo.rs
@@ -0,0 +1,8 @@
+#![no_std]
+#![crate_type = "lib"]
+#![crate_name = "a"]
+
+#[macro_export]
+macro_rules! foo {
+ () => ()
+}