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