aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-08-26Add missing symbol exportsBoris Kolpackov2-2/+2
2020-08-26Fix bug in module initialization orderBoris Kolpackov3-26/+21
2020-08-25Add missing move() callBoris Kolpackov1-1/+3
2020-08-25Fix bug in interaction of unmatch logic with target groupsBoris Kolpackov3-3/+23
2020-08-24Only suggest ad hoc path import for path-based targetsBoris Kolpackov1-6/+10
2020-08-24Use representation when passing target_triplet as hintBoris Kolpackov4-3/+4
2020-08-24Add copying version of convert<T>(value)Boris Kolpackov4-12/+52
2020-08-18Add ability to mark config.* variables as "unsaved" (always transient)Boris Kolpackov5-19/+40
2020-08-17Add mvfile() filesystem utility functionBoris Kolpackov3-19/+33
2020-08-16Add support for post-configure and pre-disfigure hooksBoris Kolpackov7-27/+131
2020-08-16Add ability to initialize bootstrapped modules after loading root.buildBoris Kolpackov8-34/+64
2020-08-16Redo modules map as vectorBoris Kolpackov4-53/+84
2020-08-13Fix assertion failure in to_stream() for target key without extensionKaren Arutyunov1-2/+2
Also fix a similar assertion.
2020-08-13Add few more run() overloadsBoris Kolpackov1-2/+17
2020-08-12Adjust linker arguments for LTO parallelizationMatthew Krupcale1-0/+54
GCC 10+ and Clang 4+ support controlling the number of LTO threads/jobs used during linking. Use the build2 scheduler to allocate up to the number of hardware threads to the GCC or Clang linker processes when -flto=auto or -flto=thin is specified, respectively. Otherwise, GCC or Clang will attempt to spawn the number of hardware threads detected for each linker process, which could result in up to n^2 linker threads on a CPU with n hardware threads.
2020-08-12Add iterator-based versions of find_option{,_prefix}Matthew Krupcale2-3/+61
This allows one to use all of the properties of iterators to manipulate the found option.
2020-08-12Add int64 and int64s variable typesBoris Kolpackov6-2/+118
2020-08-11Add another variable_pool::insert() overloadBoris Kolpackov1-0/+9
2020-08-10Fix bug scheduler::allocate/deallocate()Boris Kolpackov1-2/+2
2020-08-10Allow holes in group_view arrayBoris Kolpackov4-13/+50
2020-08-07Add ability to allocate additional active threads to current threadBoris Kolpackov2-3/+102
2020-08-06Double default task queue sizeBoris Kolpackov1-1/+1
Testing shows quite a lot of "full" conditions on low core count (e.g., 2) CPUs (such as Intel U-series).
2020-08-04Fix 'target.path() called out of scope' testscript errorKaren Arutyunov1-0/+7
2020-08-03Fix buildscript diagnostics so diff output is always in unified formatKaren Arutyunov3-12/+70
Also make sure diff refers program stdout as 'stdout' rather than '-' in the test rule diagnostics.
2020-07-23Escape quotes in .pc file values besides spaces and backslashesKaren Arutyunov1-1/+1
2020-07-21Change to version 0.14.0-a.0.zBoris Kolpackov3-4/+4
2020-07-18Release version 0.13.0v0.13.0Boris Kolpackov3-6/+6
2020-07-18Work around Clang bug #45021Boris Kolpackov1-0/+10
2020-07-18Minor fix in manualBoris Kolpackov1-2/+2
2020-07-18Add $regex.find_match() and $regex.find_search() functionsKaren Arutyunov3-0/+184
2020-07-17Update submodulesBoris Kolpackov1-0/+0
2020-07-17Fix race in path/mtime assignment and file_rule::match()Boris Kolpackov7-30/+43
2020-07-17Add optimized derive_path_with_extension(), use in file_ruleBoris Kolpackov4-14/+42
2020-07-17Minor documentation updatesBoris Kolpackov2-4/+20
2020-07-17Use -fexternc-nounwind by default for Clang targeting MSVCBoris Kolpackov1-5/+27
This option implements the 'c' part in /EHsc and is not a mere optimization; see Clang bug #45021 for details.
2020-07-16Tweak NEWS file some moreBoris Kolpackov1-5/+6
2020-07-16Minor tweaks to NEWS fileBoris Kolpackov1-12/+14
2020-07-16Save original compiler path/mode in {c,cxx}.config.path/modeBoris Kolpackov10-13/+26
It turns out that when propagating {c,cxx}.config in tests we don't want to propagate any options (such as *.std) that have been folded into our project's mode.
2020-07-16Documentation updatesBoris Kolpackov2-70/+98
2020-07-14Fix Clang warningBoris Kolpackov2-0/+4
2020-07-14Update NEWS fileBoris Kolpackov1-0/+269
2020-07-14Add another note on wildcards inside eval contextBoris Kolpackov1-3/+15
2020-07-14Recognize `build2` as special module name in addition to `build`Boris Kolpackov1-2/+2
This is for consistency with version constraints in manifest.
2020-07-13Fix version check in using directiveBoris Kolpackov1-8/+9
2020-07-13Document value subscriptsBoris Kolpackov1-3/+15
2020-07-13Reserve backtick (`) and bit-or (|) in eval context for future useBoris Kolpackov6-5/+25
Specifically, they are reserved for future support of arithmetic evaluation contexts and evaluation pipelines, respectively.
2020-07-13Add ability to extend rule interface in source-compatible mannerBoris Kolpackov12-23/+68
2020-07-13Fold translated *.std options into compiler mode optionsBoris Kolpackov8-55/+35
This way they are accessible in ad hoc recipes.
2020-07-12Rename rule-adhoc-* to adhoc-rule-*Boris Kolpackov5-15/+15
2020-07-12Cache subprojects variable value in scope::root_extraBoris Kolpackov8-57/+61