aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-05-13Rename sys_inc_dirs to sys_hdr_dirs for consistencyBoris Kolpackov12-78/+78
2021-05-13Add ${c,cxx}.find_system_{header,library}() functionsBoris Kolpackov8-4/+241
2021-05-13Extract MSVC header/library search paths from INCLUDE/LIB envvarsBoris Kolpackov1-29/+48
2021-05-13Rearrange inline function definitions to make MinGW GCC happyBoris Kolpackov2-4/+9
2021-05-13Do lazy allocation of shadow task queuesBoris Kolpackov3-7/+11
2021-05-13Don't both mark the scheduler queue and enter sub-phaseBoris Kolpackov2-19/+2
2021-05-12Deal with helper thread starvation during phase switchingBoris Kolpackov6-46/+261
The implemented solution entails shadowing old phase queues so that helpers don't pick up old phase tasks and boosting the max_threads count so that we can create more helpers if all the existing ones are stuck in the old phase.
2021-05-12Keep phase locked while working own queueBoris Kolpackov8-43/+87
2021-05-07Various improvements and clarifications in metadata handlingBoris Kolpackov2-45/+85
2021-05-06See through utility libraries when looking for module interfacesBoris Kolpackov2-92/+117
2021-05-06Propagate complete match rules from utility libraries in link ruleBoris Kolpackov2-80/+82
This makes sure mixed-language (e.g., C and C++) utility libraries behave as expected.
2021-05-06Fix default Clang C++ compiler name mis-guessBoris Kolpackov1-1/+1
2021-05-05Deactivate when blocked on load phase mutexBoris Kolpackov1-2/+12
This turned out to be important when building in multiple contexts that share the scheduler (e.g., main and module/recipe build context). In this case we need an accurate active thread count in order to decide when to start an extra helper thread past max_active.
2021-05-04Add config.install.root with data_root/etc/ defaultBoris Kolpackov2-0/+4
2021-05-04Replace int_ with intf_ and imp_ with impl_ in namesBoris Kolpackov15-45/+45
2021-05-04Handle duplicate suppression of multi-element libraries (-l foo)Boris Kolpackov7-150/+305
See GitHub issue #114 for context.
2021-05-03Allow unseparated scope-qualified variable assignment and expansionBoris Kolpackov2-6/+59
2021-04-26Detect and diagnose presence of certain GCC environment variablesBoris Kolpackov2-8/+14
Their presence is incompatible with what we are doing.
2021-04-22Add <version> install directory substitution in addition to <project>Boris Kolpackov2-8/+23
2021-04-22Incorporate project environment checksum into cc::compiler_info cache keyBoris Kolpackov8-3/+60
2021-04-22Add another hash/save_environment() overloadBoris Kolpackov4-2/+33
2021-04-22Document use of depdb-env for manually tracking changes to environmentBoris Kolpackov1-0/+18
2021-04-21Add buildscript depdb builtin 'env' commandKaren Arutyunov7-18/+127
2021-04-20Detect environment changes in ad hoc recipesBoris Kolpackov9-37/+101
2021-04-20Track changes to environment in cc rulesBoris Kolpackov10-6/+134
2021-04-20Disable bunch of bogus GCC warningsBoris Kolpackov3-3/+4
2021-04-16Handle hermetic configurations in ~host and ~build2Boris Kolpackov2-14/+29
Specifically, we keep config.config.environment but strip config.config.hermetic. Also update the INSTALL file.
2021-04-15Disable modules support in VC 16.8 and later due to options changeBoris Kolpackov1-2/+5
See GitHub issue #134 for background.
2021-04-09Adjust to butl::process::quite_argument() interface changeBoris Kolpackov1-1/+1
2021-04-09Fix bug in configure meta-operation implementationBoris Kolpackov1-1/+1
2021-04-09Document hermetic build configuration supportBoris Kolpackov4-15/+201
2021-04-07Register environment variables for hermetic build configurationsBoris Kolpackov22-20/+433
2021-04-04Add base functionality for hermetic build configurationshermeticBoris Kolpackov7-112/+345
2021-04-02Add support for propagating project environmentBoris Kolpackov13-54/+254
2021-03-26Implement config.config.environment storageBoris Kolpackov5-99/+252
2021-03-22Fix tests to work for compressed file cache entriesBoris Kolpackov1-1/+1
2021-03-22Fix bug in file cache logic (compression disabled)Boris Kolpackov1-0/+2
2021-03-22Enable compression in file cache by defaultBoris Kolpackov1-1/+1
2021-03-20Don't check for file existence in file cache if compression is disabledBoris Kolpackov1-14/+15
2021-03-20Don't create file cache entry for non-existent .ii fileBoris Kolpackov1-1/+7
2021-03-20Reorder inline functions to get rid of MinGW GCC dllimport warningsBoris Kolpackov1-73/+73
2021-03-19Redo entering of src directories into scope_mapBoris Kolpackov13-136/+187
2021-03-19Temporarily default to noop file cacheBoris Kolpackov2-3/+5
2021-03-18Use fdstat() in file cacheBoris Kolpackov1-15/+7
2021-03-18Add noop mode to file cache, add --file-cache option to selectBoris Kolpackov12-32/+109
2021-03-18Implement synchronous compressed file cacheBoris Kolpackov3-25/+340
2021-03-18Move file_cache::write:close() call to correct place in cc::compile_ruleBoris Kolpackov1-7/+5
2021-03-17Move file cache inline functions out of interfaceBoris Kolpackov2-39/+105
2021-03-16Get rid of unused variable warningBoris Kolpackov1-0/+1
2021-03-16Fix uninitialized value issue in file cacheBoris Kolpackov1-1/+1