diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2018-11-16 14:00:07 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2018-11-16 14:00:07 +0200 |
commit | 655121741560d62c1ae82c13a9d2aad18f130603 (patch) | |
tree | 6b14cd73073a0f2d1ad3ad46cc8d157a838beba9 /tests/dependency/chain | |
parent | 17609d9831e592f5985ed1bfb1ef59f712025ae9 (diff) |
Implement support for dependency chains
Now instead of:
./: exe{foo}
exe{foo}: cxx{*}
We can write:
./: exe{foo}: cxx{*}
Or even:
./: exe{foo}: libue{foo}: cxx{*}
This can be combined with prerequisite-specific variables (which naturally
only apply to the last set of prerequisites in the chain):
./: exe{foo}: libue{foo}: bin.whole = false
Diffstat (limited to 'tests/dependency/chain')
-rw-r--r-- | tests/dependency/chain/buildfile | 5 | ||||
-rw-r--r-- | tests/dependency/chain/testscript | 39 |
2 files changed, 44 insertions, 0 deletions
diff --git a/tests/dependency/chain/buildfile b/tests/dependency/chain/buildfile new file mode 100644 index 0000000..a27681e --- /dev/null +++ b/tests/dependency/chain/buildfile @@ -0,0 +1,5 @@ +# file : tests/dependency/chain/buildfile +# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +./: testscript $b diff --git a/tests/dependency/chain/testscript b/tests/dependency/chain/testscript new file mode 100644 index 0000000..09ea4a6 --- /dev/null +++ b/tests/dependency/chain/testscript @@ -0,0 +1,39 @@ +# file : tests/dependency/chain/testscript +# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +.include ../../common.testscript + +: basic +: +$* <<EOI 2>>/~%EOE% +./: dir{x}: dir{a} +dump dir{x} +EOI +<stdin>:2:1: dump: +% .+/dir\{x/\}: .+:dir\{a/\}% +EOE + +: long +: +$* <<EOI 2>>/~%EOE% +./: dir{x}: dir{y}: dir{a} +dump dir{x} dir{y} +EOI +<stdin>:2:1: dump: +% .+/dir\{x/\}: .+:dir\{y/\}% + +% .+/dir\{y/\}: .+:dir\{a/\}% +EOE + +: multiple +: +$* <<EOI 2>>/~%EOE% +./: dir{x} dir{y}: dir{a} dir{b} +dump dir{x} dir{y} +EOI +<stdin>:2:1: dump: +% .+/dir\{x/\}: .+:dir\{a/\} .+:dir\{b/\}% + +% .+/dir\{y/\}: .+:dir\{a/\} .+:dir\{b/\}% +EOE |