From 4ffd4a95abc6254bfdea98893fe35708a51ad0ba Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Fri, 7 Dec 2018 23:33:21 +0300 Subject: Document build configuration class inheritance --- doc/manual.cli | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) 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{} 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 -- cgit v1.1