aboutsummaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Collapse)AuthorFilesLines
2024-02-21Update list of buildfile value types in manualBoris Kolpackov1-0/+9
2024-02-07Add experimental support for JSON value typesBoris Kolpackov2-0/+24
New types: json json_array json_object New functions: $json.value_type(<json>) $json.value_size(<json>) $json.member_{name,value}(<json-member>) $json.object_names(<json-object>) $json.array_size(<json-array>) $json.array_find(<json-array>, <json>) $json.array_find_index(<json-array>, <json>) $json.load(<path>) $json.parse(<text>) $json.serialize(<json>[, <indentation>]) For example, to load a JSON value from a file: j = $json.load($src_base/board.json) Or to construct it in a buildfile: j = [json] one@1 two@([json] 2 3 4) three@([json] x@1 y@-1) This can also be done incrementally with append/prepend: j = [json_object] j += one@1 j += two@([json] 2 3 4) j += three@([json] x@1 y@-1) Instead of using this JSON-like syntax, one can also specify valid JSON input text: j = [json] '{"one":1, "two":[2, 3, 4], "three":{"x":1, "y":-1}' Besides the above set of functions, other handy ways to access components in a JSON value are iteration and subscript. For example: for m: $j print $member_name($m) $member_value($m) print ($j[three]) A subscript can be nested: print ($j[two][1]) print ($j[three][x]) While a JSON value can be printed directly like any other value, the representation will not be pretty-printed. As a result, for complex JSON values, printing a serialized representation might be a more readable option: info $serialize($j)
2024-01-10Add ability to specify alternative sysroot for pkg-config files (GC issue #59)Boris Kolpackov1-0/+49
Specifically, the new config.cc.pkgconfig.sysroot variable provides roughly equivalent functionality to PKG_CONFIG_SYSROOT_DIR in pkg-config. For details and limitations, see "Rewriting Installed Libraries System Root (sysroot)" in the manual for details.
2024-01-09Allow imported buildfiles to using config.* variables from own projectBoris Kolpackov1-9/+35
2023-12-04Document c.predefs and cxx.predefs functionalityBoris Kolpackov1-6/+87
2023-11-07Fix source directory/subdirectory terminology inconsistencies in manualBoris Kolpackov1-10/+10
2023-10-09Minor additions to manualBoris Kolpackov1-2/+26
2023-08-29Fix typo in manualIldar1-1/+1
2023-08-25Fix few minor grammatical nits in manualChristopher Head1-5/+5
2023-08-22Document installed library search semantics and pkg-config integrationBoris Kolpackov1-16/+123
2023-08-09Auto-extract function documentation from functions-*.cxxBoris Kolpackov4-370/+847
2023-08-03Document target types in manual (GH issue #309)Boris Kolpackov1-16/+603
2023-07-05Change version to 0.17.0-a.0.zBoris Kolpackov1-1/+1
2023-06-30Release version 0.16.0v0.16.0Boris Kolpackov1-1/+1
2023-06-29Update example diagnostics in build system manualBoris Kolpackov1-25/+30
2023-06-08Add support for buildfile importationBoris Kolpackov1-19/+27
2023-05-25Add find builtin description to Testscript manualKaren Arutyunov1-0/+50
2023-05-09Document JSON dump format (GH issue #182)Boris Kolpackov1-0/+494
2023-05-09Add support for dumping build system state in JSON format (GH issue #182)Boris Kolpackov1-0/+2
Specifically: 1. New --dump-format option. Valid values are `buildfile` and `json-v0.1`. 2. The --dump option now recognizes two additional values: `match-pre` and `match-post` to dump the state of pre/post-operations. The `match` value now only triggers dumping of the main operation.
2023-05-03Add --dump-scope and --dump-target options to limit --dump outputBoris Kolpackov1-1/+5
2023-04-18Add support for Assembler with C Preprocessor (.S) compilationBoris Kolpackov1-0/+84
Specifically, the c module now provides the c.as-cpp submodules which can be loaded in order to register the S{} target type and enable Assembler with C Preprocessor compilation in the c compile rule. For details, refer to "Assembler with C Preprocessor Compilation" in the manual.
2023-04-10Add support for negation in config.install.filterBoris Kolpackov1-8/+14
2023-04-04Remove global override restriction from config.install.filterBoris Kolpackov1-6/+5
2023-04-04Add support for installation filtering (GH issue #147)Boris Kolpackov1-0/+75
2023-03-24Document relocatable installation supportBoris Kolpackov1-0/+67
2023-03-14Quality "distribution" with "source" in manualBoris Kolpackov1-15/+15
2023-03-09Add note to manualBoris Kolpackov1-0/+3
2023-03-07Add new include_arch/config.install.include_arch installation locationBoris Kolpackov1-39/+61
It is mean for target architecture-specific headers.
2022-12-05Add missing colon in intro-unit-testWilliam Roy1-1/+1
2022-11-24Document Objective-C/C++ support in manualBoris Kolpackov1-0/+57
2022-10-21Change attribute syntax in script to come after variable in set and for (set ↵Karen Arutyunov1-13/+13
x [...], for x [...])
2022-10-14Fix typo in Testscript manualBoris Kolpackov1-1/+1
2022-10-14Describe how to test multiple executables in single testscriptBoris Kolpackov1-3/+74
2022-10-14Add notes on serial execution in Testscript manualBoris Kolpackov1-0/+7
2022-10-14Proofreading changes to Testscript manual (for/while loops)Boris Kolpackov1-75/+61
2022-10-13Add support for 'for' loop second (... | for x) and third (for x <...) forms ↵Karen Arutyunov1-27/+281
in script
2022-10-13Fix include directive example in testscript manualKaren Arutyunov1-1/+1
2022-09-02Add note on PowerShell quotingBoris Kolpackov1-0/+9
2022-09-02Add ability to specify `in` rule substitution as key-value pairsBoris Kolpackov1-0/+45
2022-09-02Rename in.substitution variable to in.modeBoris Kolpackov1-14/+15
The original name is still recognized for backwards compatibility.
2022-08-17Fix typo in manualBoris Kolpackov1-1/+1
2022-07-29Change version to 0.16.0-a.0.zBoris Kolpackov1-1/+1
2022-07-28Release version 0.15.0v0.15.0Boris Kolpackov1-1/+1
2022-07-28Fix incorrect link title in manualBoris Kolpackov1-4/+4
2022-07-26Minor additions to manualBoris Kolpackov1-9/+24
2022-07-18Add few references to manualBoris Kolpackov1-3/+5
2022-07-13In manual adjust link to renamed section in bpkg manualKaren Arutyunov1-2/+1
2022-07-08Update manual with package manager configuration negotiation informationBoris Kolpackov1-3/+89
2022-07-07Use new cmdline type for canned command lines in {Build,Test}scriptBoris Kolpackov1-29/+24
2022-06-29Rework pkg-config variable naming, use build2.metadata as general indicatorBoris Kolpackov1-5/+5