Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
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-21 | Factor process-wide initialization to init_process() function | Boris Kolpackov | 6 | -4/+105 | |
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 | 2 | -5/+90 | |
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 | 9 | -9/+4347 | |
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-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 | 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 | |
2022-02-14 | Factor reusable code to contex::enter_project_overrides() | Boris Kolpackov | 2 | -0/+68 | |
2022-02-11 | Remove unnecessary header inclusions | Boris Kolpackov | 5 | -5/+8 | |
2022-02-10 | Add note on GNU ar deprecating -T in favor of --thin | Boris Kolpackov | 1 | -0/+3 | |
2022-02-10 | Make few global types separately constructible/initializable | Boris Kolpackov | 6 | -7/+28 | |
2022-02-10 | Fix issue with string::assign() call without third argument | Boris Kolpackov | 1 | -1/+1 | |
2022-02-10 | Reorder inline function definition to help with MinGW GCC symbol export | Boris Kolpackov | 2 | -28/+32 | |
2022-02-09 | Adapt version module to package dependency new representation syntax | Karen Arutyunov | 2 | -44/+86 | |
2022-02-09 | Fix issue with implicit size_t to meta_operation_id conversion | Boris Kolpackov | 1 | -9/+13 | |
2022-02-09 | Add dyndep_rule::inject_group_member() | Boris Kolpackov | 2 | -1/+69 | |
2022-02-09 | Don't use fallback file_rule to clean real targets | Boris Kolpackov | 3 | -3/+22 | |
2022-02-09 | Improve comments | Boris Kolpackov | 1 | -3/+6 | |
2022-02-09 | Don't skip empty see-through target groups | Boris Kolpackov | 3 | -38/+34 | |
2022-02-09 | Add perform_clean_group_extra() | Boris Kolpackov | 2 | -123/+151 | |
2022-02-09 | Add read-only mode to depdb | Boris Kolpackov | 3 | -58/+98 | |
2022-02-07 | Add support for meta-operation wildcard in scope::insert_rule() | Boris Kolpackov | 2 | -1/+31 | |
2022-02-07 | Make match_inc_dependents() part of public API | Boris Kolpackov | 3 | -5/+10 | |
2022-02-07 | Use target::as instead of static_cast everywhere | Boris Kolpackov | 3 | -8/+8 | |
2022-02-02 | Work around issue in older Clang versions | Boris Kolpackov | 1 | -0/+2 | |
2022-02-02 | Redo diagnostics without operator<< in namespace std | Boris Kolpackov | 7 | -113/+103 | |
2022-01-26 | Make bash module install into bin/<project>.bash/ to avoid clashes | Boris Kolpackov | 4 | -20/+57 | |
Also, expect the first component in the import path to be full project name even in case it has the .bash extension. | |||||
2022-01-21 | Add another overload of to_target(), declare in functions-name.hxx | Boris Kolpackov | 3 | -6/+44 | |
2022-01-21 | Add search_new() and search_new_locked() variants of search() | Boris Kolpackov | 4 | -10/+132 | |
2022-01-20 | Add in::rule::perform_update_{pre,post}() hooks | Boris Kolpackov | 2 | -9/+41 | |
Also fix bug in depdb line parsing. | |||||
2022-01-18 | Add dynamic prerequisites to $< unless --adhoc is specified | Boris Kolpackov | 8 | -30/+103 | |
Also add a few tests for depdb-dyndep. | |||||
2022-01-17 | Use UTF-8 as default input/source charset for C/C++ compilation | Boris Kolpackov | 1 | -27/+89 | |
2022-01-11 | Work around VC14 bug | Boris Kolpackov | 2 | -10/+2 | |
2022-01-11 | Add note on MSVC warning C4819 | Boris Kolpackov | 1 | -0/+2 | |
2022-01-10 | Add psapi.lib and iphlpapi.lib to list of Windows system libraries | Boris Kolpackov | 1 | -0/+2 | |
2022-01-10 | Consider implied targets when resolving dynamic dependencies | Boris Kolpackov | 2 | -7/+21 | |
2022-01-06 | Add depdb-dyndep --update-{include,exclude} options | Boris Kolpackov | 10 | -180/+504 | |
These options specify prerequisite targets/patterns to include/exclude (from the static prerequisite set) for update during match as part of dynamic dependency extraction (those excluded will be updated during execute). For example: depdb dyndep ... --update-exclude libue{hello-meta} ... depdb dyndep ... --update-exclude libue{*} ... depdb dyndep ... --update-include $moc --update-include hxx{*} ... The order in which these options are specified is significant with the first target/pattern that matches determining the result. If only the --update-include options are specified, then only the explicitly included prerequisites will be updated. Otherwise, all prerequisites that are not explicitly excluded will be updated. If none of these options is specified, then all the static prerequisites are updated during match. Note also that these options do not apply to ad hoc prerequisites which are always updated during match. | |||||
2022-01-06 | Factor reusable code to target_key::effective_name() | Boris Kolpackov | 4 | -47/+56 | |
2021-12-17 | Add TODO comment | Boris Kolpackov | 1 | -0/+5 | |
2021-12-16 | Verify targets that alias same path are read-only | Boris Kolpackov | 3 | -4/+121 | |
2021-12-16 | Pass context to (meta-)operation hooks | Boris Kolpackov | 7 | -31/+40 | |