2023-03-30 08:46:31 -05:00
|
|
|
# ignore-cross-compile
|
2022-08-22 19:00:00 -05:00
|
|
|
include ../tools.mk
|
2014-05-02 02:59:27 -05:00
|
|
|
|
|
|
|
# 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
|
2014-11-03 01:02:53 -06:00
|
|
|
$(RUSTC) --crate-type=dylib bar1.rs -C prefer-dynamic
|
|
|
|
$(RUSTC) --crate-type=dylib,rlib baz.rs -C prefer-dynamic
|
2014-05-02 02:59:27 -05:00
|
|
|
$(RUSTC) --crate-type=bin baz.rs
|
|
|
|
rm $(TMPDIR)/*
|
2014-11-03 01:02:53 -06:00
|
|
|
$(RUSTC) --crate-type=dylib foo.rs -C prefer-dynamic
|
2014-05-02 02:59:27 -05:00
|
|
|
$(RUSTC) --crate-type=rlib bar1.rs
|
2014-11-03 01:02:53 -06:00
|
|
|
$(RUSTC) --crate-type=dylib,rlib baz.rs -C prefer-dynamic
|
2014-05-02 02:59:27 -05:00
|
|
|
$(RUSTC) --crate-type=bin baz.rs
|
|
|
|
rm $(TMPDIR)/*
|
|
|
|
# Building baz2
|
|
|
|
$(RUSTC) --crate-type=rlib foo.rs
|
2014-11-03 01:02:53 -06:00
|
|
|
$(RUSTC) --crate-type=dylib bar1.rs -C prefer-dynamic
|
|
|
|
$(RUSTC) --crate-type=dylib bar2.rs -C prefer-dynamic
|
2014-05-02 02:59:27 -05:00
|
|
|
$(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
|
2014-11-03 01:02:53 -06:00
|
|
|
$(RUSTC) --crate-type=dylib bar2.rs -C prefer-dynamic
|
2014-05-02 02:59:27 -05:00
|
|
|
$(RUSTC) --crate-type=dylib,rlib baz2.rs
|
|
|
|
$(RUSTC) --crate-type=bin baz2.rs
|
|
|
|
rm $(TMPDIR)/*
|
|
|
|
$(RUSTC) --crate-type=rlib foo.rs
|
2014-11-03 01:02:53 -06:00
|
|
|
$(RUSTC) --crate-type=dylib bar1.rs -C prefer-dynamic
|
2014-05-02 02:59:27 -05:00
|
|
|
$(RUSTC) --crate-type=rlib bar2.rs
|
2014-11-03 01:02:53 -06:00
|
|
|
$(RUSTC) --crate-type=dylib,rlib baz2.rs -C prefer-dynamic
|
2014-05-02 02:59:27 -05:00
|
|
|
$(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
|
2014-11-03 01:02:53 -06:00
|
|
|
$(RUSTC) --crate-type=dylib,rlib baz2.rs -C prefer-dynamic
|
2014-05-02 02:59:27 -05:00
|
|
|
$(RUSTC) --crate-type=bin baz2.rs
|
|
|
|
rm $(TMPDIR)/*
|
2014-11-03 01:02:53 -06:00
|
|
|
$(RUSTC) --crate-type=dylib foo.rs -C prefer-dynamic
|
2014-05-02 02:59:27 -05:00
|
|
|
$(RUSTC) --crate-type=rlib bar1.rs
|
|
|
|
$(RUSTC) --crate-type=rlib bar2.rs
|
2014-11-03 01:02:53 -06:00
|
|
|
$(RUSTC) --crate-type=dylib,rlib baz2.rs -C prefer-dynamic
|
2014-05-02 02:59:27 -05:00
|
|
|
$(RUSTC) --crate-type=bin baz2.rs
|
|
|
|
rm $(TMPDIR)/*
|
2014-11-03 01:02:53 -06:00
|
|
|
$(RUSTC) --crate-type=dylib foo.rs -C prefer-dynamic
|
|
|
|
$(RUSTC) --crate-type=dylib bar1.rs -C prefer-dynamic
|
2014-05-02 02:59:27 -05:00
|
|
|
$(RUSTC) --crate-type=rlib bar2.rs
|
|
|
|
$(RUSTC) --crate-type=dylib,rlib baz2.rs
|
|
|
|
$(RUSTC) --crate-type=bin baz2.rs
|
|
|
|
rm $(TMPDIR)/*
|
2014-11-03 01:02:53 -06:00
|
|
|
$(RUSTC) --crate-type=dylib foo.rs -C prefer-dynamic
|
2014-05-02 02:59:27 -05:00
|
|
|
$(RUSTC) --crate-type=rlib bar1.rs
|
2014-11-03 01:02:53 -06:00
|
|
|
$(RUSTC) --crate-type=dylib bar2.rs -C prefer-dynamic
|
2014-05-02 02:59:27 -05:00
|
|
|
$(RUSTC) --crate-type=dylib,rlib baz2.rs
|
|
|
|
$(RUSTC) --crate-type=bin baz2.rs
|
|
|
|
rm $(TMPDIR)/*
|
2014-11-03 01:02:53 -06:00
|
|
|
$(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
|
2014-05-02 02:59:27 -05:00
|
|
|
$(RUSTC) --crate-type=dylib,rlib baz2.rs
|
|
|
|
$(RUSTC) --crate-type=bin baz2.rs
|