]>
Commit | Line | Data |
---|---|---|
1a4d82fc JJ |
1 | -include ../tools.mk |
2 | ||
3 | # Test to make sure that reachable extern fns are always available in final | |
4 | # productcs, including when LTO is used. In this test, the `foo` crate has a | |
5 | # reahable symbol, and is a dependency of the `bar` crate. When the `bar` crate | |
6 | # is compiled with LTO, it shouldn't strip the symbol from `foo`, and that's the | |
7 | # only way that `foo.c` will successfully compile. | |
8 | ||
9346a6ac AL |
9 | ifeq ($(UNAME),Bitrig) |
10 | EXTRACFLAGS := -lc $(EXTRACFLAGS) $(EXTRACXXFLAGS) | |
11 | endif | |
12 | ||
1a4d82fc JJ |
13 | all: |
14 | $(RUSTC) foo.rs --crate-type=rlib | |
15 | $(RUSTC) bar.rs --crate-type=staticlib -C lto -L. -o $(TMPDIR)/libbar.a | |
16 | $(CC) foo.c -lbar -o $(call RUN_BINFILE,foo) $(EXTRACFLAGS) | |
17 | $(call RUN,foo) |