aboutsummaryrefslogtreecommitdiff
path: root/doc/manual.cli
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2018-12-07 23:33:21 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2018-12-11 13:53:20 +0300
commit4ffd4a95abc6254bfdea98893fe35708a51ad0ba (patch)
treee1506d4c22bb0c3d30ca176f8df60df524ad8e64 /doc/manual.cli
parentd23166146ee76212508ce3229edfb711f042021a (diff)
Document build configuration class inheritance
Diffstat (limited to 'doc/manual.cli')
-rw-r--r--doc/manual.cli28
1 files changed, 28 insertions, 0 deletions
diff --git a/doc/manual.cli b/doc/manual.cli
index 0c4808a..c0d9b35 100644
--- a/doc/manual.cli
+++ b/doc/manual.cli
@@ -920,6 +920,34 @@ linux*-gcc_6 linux-gcc_6-g x86_64-linux-gnu \"all default gcc debug\" config.cc.
linux*-gcc_6 linux-gcc_6-O3 x86_64-linux-gnu \"all default gcc optimized\" config.cc.coptions=-O3
\
+A build configuration class can derive from another class in which case
+configurations that belong to the derived class are treated as also belonging
+to the base class (or classes, recursively). The derived and base class names
+are separated with \c{:} (no leading or trailing spaces allowed) and the base
+must be present in the first mentioning of the derived class. For example:
+
+\
+linux*-gcc_6 linux-gcc_6-g x86_64-linux-gnu \"all gcc-6+ debug\" config.cc.coptions=-g
+
+linux*-gcc_6 linux-gcc_6-O3 x86_64-linux-gnu \"all gcc-6+ optimized\" config.cc.coptions=-O3
+
+linux*-gcc_7 linux-gcc_7-g x86_64-linux-gnu \"all gcc-7+:gcc-6+ debug\" config.cc.coptions=-g
+
+linux*-gcc_7 linux-gcc_7-O3 x86_64-linux-gnu \"all gcc-7+ optimized\" config.cc.coptions=-O3
+\
+
+A machine pattern consisting of a single \c{-} is a placeholder
+entry. Everything about a placeholder is ignored except for the class
+inheritance information. Note, however, that while all other information is
+ignored, the configuration name and target must be present but can also be
+\c{-}. For example:
+
+\
+linux*-gcc_6 linux-gcc_6 x86_64-linux-gnu \"all gcc-6+ \"
+- - - \" gcc-7+:gcc-6+\"
+linux*-gcc_8 linux-gcc_8 x86_64-linux-gnu \"all gcc-8+:gcc-7+\"
+\
+
If the \c{<config-arg>} list contains the \c{config.install.root} variable
that applies to the \c{bpkg.configure.create} step, then in addition to
building and running tests, the \c{bbot} worker will also test installing and