aboutsummaryrefslogtreecommitdiff
path: root/build2
AgeCommit message (Collapse)AuthorFilesLines
2019-04-30Initial take on header unit and include translation supportBoris Kolpackov24-970/+2278
2019-04-17Incorporate ad hoc prerequisite mtime into out-of-date determinationBoris Kolpackov4-32/+59
2019-04-16Cosmetic changeBoris Kolpackov1-2/+2
2019-04-12Don't complain if dist.root does not exist and just create it insteadBoris Kolpackov1-4/+4
2019-04-11Only enable MSVC /permissive- in experimental modeBoris Kolpackov1-6/+18
Currently this flag tends to trigger too many compiler bugs.
2019-04-11Default to strict mode (/permissive-) from VC15.5Boris Kolpackov3-189/+191
2019-04-11Sync up with latest C++ modules support in GCCBoris Kolpackov2-3/+3
2019-04-10Always use cached mtime if availableBoris Kolpackov3-6/+26
Besides other things, this is required for "logical clean" in the try-run mode to work properly: $ b -vn clean update
2019-04-09Raise libcpp version in regex-related check to 8.0Karen Arutyunov1-1/+1
2019-04-09Fix Clang 8 "defaulted function deleted" warningsKaren Arutyunov2-3/+0
2019-04-09Add dry-run support to test rulesBoris Kolpackov6-64/+147
2019-04-09Add dry-run support to install/uninstall rulesBoris Kolpackov4-64/+82
2019-04-08Ammend function synopses a bitKaren Arutyunov1-6/+6
2019-04-08Add function synopses in functions-regex.cxxKaren Arutyunov1-6/+6
2019-04-08Support for --dry-run|-n mode, perform update partBoris Kolpackov23-367/+567
2019-04-05Add bug number for Apple ar mtime truncation bugBoris Kolpackov1-1/+1
2019-04-04Fix typoBoris Kolpackov1-1/+1
2019-04-04Tweak extension-to-target type mapping resolution to deal with in-source buildsBoris Kolpackov1-11/+20
2019-04-04Add support for extension-to-target type mapping ambiguity resolutionBoris Kolpackov2-20/+53
The typical case is h{} and hxx{} using the same .h extension. This was generally not a problem except for auto-generated headers. Now this is resolved by looking up the actual target.
2019-04-04Fix superfluous recompilation due to bug in depdb touch logicKaren Arutyunov1-0/+1
2019-04-04Add ability to disable automatic rpath, support for custom rpath-linkBoris Kolpackov2-23/+81
Specifically, the new config.bin.rpath.auto variable can be used to disable automatic addition of prerequisite library rpaths, for example: $ b config.bin.rpath.auto=false Note that in this case rpath-link is still added where normally required and for targets that support it (Linux and *BSD). The new config.bin.rpath_link and config.bin.rpath_link.auto have the same semantics as config.bin.rpath* but for rpath-link.
2019-04-03Change depdb API and handle system_error thrown by butl::file_mtime()Karen Arutyunov15-34/+60
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-04-03Fix crashing on unhandled io_error thrown by depdb operationsKaren Arutyunov1-48/+102
2019-04-03Regenerate options parsing codeBoris Kolpackov1-31/+45
2019-03-23Cleanup some files replacing tabs with spacesKaren Arutyunov2-5/+5
2019-03-20Change version to 0.11.0-a.0.zBoris Kolpackov1-1/+1
2019-03-18Change BUILD2_STAGE to falseBoris Kolpackov1-1/+1
2019-03-14Add support for multiple variable overridesBoris Kolpackov14-127/+135
Now we can do: $ b config.cxx.coptions=-O3 config.cxx.coptions=-O0 Or even: $ b config.cxx.coptions=-O3 config.cxx.coptions+=-g
2019-03-14Change variable::override list order, make doubly-linkedBoris Kolpackov3-17/+48
2019-03-13Don't preserve comments (/C) in MSVC preprocessed outputBoris Kolpackov1-5/+7
This appear to "enable" some additional VC preprocessor bug that are now triggered by the VC 16.0 xsmf_control.h header.
2019-03-13Cutoff append/prepend overrides that come before assignment overrideBoris Kolpackov2-4/+19
For example: $ b x+=1 x=2 x+=3 Should result in '2 3', not '1 2 3'.
2019-03-13Add workarounds for all cl releases until 20.00Karen Arutyunov2-5/+5
2019-03-12Tweak resolution of relative targets from export.libsBoris Kolpackov1-4/+8
2019-03-12Diagnose out of project inclusionBoris Kolpackov1-5/+14
2019-03-12Recognize MSVC 16 (19.20) runtime as 14.2Boris Kolpackov1-3/+11
2019-03-08Fix bug in buildfileKaren Arutyunov1-1/+1
2019-03-08Use real package names rather than sanitized ones for diagnostics in version ↵Karen Arutyunov3-25/+44
module
2019-03-08Use new setup for unit testsKaren Arutyunov49-3/+6537
2019-03-07Initialize initial parser stateBoris Kolpackov1-5/+6
2019-03-07Move bunch of root scope-only data members to root_extraBoris Kolpackov19-95/+124
2019-03-07Add support for alternative build file/directory naming schemeBoris Kolpackov30-320/+622
Now the build/*.build, buildfile, and .buildignore filesystem entries in a project can alternatively (but consistently) be called build2/*.build2, build2file, and .build2ignore. See a note at the beginning of the Project Structure section in the manual for details (motivation, restrictions, etc).
2019-03-05Align with latest bdep-newKaren Arutyunov1-11/+16
2019-03-01Add another note on inconsistent compiler behavior diagnosticsBoris Kolpackov1-0/+6
2019-02-28Add note on inconsistent compiler behavior diagnosticsBoris Kolpackov1-0/+2
2019-02-27Escape backslashes in GNU options file on WindowsBoris Kolpackov1-2/+22
2019-02-27Use options (aka response) file on Windows if link command line is too longBoris Kolpackov1-10/+111
2019-02-21Change version to 0.10.0-a.0.zBoris Kolpackov1-1/+1
2019-02-19Change BUILD2_STAGE to falseBoris Kolpackov1-1/+1
2019-02-18Skip subdirs logic if installation path includes file nameBoris Kolpackov1-10/+21
2019-02-15Check for /usr/local/include in addition to /usr/includeBoris Kolpackov1-6/+9
Specifically, Apple Clang does not have /usr/include (it has its equivalent in /Applications/.../XcodeDefault.xctoolchain/usr/include/) but does have /usr/local/include.