1-include ../tools.mk 2 3# Testing various mixings of rlibs and dylibs. Makes sure that it's possible to 4# link an rlib to a dylib. The dependency tree among the file looks like: 5# 6# foo 7# / \ 8# bar1 bar2 9# / \ / 10# baz baz2 11# 12# This is generally testing the permutations of the foo/bar1/bar2 layer against 13# the baz/baz2 layer 14 15all: 16 # Building just baz 17 $(RUSTC) --crate-type=rlib foo.rs 18 $(RUSTC) --crate-type=dylib bar1.rs -C prefer-dynamic 19 $(RUSTC) --crate-type=dylib,rlib baz.rs -C prefer-dynamic 20 $(RUSTC) --crate-type=bin baz.rs 21 rm $(TMPDIR)/* 22 $(RUSTC) --crate-type=dylib foo.rs -C prefer-dynamic 23 $(RUSTC) --crate-type=rlib bar1.rs 24 $(RUSTC) --crate-type=dylib,rlib baz.rs -C prefer-dynamic 25 $(RUSTC) --crate-type=bin baz.rs 26 rm $(TMPDIR)/* 27 # Building baz2 28 $(RUSTC) --crate-type=rlib foo.rs 29 $(RUSTC) --crate-type=dylib bar1.rs -C prefer-dynamic 30 $(RUSTC) --crate-type=dylib bar2.rs -C prefer-dynamic 31 $(RUSTC) --crate-type=dylib baz2.rs && exit 1 || exit 0 32 $(RUSTC) --crate-type=bin baz2.rs && exit 1 || exit 0 33 rm $(TMPDIR)/* 34 $(RUSTC) --crate-type=rlib foo.rs 35 $(RUSTC) --crate-type=rlib bar1.rs 36 $(RUSTC) --crate-type=dylib bar2.rs -C prefer-dynamic 37 $(RUSTC) --crate-type=dylib,rlib baz2.rs 38 $(RUSTC) --crate-type=bin baz2.rs 39 rm $(TMPDIR)/* 40 $(RUSTC) --crate-type=rlib foo.rs 41 $(RUSTC) --crate-type=dylib bar1.rs -C prefer-dynamic 42 $(RUSTC) --crate-type=rlib bar2.rs 43 $(RUSTC) --crate-type=dylib,rlib baz2.rs -C prefer-dynamic 44 $(RUSTC) --crate-type=bin baz2.rs 45 rm $(TMPDIR)/* 46 $(RUSTC) --crate-type=rlib foo.rs 47 $(RUSTC) --crate-type=rlib bar1.rs 48 $(RUSTC) --crate-type=rlib bar2.rs 49 $(RUSTC) --crate-type=dylib,rlib baz2.rs -C prefer-dynamic 50 $(RUSTC) --crate-type=bin baz2.rs 51 rm $(TMPDIR)/* 52 $(RUSTC) --crate-type=dylib foo.rs -C prefer-dynamic 53 $(RUSTC) --crate-type=rlib bar1.rs 54 $(RUSTC) --crate-type=rlib bar2.rs 55 $(RUSTC) --crate-type=dylib,rlib baz2.rs -C prefer-dynamic 56 $(RUSTC) --crate-type=bin baz2.rs 57 rm $(TMPDIR)/* 58 $(RUSTC) --crate-type=dylib foo.rs -C prefer-dynamic 59 $(RUSTC) --crate-type=dylib bar1.rs -C prefer-dynamic 60 $(RUSTC) --crate-type=rlib bar2.rs 61 $(RUSTC) --crate-type=dylib,rlib baz2.rs 62 $(RUSTC) --crate-type=bin baz2.rs 63 rm $(TMPDIR)/* 64 $(RUSTC) --crate-type=dylib foo.rs -C prefer-dynamic 65 $(RUSTC) --crate-type=rlib bar1.rs 66 $(RUSTC) --crate-type=dylib bar2.rs -C prefer-dynamic 67 $(RUSTC) --crate-type=dylib,rlib baz2.rs 68 $(RUSTC) --crate-type=bin baz2.rs 69 rm $(TMPDIR)/* 70 $(RUSTC) --crate-type=dylib foo.rs -C prefer-dynamic 71 $(RUSTC) --crate-type=dylib bar1.rs -C prefer-dynamic 72 $(RUSTC) --crate-type=dylib bar2.rs -C prefer-dynamic 73 $(RUSTC) --crate-type=dylib,rlib baz2.rs 74 $(RUSTC) --crate-type=bin baz2.rs 75