Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-01-16 | Expand on extension escaping in manual | Boris Kolpackov | 1 | -2/+8 | |
2022-01-16 | Minor clarifications to wildcard name patterns section in manual | Boris Kolpackov | 1 | -7/+16 | |
2021-11-09 | Pass --ascii-tree CLI option when generating embedded usage and man pages | Boris Kolpackov | 1 | -1/+3 | |
2021-11-04 | Document \n escape sequence for sed builtin in testscript manual | Karen Arutyunov | 1 | -0/+1 | |
2021-10-27 | Handle "common symbols" in symbol exporting .def generation rule | Boris Kolpackov | 1 | -2/+2 | |
2021-10-26 | Minor documentation tweak | Boris Kolpackov | 1 | -6/+6 | |
2021-10-20 | Change to version 0.15.0-a.0.z | Boris Kolpackov | 1 | -1/+1 | |
2021-10-16 | Release version 0.14.0v0.14.0 | Boris Kolpackov | 1 | -1/+1 | |
2021-10-15 | Fix symbol exporting example in manual | Boris Kolpackov | 1 | -1/+3 | |
2021-10-14 | Move symbol exporting documentation from NEWS to manual | Boris Kolpackov | 1 | -0/+46 | |
2021-10-14 | Rearrange internal scope documentation, add note in target import | Boris Kolpackov | 1 | -147/+149 | |
2021-10-13 | Add --cwd|-t option to env pseudo-builtin | Karen Arutyunov | 1 | -3/+8 | |
2021-10-12 | Documentation fixes | Francois Kritzinger | 1 | -6/+6 | |
2021-10-11 | Update bin.lib.version documentation | Boris Kolpackov | 1 | -10/+10 | |
2021-10-08 | Add few notes to internal scope documentation | Boris Kolpackov | 1 | -6/+18 | |
2021-10-05 | Add note to internal scope documentation | Boris Kolpackov | 1 | -0/+19 | |
2021-10-04 | Document internal scope functionality | Boris Kolpackov | 1 | -0/+125 | |
2021-09-20 | Assign pre-defined semantics to config.<project>.develop variables | Boris Kolpackov | 1 | -0/+33 | |
This variable allows a project to distinguish between development and consumption builds. While normally there is no distinction between these two modes, sometimes a project may need to provide additional functionality during development. For example, a source code generator which uses its own generated code in its implementation may need to provide a bootstrap step from the pre-generated code. Normally, such a step is only needed during development. See "Project Configuration" in the manual for details. | |||||
2021-05-04 | Add config.install.root with data_root/etc/ default | Boris Kolpackov | 1 | -0/+2 | |
2021-04-22 | Add <version> install directory substitution in addition to <project> | Boris Kolpackov | 1 | -3/+3 | |
2021-04-22 | Document use of depdb-env for manually tracking changes to environment | Boris Kolpackov | 1 | -0/+18 | |
2021-04-09 | Document hermetic build configuration support | Boris Kolpackov | 1 | -15/+183 | |
2021-01-30 | Rework include translation support | Boris Kolpackov | 1 | -2/+2 | |
See the config.cxx.translate_include variable documentation in cxx/init.cxx for details. | |||||
2020-12-11 | Add export script pseudo-builtin | Karen Arutyunov | 1 | -6/+40 | |
2020-12-08 | Add support for config.test.runner | Karen Arutyunov | 2 | -2/+42 | |
2020-12-07 | Update submodules | Boris Kolpackov | 1 | -0/+0 | |
2020-11-25 | Allow multiple -e options for sed builtin | Karen Arutyunov | 1 | -7/+9 | |
2020-11-23 | Document include and source directives | Boris Kolpackov | 1 | -1/+32 | |
2020-11-06 | Add support for test timeouts | Karen Arutyunov | 3 | -3/+72 | |
2020-10-18 | Make some documentation fixes | Francois Kritzinger | 2 | -77/+78 | |
2020-10-15 | Add ability to specify fallback value for NULL substitutions with in.null | Boris Kolpackov | 1 | -0/+13 | |
2020-10-05 | Update submodules | Boris Kolpackov | 1 | -0/+0 | |
2020-09-29 | Remove stray text from manual | Boris Kolpackov | 1 | -3/+0 | |
2020-09-24 | Fix typo in manual | Boris Kolpackov | 1 | -1/+1 | |
2020-08-12 | Add int64 and int64s variable types | Boris Kolpackov | 1 | -0/+3 | |
2020-07-21 | Change to version 0.14.0-a.0.z | Boris Kolpackov | 1 | -1/+1 | |
2020-07-18 | Release version 0.13.0v0.13.0 | Boris Kolpackov | 1 | -1/+1 | |
2020-07-18 | Minor fix in manual | Boris Kolpackov | 1 | -2/+2 | |
2020-07-17 | Minor documentation updates | Boris Kolpackov | 1 | -2/+13 | |
2020-07-16 | Documentation updates | Boris Kolpackov | 1 | -22/+40 | |
2020-07-14 | Add another note on wildcards inside eval context | Boris Kolpackov | 1 | -3/+15 | |
2020-07-13 | Document value subscripts | Boris Kolpackov | 1 | -3/+15 | |
2020-07-13 | Reserve backtick (`) and bit-or (|) in eval context for future use | Boris Kolpackov | 1 | -1/+5 | |
Specifically, they are reserved for future support of arithmetic evaluation contexts and evaluation pipelines, respectively. | |||||
2020-07-10 | Document ad hoc import and its usage in glue buildfiles | Boris Kolpackov | 1 | -11/+89 | |
If the target being imported has no project name and is either absolute or is a relative directory, then this is treated as ad hoc importation. Semantically it is similar to a normal import but with the location of the project being imported hard-coded into the buildfile. This type of import can be used to create a special "glue buildfile" that "pulls" together several projects, usually for convenience of development. One typical case that calls for such a glue buildfile is a multi-package project. To be able to invoke the build system driver directly in the project root, we can add a glue buildfile that imports and builds all the packages: import pkgs = */ ./: $pkgs See "Target Importation" in the manual for details. | |||||
2020-07-10 | Add support for project-local importation | Boris Kolpackov | 1 | -0/+28 | |
An import without a project name or with the same name as the importing project's is now treated as importation from the same project. For example, given the libhello project that exports the lib{hello} target, a buildfile for an executable in the same project instead of doing something like this: include ../libhello/ exe{hello}: ../libhello/lib{hello} Can now do this: import lib = libhello%lib{hello} Or: import lib = lib{hello} And then: exe{hello}: $lib Note that a target in project-local importation must still be exported in the project's export stub. In other words, project-local importation goes through the same mechanisms as normal import. | |||||
2020-07-06 | Adjust variable block applicability in dependency chains | Boris Kolpackov | 1 | -3/+9 | |
Before the block used to apply to the set of prerequisites before the last `:`. This turned out to be counterintuitive and not very useful since prerequisite-specific variables are a lot less common than target specific. And it doesn't fit with ad hoc recipes. The new rule is if the chain ends with `:`, then the block applies to the last set of prerequisites. Otherwise, it applies to the last set of targets. For example: ./: exe{test}: cxx{main} { test = true # Applies to the exe{test} target. } ./: exe{test}: libue{test}: { bin.whole = false # Applies to the libue{test} prerequisite. } This is actually consistent with both non-chain and non-block cases. Consider: exe{test}: cxx{main} { test = true } exe{test}: libue{test}: { bin.whole = false } exe{test}: libue{test}: bin.whole = false The only exception we now have in this overall approach of "if the dependency declaration ends with a colon, then what follows is for a prerequisite" is for the first semicolon: exe{test}: { test = true } exe{test}: test = true But that's probably intuitive enough since there cannot be a prerequisite without a target. | |||||
2020-07-02 | Use consistent style when referencing modules in manual | Boris Kolpackov | 1 | -12/+13 | |
2020-07-02 | Document private installation subdirectory mechanism | Boris Kolpackov | 1 | -5/+76 | |
A private installation subdirectory can be used to hide the implementation details of a project. This is primarily useful when installing an executable that depends on a bunch of libraries into a shared location, such as /usr/local/. | |||||
2020-06-29 | Add config.install.share variable | Boris Kolpackov | 1 | -3/+4 | |
Its default value is data_root/share/ and it is now used as a common root for config.install.{data,doc,man} variables. | |||||
2020-06-29 | Add legal{} target type and config.install.legal variable | Boris Kolpackov | 1 | -0/+1 | |
This allows separation of legal files (LICENSE, AUTHORS, etc) from other documentation. For example: ./: ... doc{README} legal{LICENSE} $ b install ... config.install.legal=/usr/share/licenses/hello/ |