aboutsummaryrefslogtreecommitdiff
path: root/build2/rule.cxx
AgeCommit message (Collapse)AuthorFilesLines
2019-07-01Split build system into library and driverBoris Kolpackov1-309/+0
2019-04-10Always use cached mtime if availableBoris Kolpackov1-3/+3
Besides other things, this is required for "logical clean" in the try-run mode to work properly: $ b -vn clean update
2019-04-08Support for --dry-run|-n mode, perform update partBoris Kolpackov1-0/+2
2019-04-03Change depdb API and handle system_error thrown by butl::file_mtime()Karen Arutyunov1-1/+1
Previously, debdb operations threw system_error and io_error to signal errors, except for opening which issued diagnostics and failed. Now all operations print the diagnostics and fail on system and IO errors.
2019-01-16Update copyright yearKaren Arutyunov1-1/+1
2018-10-25Fix race in rule synthesis logicBoris Kolpackov1-1/+1
2018-05-19Update copyright yearKaren Arutyunov1-1/+1
2018-02-22Make dist diagnostics tidier yetBoris Kolpackov1-7/+7
2018-02-07Initial work for default update outer operationBoris Kolpackov1-2/+23
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.
2018-02-03Get rid of action rule override semanticsBoris Kolpackov1-7/+7
Instead we now have two more or less separate match states for outer and inner parts of an action.
2017-08-07Fix 'may be used uninitialized' warning (GCC)Karen Arutyunov1-1/+1
2017-08-04Make file_rule match mtime_targets that have valid timestampBoris Kolpackov1-28/+32
This can be used to handle installed target groups like lib{}.
2017-08-03Only print mkdir if did create directoryBoris Kolpackov1-36/+41
2017-05-31Adjust extension semantics in file rule to match search_existing_file()Boris Kolpackov1-1/+6
2017-05-01Add hxx extension for headersKaren Arutyunov1-8/+8
2017-03-02Fix clean logicBoris Kolpackov1-5/+3
2017-03-02Implement parallel matchBoris Kolpackov1-21/+65
2017-02-13Do some naming cleanupsBoris Kolpackov1-3/+3
2017-02-13Pass const target& to recipesBoris Kolpackov1-2/+2
2017-02-13Add model mutex, make var_pool const by defaultBoris Kolpackov1-11/+11
2017-01-23Make rules const throughoutBoris Kolpackov1-4/+4
2017-01-18Ignore prerequisite mtimes that are not linker inputsBoris Kolpackov1-47/+14
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 Arutyunov1-1/+1
2017-01-05Update copyright yearBoris Kolpackov1-1/+1
2016-12-16Move exe{} to build2 core, add fallback extensions (existing files)Boris Kolpackov1-0/+5
2016-11-04Cleanup match_result messBoris Kolpackov1-10/+10
2016-09-13Fix crashing on unhandled system_error thrown by file_exists()Karen Arutyunov1-1/+1
2016-07-19Add import library target libi{}, make libs{} the DLLBoris Kolpackov1-11/+18
In the end, having libs{} be the DLL with import library being its member is more natural than making libs{} the import library and having dll{} as its member.
2016-07-08Add dependency on fsdir{} in alias rulesBoris Kolpackov1-3/+9
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 Kolpackov1-3/+2
2016-02-29Rename level[1-6]() to l[1-6]()Boris Kolpackov1-1/+1
2016-02-12<types>/<utility> scheme cleanupBoris Kolpackov1-3/+0
2016-01-09Update copyright yearBoris Kolpackov1-1/+1
2016-01-05Rename build directory/namespace to build2Boris Kolpackov1-0/+249