aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/build/script/builtin.cli
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2023-05-29 09:55:54 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2023-05-29 14:12:00 +0200
commit609c81c87b2e672ebf64e10d709da869d0355495 (patch)
treed9b264f250a03844a8a6c226a5f7984f9c52d40a /libbuild2/build/script/builtin.cli
parent9bea2f465cc2b47e06d65d6a29cb0f0f0c37f29c (diff)
New 'lines' dependency format in depdb-dyndep
Diffstat (limited to 'libbuild2/build/script/builtin.cli')
-rw-r--r--libbuild2/build/script/builtin.cli23
1 files changed, 21 insertions, 2 deletions
diff --git a/libbuild2/build/script/builtin.cli b/libbuild2/build/script/builtin.cli
index 2fba0b0..cf1540d 100644
--- a/libbuild2/build/script/builtin.cli
+++ b/libbuild2/build/script/builtin.cli
@@ -40,6 +40,23 @@ namespace build2
// with support for generated files (and thus -I) at least in the make
// format where we use relative paths for non-existent files.
//
+ // Currently Supported dependency formats (--format) are `make`
+ // (default) and `lines`.
+ //
+ // The `make` format is the make dependency declaration in the
+ // `<target>...: [<prerequisite>...]` form. In the non-byproduct mode
+ // a relative prerequisite path is considered non-existent.
+ //
+ // The `lines` format lists targets and/or prerequisites one per line.
+ // If the --dyn-target option is specified then the target list is
+ // expected to come first separated from the prerequisites list with a
+ // blank line. If there are no prerequisites, then the blank line can
+ // be omitted. If the --dyn-target option is not specified, then all
+ // lines are treated as prerequisites and there should be no blank
+ // lines. In the non-byproduct mode a prerequisite line that starts
+ // with a leading space is considered a non-existent prerequisite.
+ // Currently only relative non-existent prerequisites are supported.
+ //
// Note on naming: whenever we (may) have two options, one for target
// and the other for prerequisite, we omit "prerequisite" as that's
// what we extract by default and most commonly. For example:
@@ -49,7 +66,8 @@ namespace build2
//
path --file; // Read from file rather than stdin.
- string --format; // Dependency format: make (default).
+ string --format; // Dependency format: `make` (default),
+ // or `lines`.
// Dynamic dependency extraction options.
//
@@ -69,7 +87,8 @@ namespace build2
dir_path --cwd; // Builtin's working directory used
// to complete relative paths of
// prerequisites (only in --byproduct
- // mode).
+ // mode, lines format for existing
+ // paths).
bool --drop-cycles; // Drop prerequisites that are also
// targets. Only use if you are sure