| -include ../tools.mk |
| |
| # Testing various mixings of rlibs and dylibs. Makes sure that it's possible to |
| # link an rlib to a dylib. The dependency tree among the file looks like: |
| # |
| # foo |
| # / \ |
| # bar1 bar2 |
| # / \ / |
| # baz baz2 |
| # |
| # This is generally testing the permutations of the foo/bar1/bar2 layer against |
| # the baz/baz2 layer |
| |
| all: |
| # Building just baz |
| $(RUSTC) --crate-type=rlib foo.rs |
| $(RUSTC) --crate-type=dylib bar1.rs -C prefer-dynamic |
| $(RUSTC) --crate-type=dylib,rlib baz.rs -C prefer-dynamic |
| $(RUSTC) --crate-type=bin baz.rs |
| rm $(TMPDIR)/* |
| $(RUSTC) --crate-type=dylib foo.rs -C prefer-dynamic |
| $(RUSTC) --crate-type=rlib bar1.rs |
| $(RUSTC) --crate-type=dylib,rlib baz.rs -C prefer-dynamic |
| $(RUSTC) --crate-type=bin baz.rs |
| rm $(TMPDIR)/* |
| # Building baz2 |
| $(RUSTC) --crate-type=rlib foo.rs |
| $(RUSTC) --crate-type=dylib bar1.rs -C prefer-dynamic |
| $(RUSTC) --crate-type=dylib bar2.rs -C prefer-dynamic |
| $(RUSTC) --crate-type=dylib baz2.rs && exit 1 || exit 0 |
| $(RUSTC) --crate-type=bin baz2.rs && exit 1 || exit 0 |
| rm $(TMPDIR)/* |
| $(RUSTC) --crate-type=rlib foo.rs |
| $(RUSTC) --crate-type=rlib bar1.rs |
| $(RUSTC) --crate-type=dylib bar2.rs -C prefer-dynamic |
| $(RUSTC) --crate-type=dylib,rlib baz2.rs |
| $(RUSTC) --crate-type=bin baz2.rs |
| rm $(TMPDIR)/* |
| $(RUSTC) --crate-type=rlib foo.rs |
| $(RUSTC) --crate-type=dylib bar1.rs -C prefer-dynamic |
| $(RUSTC) --crate-type=rlib bar2.rs |
| $(RUSTC) --crate-type=dylib,rlib baz2.rs -C prefer-dynamic |
| $(RUSTC) --crate-type=bin baz2.rs |
| rm $(TMPDIR)/* |
| $(RUSTC) --crate-type=rlib foo.rs |
| $(RUSTC) --crate-type=rlib bar1.rs |
| $(RUSTC) --crate-type=rlib bar2.rs |
| $(RUSTC) --crate-type=dylib,rlib baz2.rs -C prefer-dynamic |
| $(RUSTC) --crate-type=bin baz2.rs |
| rm $(TMPDIR)/* |
| $(RUSTC) --crate-type=dylib foo.rs -C prefer-dynamic |
| $(RUSTC) --crate-type=rlib bar1.rs |
| $(RUSTC) --crate-type=rlib bar2.rs |
| $(RUSTC) --crate-type=dylib,rlib baz2.rs -C prefer-dynamic |
| $(RUSTC) --crate-type=bin baz2.rs |
| rm $(TMPDIR)/* |
| $(RUSTC) --crate-type=dylib foo.rs -C prefer-dynamic |
| $(RUSTC) --crate-type=dylib bar1.rs -C prefer-dynamic |
| $(RUSTC) --crate-type=rlib bar2.rs |
| $(RUSTC) --crate-type=dylib,rlib baz2.rs |
| $(RUSTC) --crate-type=bin baz2.rs |
| rm $(TMPDIR)/* |
| $(RUSTC) --crate-type=dylib foo.rs -C prefer-dynamic |
| $(RUSTC) --crate-type=rlib bar1.rs |
| $(RUSTC) --crate-type=dylib bar2.rs -C prefer-dynamic |
| $(RUSTC) --crate-type=dylib,rlib baz2.rs |
| $(RUSTC) --crate-type=bin baz2.rs |
| rm $(TMPDIR)/* |
| $(RUSTC) --crate-type=dylib foo.rs -C prefer-dynamic |
| $(RUSTC) --crate-type=dylib bar1.rs -C prefer-dynamic |
| $(RUSTC) --crate-type=dylib bar2.rs -C prefer-dynamic |
| $(RUSTC) --crate-type=dylib,rlib baz2.rs |
| $(RUSTC) --crate-type=bin baz2.rs |