aboutsummaryrefslogtreecommitdiff
path: root/build2/cli
AgeCommit message (Collapse)AuthorFilesLines
2017-05-01Add hxx extension for headersKaren Arutyunov6-40/+40
2017-04-28Implement support for pre-processing version headers (or other files)Boris Kolpackov1-14/+14
Also implement the build system version check.
2017-04-27Pass target to prerequisite searchBoris Kolpackov2-5/+8
2017-04-10Adapt to process_error changeKaren Arutyunov2-2/+2
2017-03-10Implement support for wildcard patternsBoris Kolpackov1-0/+2
2017-03-03Fix cli distribution via groupBoris Kolpackov2-18/+17
2017-03-02Implement parallel matchBoris Kolpackov4-81/+51
2017-02-13Tighten target constness furtherBoris Kolpackov3-30/+20
2017-02-13Use target:as<> instead of static_cast for target castingBoris Kolpackov2-3/+5
2017-02-13Pass const target& to recipesBoris Kolpackov2-8/+8
2017-02-13Implement target_set locking, including extension updateBoris Kolpackov1-7/+5
2017-02-13Store extension in target map key rather than in targetBoris Kolpackov3-8/+11
This is in preparation for locking its modification/access.
2017-02-13Pass const scope& where modification should not happenBoris Kolpackov1-1/+1
2017-02-13Implement pattern-based variable typing, tighten variable type updateBoris Kolpackov1-3/+3
2017-02-13Add model mutex, make var_pool const by defaultBoris Kolpackov3-12/+12
2017-01-24Add default constructors to *_rule classes to make older clang happyKaren Arutyunov1-0/+2
2017-01-23Make rules const throughoutBoris Kolpackov1-1/+1
2017-01-23Go back to storing scope instead of target in prerequisiteBoris Kolpackov1-1/+1
Turns out this was semantically the right way to do it.
2017-01-20Remove prerequisite caching in scopeBoris Kolpackov1-1/+1
We don't share them often and those that are shared (e.g., cxx{} in obja/objs{}) are lightweight (SOO).
2017-01-19Get rid of extension_poolBoris Kolpackov3-8/+8
2017-01-18Ignore prerequisite mtimes that are not linker inputsBoris Kolpackov1-4/+10
This makes sure, for example, that we don't unnecessarily re-link an executable when its testscript prerequisite is changes.
2017-01-09Make use of operator<<(ostream, exception)Karen Arutyunov2-2/+2
2017-01-05Update copyright yearBoris Kolpackov6-6/+6
2016-12-17Add support for specifying individual paths of imported targetsBoris Kolpackov1-1/+1
The new config.import.* variable format is: config.import.<proj>.<name>[.<type>] For example: b config.import.build2.b=/opt/build2/bin/b b config.import.build2.b.exe=b-boot
2016-11-26Add support for VC15Karen Arutyunov1-1/+1
2016-11-23Add support for config.cli=false (leave unconfigured)Boris Kolpackov1-19/+38
2016-11-04Adopt to auto_fd introduced to libbutl fdstreams and processKaren Arutyunov1-1/+1
2016-11-04Cleanup match_result messBoris Kolpackov2-9/+9
2016-09-17Audit all print_process()/process ctor for path_search()Karen Arutyunov1-3/+4
2016-09-15Add io_error alias for std::ios_base::failureKaren Arutyunov1-1/+1
2016-09-02Fix bug in cli module diagnosticsBoris Kolpackov1-1/+1
2016-08-30Remove backwards-compatibility kludgesBoris Kolpackov1-14/+9
2016-08-23Split cli module into cli.config and cliBoris Kolpackov2-43/+86
2016-08-22Cache process_path, use fallback search directory for binutilsBoris Kolpackov1-11/+23
2016-08-12Rename module to initBoris Kolpackov2-6/+6
2016-08-12Add support for ordering modules in config.buildBoris Kolpackov1-0/+4
2016-07-23Adapt to fdstream extensionKaren Arutyunov1-20/+30
2016-07-20Fix cli test verbosityBoris Kolpackov1-3/+1
2016-07-20Print project name and out_root in config reportsBoris Kolpackov1-46/+63
2016-07-08Add dependency on fsdir{} in alias rulesBoris Kolpackov1-1/+1
This makes sure that a directory with only dir{} target gets cleaned up.
2016-07-08Move filesystem-related functions from context to new filesystem filesBoris Kolpackov2-1/+4
2016-07-01Fix cli test to read cli output till the endKaren Arutyunov1-0/+6
2016-07-01Port to MSVCKaren Arutyunov1-2/+2
2016-06-27Get rid of extern "C" in module boot()/init()Boris Kolpackov2-16/+16
We will have a separate (extern "C") register() function that will return the pointers to these two. This way we can still throw exceptions from boot() and init().
2016-06-26Add support for passing configuration hints via module init()Boris Kolpackov2-3/+11
2016-06-26Minor module interface cleanupsBoris Kolpackov1-11/+6
2016-06-18Port to MinGWKaren Arutyunov1-2/+2
2016-04-25Add workaround for GCC 4.8 bug in default initialization of union memberBoris Kolpackov1-3/+9
It appears to silently ignore this C++11 feature and leave the data uninitialized.
2016-04-21Implement short-circuiting to group stateBoris Kolpackov1-5/+5
This is necessary to get rid of bogus restarts in inject_prerequisites() where it think a group member was updated since its state changed from unknown to (group's) changed.
2016-04-19Redesign src/out scopingBoris Kolpackov2-10/+14
We no longer enter paths from the src tree into scope map. Instead, targets from the src tree now include their out tree directory (in essence their "configuration"). This is then used to find a target's scope. See the comment in class target for details. The result of this change is that we can now again build multiple configurations (out trees) for same project at once.