diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2023-05-29 09:55:54 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2023-05-29 14:12:00 +0200 |
commit | 609c81c87b2e672ebf64e10d709da869d0355495 (patch) | |
tree | d9b264f250a03844a8a6c226a5f7984f9c52d40a /libbuild2/build/script/builtin.cli | |
parent | 9bea2f465cc2b47e06d65d6a29cb0f0f0c37f29c (diff) |
New 'lines' dependency format in depdb-dyndep
Diffstat (limited to 'libbuild2/build/script/builtin.cli')
-rw-r--r-- | libbuild2/build/script/builtin.cli | 23 |
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 |