rust/src/test/run-make-fulldeps/cross-lang-lto-upstream-rlibs/Makefile

33 lines
1.0 KiB
Makefile
Raw Normal View History

-include ../tools.mk
# ignore windows due to libLLVM being present in PATH and the PATH and library path being the same
# (so fixing it is harder). See #57765 for context
ifndef IS_WINDOWS
# This test makes sure that we don't loose upstream object files when compiling
2019-02-01 08:15:43 -06:00
# staticlibs with -C linker-plugin-lto
all: staticlib.rs upstream.rs
2019-02-01 08:15:43 -06:00
$(RUSTC) upstream.rs -C linker-plugin-lto -Ccodegen-units=1
# Check No LTO
2019-02-01 08:15:43 -06:00
$(RUSTC) staticlib.rs -C linker-plugin-lto -Ccodegen-units=1 -L. -o $(TMPDIR)/staticlib.a
(cd $(TMPDIR); $(LD_LIB_PATH_ENVVAR)=$(REAL_LD_LIBRARY_PATH) llvm-ar x ./staticlib.a)
# Make sure the upstream object file was included
ls $(TMPDIR)/upstream.*.rcgu.o
# Cleanup
rm $(TMPDIR)/*
# Check ThinLTO
2019-02-01 08:15:43 -06:00
$(RUSTC) upstream.rs -C linker-plugin-lto -Ccodegen-units=1 -Clto=thin
$(RUSTC) staticlib.rs -C linker-plugin-lto -Ccodegen-units=1 -Clto=thin -L. -o $(TMPDIR)/staticlib.a
(cd $(TMPDIR); $(LD_LIB_PATH_ENVVAR)=$(REAL_LD_LIBRARY_PATH) llvm-ar x ./staticlib.a)
ls $(TMPDIR)/upstream.*.rcgu.o
else
all:
endif