Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-03-31 | Use own type information instead of dynamic_cast in target::is_a() | Boris Kolpackov | 3 | -24/+35 | |
2022-03-31 | Get rid of unnecessary dynamic_cast call | Boris Kolpackov | 1 | -3/+5 | |
2022-03-31 | Add missing init_process() call in regex unit test | Boris Kolpackov | 1 | -0/+5 | |
2022-03-30 | Infrastructure for library metadata support | Boris Kolpackov | 4 | -10/+335 | |
2022-03-29 | Add variable_map::lookup_namespace(string) overload | Boris Kolpackov | 4 | -8/+14 | |
2022-03-28 | Respect dry-run in Windows assembly creation logic | Boris Kolpackov | 1 | -3/+8 | |
2022-03-28 | Add ability to customize pkg-config header and library search paths | Boris Kolpackov | 6 | -17/+85 | |
Specifically, {cc,c,cxx}.pkgconfig.{include,lib} variables specify header (-I) and library (-L) search paths to use in the generated .pc files instead of the default install.{include,lib}. Relative paths are resolved as install paths. | |||||
2022-03-25 | Store bin.whole flag in pkg-config files | Boris Kolpackov | 2 | -14/+47 | |
2022-03-23 | Add note on disfig.* variables idea | Boris Kolpackov | 1 | -0/+16 | |
2022-03-23 | Document config.config.disfigure | Boris Kolpackov | 1 | -1/+19 | |
2022-03-23 | Make project configuration variables non-nullable by default | Boris Kolpackov | 3 | -18/+99 | |
A project configuration variable with the NULL default value is naturally assumed nullable, for example: config [string] config.libhello.fallback_name ?= [null] Otherwise, to make a project configuration nullable we use the `null` variable attribute, for example: config [string, null] config.libhello.fallback_name ?= "World" | |||||
2022-03-23 | Clarify config::save_*_omitted semantics | Boris Kolpackov | 1 | -5/+12 | |
2022-03-22 | Add ability to disfigure specific configuration variables | Boris Kolpackov | 1 | -0/+27 | |
The new config.config.disfigure variable can be used to specify the list of variables to ignore when loading config.build (and any files specified in config.config.load), letting them to take on the default values. For example: $ b configure config.config.disfigure=config.hello.fancy | |||||
2022-03-21 | Filter out exe{} prerequisites in install group rule similar to file rule | Boris Kolpackov | 2 | -0/+29 | |
2022-03-21 | Make sure install group rule take precedence over fallback file rule | Boris Kolpackov | 1 | -2/+8 | |
2022-03-17 | Handle absolute POSIX paths in MinGW GCC search paths | Boris Kolpackov | 1 | -2/+34 | |
2022-03-17 | Diagnose invalid paths in -print-search-dirs output | Boris Kolpackov | 1 | -8/+28 | |
For example, some mis-configured MinGW GCC builds include /mingw/lib. | |||||
2022-03-15 | Don't consider mtime of failed to unmatch prerequisite in ad hoc recipe | Boris Kolpackov | 2 | -4/+7 | |
2022-03-11 | Add JSON format support for --structured-result option and info meta operation | Karen Arutyunov | 20 | -242/+964 | |
2022-03-11 | Allow effective quoting for names that need curly braces in their ↵ | Karen Arutyunov | 2 | -5/+4 | |
representations | |||||
2022-03-10 | Update manual to match new header pre-generation functionality | Boris Kolpackov | 1 | -25/+22 | |
2022-03-10 | Fix operator<<(ostream,target_state) | Karen Arutyunov | 2 | -0/+4 | |
2022-03-10 | Add reverse_execute_prerequisites() variant | Boris Kolpackov | 4 | -14/+154 | |
2022-03-10 | Remove update variable from source of synthesized dependency | Boris Kolpackov | 1 | -1/+14 | |
2022-03-09 | Rename execute_wait() to execute() | Boris Kolpackov | 3 | -26/+23 | |
The old half-way semantics of execute() wasn't useful. | |||||
2022-03-09 | Parallel implementation of update_during_match_prerequisites() | Boris Kolpackov | 5 | -34/+150 | |
2022-03-08 | Improve performance of update during match for multiple targets | Boris Kolpackov | 5 | -19/+95 | |
2022-03-08 | Update C/C++ headers and ad hoc sources during match by default | Boris Kolpackov | 1 | -19/+50 | |
Essentially, all headers as well as ad hoc headers and sources are now treated by the cc::link_rule as if they had update=match unless explicit update=execute is specified. | |||||
2022-03-08 | Add update=execute special value for cases where it's not default | Boris Kolpackov | 3 | -4/+6 | |
2022-03-07 | Fix operation-specific variables logic for inner/outer operations | Boris Kolpackov | 6 | -23/+52 | |
2022-03-07 | Add support for update=unmatch|match to ad hoc recipes | Boris Kolpackov | 10 | -48/+217 | |
2022-03-04 | Convert stream names to lower case in documentation | Karen Arutyunov | 2 | -7/+7 | |
2022-03-02 | Add update operation-specific variable with unmatch|match additional values | Boris Kolpackov | 24 | -148/+395 | |
Note that the unmatch (match but do not update) and match (update during match) values are only supported by certain rules (and potentially only for certain prerequisite types). Additionally: - All operation-specific variables are now checked for false as an override for the prerequisite-specific include value. In particular, this can now be used to disable a prerequisite for update, for example: ./: exe{test}: update = false - The cc::link_rule now supports the update=match value for headers and ad hoc prerequisites. In particular, this can be used to make sure all the library headers are updated before matching any of its (or dependent's) object files. | |||||
2022-02-24 | Add note on disabling subprojects/amalgamations import search | Boris Kolpackov | 1 | -0/+10 | |
2022-02-21 | Factor process-wide initialization to init_process() function | Boris Kolpackov | 8 | -85/+109 | |
2022-02-21 | Ban module names that start with underscore | Boris Kolpackov | 2 | -3/+9 | |
2022-02-21 | Factor additional logic to parse_cmdline() | Boris Kolpackov | 3 | -80/+107 | |
2022-02-18 | Factor out common CLI types (scanners, etc) | Karen Arutyunov | 20 | -2901/+1888 | |
2022-02-18 | Move parse_cmdline() to libbuild2 | Karen Arutyunov | 16 | -2502/+2553 | |
2022-02-17 | Add support for cheaply starting parallel scheduler pre-tuned to serial | Boris Kolpackov | 3 | -15/+43 | |
2022-02-17 | Add build.mode global variable | Boris Kolpackov | 1 | -0/+12 | |
This value signals any special mode the build system may be running in. The two core modes are `no-external-modules` (bootstrapping of external modules is disabled) and `normal` (normal build system execution). Build system drivers may invent additional modes (for example, the bpkg `skeleton` mode that is used to evaluate depends clauses). | |||||
2022-02-17 | Factor command line parsing logic into separate function | Boris Kolpackov | 1 | -182/+210 | |
2022-02-16 | Invent quoting modes for to_stream(name) | Karen Arutyunov | 10 | -35/+86 | |
2022-02-16 | Get rid of stray variable | Boris Kolpackov | 1 | -2/+0 | |
2022-02-16 | Add pre/post hooks to load_root() | Boris Kolpackov | 2 | -2/+22 | |
2022-02-15 | Fix stray logic where libue{} was still considered member of libul{} | Boris Kolpackov | 1 | -10/+27 | |
Fixes GitHub issue #179. | |||||
2022-02-15 | Diagnose various misuses of library metadata protocol | Boris Kolpackov | 4 | -8/+28 | |
2022-02-14 | Fix module loading in libbuild2 test | Boris Kolpackov | 1 | -8/+17 | |
2022-02-14 | Add parser::parse_eval() public API function | Boris Kolpackov | 2 | -12/+62 | |
2022-02-14 | Add ability to override amalgamation and subprojects in bootstrap_src() | Boris Kolpackov | 2 | -3/+41 | |