aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-09-20Improve MSVC /showIncludes output handlingBoris Kolpackov1-13/+35
2021-09-20Add netapi32.lib to the list of Windows system librariesBoris Kolpackov1-0/+1
2021-09-20Assign pre-defined semantics to config.<project>.develop variablesBoris Kolpackov7-45/+156
This variable allows a project to distinguish between development and consumption builds. While normally there is no distinction between these two modes, sometimes a project may need to provide additional functionality during development. For example, a source code generator which uses its own generated code in its implementation may need to provide a bootstrap step from the pre-generated code. Normally, such a step is only needed during development. See "Project Configuration" in the manual for details.
2021-09-17Add fallback update-for-uninstall rule to global scopeBoris Kolpackov1-3/+6
2021-09-16Fix diagnostics corner case in perform_clean_extra()Boris Kolpackov1-5/+5
2021-09-16Fix over-tight assumption in standard operation match()Boris Kolpackov1-0/+1
2021-09-15Do variable lookup in ad hoc target groupsBoris Kolpackov4-22/+52
2021-09-14Add support for passing multiple names to $name.*() functionsBoris Kolpackov1-3/+49
2021-09-14Fix few issues with new config.install.scopeBoris Kolpackov1-32/+31
2021-09-14Impose 12K line count limit for regex matches in TestscriptBoris Kolpackov1-1/+15
2021-09-14Consistently install prerequisites from any scope by defaultBoris Kolpackov10-60/+132
It is also now possible to adjust this behavior with global config.install.scope override. Valid values for this variable are: project -- only from project strong -- from strong amalgamation weak -- from weak amalgamation global -- from all projects (default)
2021-09-13Impose 16KB line length limit for regex matches in TestscriptBoris Kolpackov1-1/+14
2021-09-09Handle Emscripten -pthread modeBoris Kolpackov1-0/+15
2021-09-08Adjust to renaming of butl::fdbuf to fdstreambufBoris Kolpackov2-4/+4
2021-09-02Don't consider aliasing in variable override lookupBoris Kolpackov3-6/+13
2021-09-02Add diag_frame around export stub loadingBoris Kolpackov1-2/+11
This gives the location of the importer in case the export stub issues any diagnostics.
2021-08-25Keep mtime check always enabled on WindowsBoris Kolpackov4-9/+16
Windows is known not to guarantee monotonically increasing mtimes.
2021-08-23Clear data in target::data() modifiersBoris Kolpackov1-2/+4
Currently we may end up resetting the data during the rule ambiguity detection.
2021-08-18Fix bug in external module skipping logicBoris Kolpackov1-7/+5
2021-08-13Fix amalgamation discovery logic some moreBoris Kolpackov1-1/+5
2021-08-13Cache git status results in version moduleBoris Kolpackov4-53/+64
2021-08-12Add ${c,cxx}.deduplicate_export_libs() functionBoris Kolpackov4-0/+154
This function deduplicates interface library dependencies by removing libraries that are also interface dependencies of the specified libraries. This can result in significantly better build performance for heavily interface-interdependent library families (for example, like Boost). Typical usage: import intf_libs = ... import intf_libs += ... ... import intf_libs += ... intf_libs = $cxx.deduplicate_export_libs($intf_libs)
2021-08-12Avoid duplication in Libs/Libs.private in generated .pc filesBoris Kolpackov3-23/+69
2021-08-11Optimize process_libraries() some moreBoris Kolpackov5-23/+59
2021-08-10Complete process_libraries() duplicate suppression workBoris Kolpackov5-69/+114
2021-08-09Use parse_variable_name() in parse_import(), parse_config()Boris Kolpackov2-15/+22
2021-08-09Make variable assignment mandatory in import directiveBoris Kolpackov1-125/+52
In return we get the ability to specify value attributes.
2021-08-09Merge library hashing and collection into single traversal passBoris Kolpackov4-230/+106
It turns out this is a lot faster on deeply-dependent libraries like Boost while not having any noticeable differences for "sane" projects.
2021-08-09Print pkgconfig_save() command at verbosity 1 since can take longBoris Kolpackov1-1/+6
2021-08-06Adapt to support for option positions added to butl::load_default_options()Karen Arutyunov1-1/+22
2021-08-05Implement traversal pruning in process_libraries()Boris Kolpackov8-421/+503
2021-08-05Add resolved library cache, use in cc::process_libraries()Boris Kolpackov2-9/+74
2021-08-05Avoid normalizing likely already normalized directories in search_existing()Boris Kolpackov1-1/+8
2021-08-04Take into account file-base'ness in ad hoc buildscript recipesBoris Kolpackov10-19/+76
2021-08-03Fix incorrect assumption in amalgamation discovery logicBoris Kolpackov1-8/+10
2021-08-03Regenerate options parsing filesBoris Kolpackov6-41/+209
2021-08-02Print list of bootstrapped modules in info meta-operationBoris Kolpackov1-1/+10
2021-07-30Fix issue in amalgamation discoveryBoris Kolpackov1-41/+53
2021-07-23Remove duplicate friend declaration to make GCC 4.9 happyBoris Kolpackov1-2/+0
2021-07-23Reserve variable names/components that start with underscore to build2 coreBoris Kolpackov3-15/+44
2021-07-22Change manifest builds value from all to hostBoris Kolpackov1-1/+1
2021-07-22Adjust Emscripten Clang version to account for unreleased snapshotsBoris Kolpackov1-1/+17
2021-07-22Add note on new /std:c11 and /std:c17 MSVC optionsBoris Kolpackov1-0/+5
2021-07-22Update C++ standard mapping for latest versions of compilersBoris Kolpackov1-17/+31
2021-07-20Map Apple Clang version 12.0.5 to vanilla Clang 10.0.0Boris Kolpackov1-16/+19
2021-07-08Also disable GCC -Wstringop-overread in testsBoris Kolpackov1-1/+2
2021-07-07Disable GCC -Wstringop-overread (false positives in GCC 11, bug 101361)Boris Kolpackov1-1/+2
2021-07-06Clear errno before calling strto*() functionsBoris Kolpackov1-0/+1
2021-07-01Suppress duplicate libraries in pkg-config filesBoris Kolpackov3-46/+89
2021-07-01Handle GCC versions in 9.2-win32 form (GitHub issue #156)Boris Kolpackov1-25/+19