summaryrefslogtreecommitdiffstats
path: root/build2/cli
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright yearKaren Arutyunov2019-01-166-6/+6
|
* Add --[no-]mtime-check options to control this behavior at runtimeBoris Kolpackov2018-11-281-1/+1
| | | | By default the checks are enabled only for the staged toolchain.
* Make backwards modification time check permanent, add another experimentBoris Kolpackov2018-11-221-8/+9
|
* Finalize workaround for backwards modification time issueBoris Kolpackov2018-11-191-1/+1
|
* Only search for external tools (compilers, linkers, etc) in PATHBoris Kolpackov2018-11-051-1/+7
| | | | | | | Specifically, omit the current executable's directory on Windows since there is no reason for them to be found there automagically and this can lead to surprising behavior (for example, our MinGW GCC being used instead of the user's even though the user's is in PATH before ours).
* Suggest override variable (config.x) when tool is not foundBoris Kolpackov2018-10-191-2/+4
|
* Fortify cli detection against "other" cli's (like Mono JIT compiler)Boris Kolpackov2018-07-301-12/+25
|
* Implement in moduleBoris Kolpackov2018-07-161-2/+2
| | | | | | | | | | | | | | | | | | | | Given test.in containing something along these lines: foo = $foo$ Now we can do: using in file{test}: in{test.in} file{test}: foo = FOO The alternative variable substitution symbol can be specified with the in.symbol variable and lax (instead of the default strict) mode with in.substitution. For example: file{test}: in.symbol = '@' file{test}: in.substitution = lax
* Use depdb to track changes to cli compiler, options, etcBoris Kolpackov2018-06-292-22/+88
|
* Implement support for excluded and ad hoc prerequisitesBoris Kolpackov2018-06-281-41/+36
| | | | | | | | | | | | | | The inclusion/exclusion is controlled via the 'include' prerequisite-specific variable. Valid values are: false - exclude true - include adhoc - include but treat as an ad hoc input For example: lib{foo}: cxx{win32-utility}: include = ($cxx.targe.class == 'windows') exe{bar}: libs{plugin}: include = adhoc
* Update copyright yearKaren Arutyunov2018-05-196-6/+6
|
* Initial work for default update outer operationBoris Kolpackov2018-02-072-3/+5
| | | | | | While update still uses the old "all update rules update all their prerequisites" assumption, test and install have been fixed not to rely on this.
* Get rid of action rule override semanticsBoris Kolpackov2018-02-035-14/+14
| | | | | Instead we now have two more or less separate match states for outer and inner parts of an action.
* Trace non-zero process exit codeBoris Kolpackov2017-12-171-1/+3
| | | | Also convert to using operator<<(ostream,process_exit).
* Improve process execution diagnostics by reusing run_*() APIBoris Kolpackov2017-12-162-18/+4
|
* Distinguish between "fixed" and "default" target extensionsBoris Kolpackov2017-12-071-10/+9
| | | | | This fixes wrong merging of, say, file{README} and file{README.MySQL} (in libmysqlclient).
* Fix few bugs in generated header path remapping logicBoris Kolpackov2017-11-241-1/+1
|
* Add perform_clean_group(), use instead of ad hoc implementation in cli ruleBoris Kolpackov2017-08-232-33/+1
|
* Add noteBoris Kolpackov2017-08-051-0/+2
|
* Add hxx extension for headersKaren Arutyunov2017-05-016-40/+40
|
* Implement support for pre-processing version headers (or other files)Boris Kolpackov2017-04-281-14/+14
| | | | Also implement the build system version check.
* Pass target to prerequisite searchBoris Kolpackov2017-04-272-5/+8
|
* Adapt to process_error changeKaren Arutyunov2017-04-102-2/+2
|
* Implement support for wildcard patternsBoris Kolpackov2017-03-101-0/+2
|
* Fix cli distribution via groupBoris Kolpackov2017-03-032-18/+17
|
* Implement parallel matchBoris Kolpackov2017-03-024-81/+51
|
* Tighten target constness furtherBoris Kolpackov2017-02-133-30/+20
|
* Use target:as<> instead of static_cast for target castingBoris Kolpackov2017-02-132-3/+5
|
* Pass const target& to recipesBoris Kolpackov2017-02-132-8/+8
|
* Implement target_set locking, including extension updateBoris Kolpackov2017-02-131-7/+5
|
* Store extension in target map key rather than in targetBoris Kolpackov2017-02-133-8/+11
| | | | This is in preparation for locking its modification/access.
* Pass const scope& where modification should not happenBoris Kolpackov2017-02-131-1/+1
|
* Implement pattern-based variable typing, tighten variable type updateBoris Kolpackov2017-02-131-3/+3
|
* Add model mutex, make var_pool const by defaultBoris Kolpackov2017-02-133-12/+12
|
* Add default constructors to *_rule classes to make older clang happyKaren Arutyunov2017-01-241-0/+2
|
* Make rules const throughoutBoris Kolpackov2017-01-231-1/+1
|
* Go back to storing scope instead of target in prerequisiteBoris Kolpackov2017-01-231-1/+1
| | | | Turns out this was semantically the right way to do it.
* Remove prerequisite caching in scopeBoris Kolpackov2017-01-201-1/+1
| | | | | We don't share them often and those that are shared (e.g., cxx{} in obja/objs{}) are lightweight (SOO).
* Get rid of extension_poolBoris Kolpackov2017-01-193-8/+8
|
* Ignore prerequisite mtimes that are not linker inputsBoris Kolpackov2017-01-181-4/+10
| | | | | This makes sure, for example, that we don't unnecessarily re-link an executable when its testscript prerequisite is changes.
* Make use of operator<<(ostream, exception)Karen Arutyunov2017-01-092-2/+2
|
* Update copyright yearBoris Kolpackov2017-01-056-6/+6
|
* Add support for specifying individual paths of imported targetsBoris Kolpackov2016-12-171-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
* Add support for VC15Karen Arutyunov2016-11-261-1/+1
|
* Add support for config.cli=false (leave unconfigured)Boris Kolpackov2016-11-231-19/+38
|
* Adopt to auto_fd introduced to libbutl fdstreams and processKaren Arutyunov2016-11-041-1/+1
|
* Cleanup match_result messBoris Kolpackov2016-11-042-9/+9
|
* Audit all print_process()/process ctor for path_search()Karen Arutyunov2016-09-171-3/+4
|
* Add io_error alias for std::ios_base::failureKaren Arutyunov2016-09-151-1/+1
|
* Fix bug in cli module diagnosticsBoris Kolpackov2016-09-021-1/+1
|