about summary refs log tree commit diff
path: root/tests/run-make/hotplug_codegen_backend/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run-make/hotplug_codegen_backend/Makefile')
-rw-r--r--tests/run-make/hotplug_codegen_backend/Makefile26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/run-make/hotplug_codegen_backend/Makefile b/tests/run-make/hotplug_codegen_backend/Makefile
new file mode 100644
index 00000000000..4cda243ffb5
--- /dev/null
+++ b/tests/run-make/hotplug_codegen_backend/Makefile
@@ -0,0 +1,26 @@
+include ../tools.mk
+
+# ignore-stage1
+
+# This test both exists as a check that -Zcodegen-backend is capable of loading external codegen
+# backends and that this external codegen backend is only included in the dep info if
+# -Zbinary-dep-depinfo is used.
+
+all:
+	/bin/echo || exit 0 # This test requires /bin/echo to exist
+	$(RUSTC) the_backend.rs --crate-name the_backend --crate-type dylib \
+		-o $(TMPDIR)/the_backend.dylib
+
+	$(RUSTC) some_crate.rs --crate-name some_crate --crate-type lib -o $(TMPDIR)/some_crate \
+		-Z codegen-backend=$(TMPDIR)/the_backend.dylib -Z unstable-options \
+		--emit link,dep-info
+	grep -x "This has been \"compiled\" successfully." $(TMPDIR)/libsome_crate.rlib
+	# don't declare a dependency on the codegen backend if -Zbinary-dep-depinfo isn't used.
+	grep -v "the_backend.dylib" $(TMPDIR)/some_crate.d
+	
+	$(RUSTC) some_crate.rs --crate-name some_crate --crate-type lib -o $(TMPDIR)/some_crate \
+		-Z codegen-backend=$(TMPDIR)/the_backend.dylib -Z unstable-options \
+		--emit link,dep-info -Zbinary-dep-depinfo
+	grep -x "This has been \"compiled\" successfully." $(TMPDIR)/libsome_crate.rlib
+	# but declare a dependency on the codegen backend if -Zbinary-dep-depinfo it used.
+	grep "the_backend.dylib" $(TMPDIR)/some_crate.d