aboutsummaryrefslogtreecommitdiff
path: root/libbuild2
AgeCommit message (Collapse)AuthorFilesLines
2020-11-26Fix crashing on unhandled invalid_path thrown by cc::common::pkgconfig_load()Karen Arutyunov1-5/+15
2020-11-24Fix compilation error on older compilers (GCC 4.9, MSVC 14.3)Boris Kolpackov1-4/+4
2020-11-23Increase terminated process timeout from 1 to 2 sec before killing it on ↵Karen Arutyunov2-5/+5
script pipeline termination
2020-11-23Add $string.lcase() and $string.ucase() functionsKaren Arutyunov2-0/+23
2020-11-23Suppress duplicates when extracting library options (GitHub issue #114)Boris Kolpackov5-99/+298
2020-11-19Handle C++20 module partitions in scannerBoris Kolpackov7-63/+176
2020-11-19Remove target files on ad hoc rule update buildscript errorKaren Arutyunov1-1/+18
2020-11-19Fix set buildscript builtin crash on WindowsKaren Arutyunov1-1/+19
2020-11-17Increase builtin timeout from 1 sec to 2 sec before aborting on script ↵Karen Arutyunov1-2/+2
pipeline termination
2020-11-17Generalize dot escaping in target name rulesBoris Kolpackov3-49/+276
Now triple dot and escape sequence can appear almost anywhere in the target name (see target::split_name() for details).
2020-11-17Resolve warningBoris Kolpackov1-0/+1
2020-11-17Omit default extensions for target types that now have fixed extensionsBoris Kolpackov1-2/+2
2020-11-17Implement modules pseudo-directive parsing (p1703, p1857)Boris Kolpackov7-54/+148
2020-11-13Minor tracing fix and additionBoris Kolpackov2-1/+4
2020-11-12Assign fixed extensions to wasm{} and pdb{} target typesBoris Kolpackov3-2/+42
2020-11-11Add ${c,cxx}.lib_{poptions,libs,rpaths}() functionsBoris Kolpackov10-105/+391
These functions can be used to query library metadata for options and libraries that should be used when compiling/linking dependent targets, similar to how cc::{compile,link}_rule do it. With this support it should be possible to more or less re-create their semantics in ad hoc recipes.
2020-11-11Make value_traits<bool>::convert() non-modifyingBoris Kolpackov2-2/+5
2020-11-11Expose low-level function registration supportBoris Kolpackov2-4/+24
2020-11-11Add context::current_action()Boris Kolpackov1-1/+9
2020-11-06Fix mistreating test operation timeout as test timeout in some caseKaren Arutyunov1-1/+1
2020-11-06Add support for test timeoutsKaren Arutyunov33-184/+1819
2020-11-06Fix snapshot extraction for subproject symlinked from git submoduleKaren Arutyunov1-3/+20
2020-11-06Resolve warningBoris Kolpackov1-1/+1
2020-11-06Keep executable bit on .wasm files when installingBoris Kolpackov1-2/+4
2020-11-05Initial Emscripten supportBoris Kolpackov6-535/+803
- Target: wasm32-emscripten (wasm32-unknown-emscripten). - Compiler id: clang-emscripten (type clang, variant emscripten, class gcc). - Ability to build executables (.js plus .wasm) and static libraries (.a). Set executable bit on the .js file (so it can be executed with a suitable binfmt interpreter). - Default config.bin.lib for wasm32-emscripten is static instead of both. - Full C++ exception support is enable unless disabled explicitly by the user with -s DISABLE_EXCEPTION_CATCHING=1|2. - The bin module registers the wasm{} target type for wasm32-emscripten.
2020-11-04Minor terminology tweakBoris Kolpackov1-1/+1
2020-11-02Set executable bit for ad hoc buildscript rule executable target on POSIXKaren Arutyunov5-2/+61
2020-10-28Pad config report to maximum name lengthBoris Kolpackov1-10/+32
2020-10-28Add missing $builtin.string(int64)Boris Kolpackov1-0/+1
2020-10-27Tweak dist rule to handle prerequisites outside projectBoris Kolpackov1-7/+21
2020-10-20Add operation callback for adhoc rule match and applyBoris Kolpackov13-44/+95
2020-10-15Add ability to specify fallback value for NULL substitutions with in.nullBoris Kolpackov7-20/+60
2020-10-07Add ability to specify extra adhoc files for distributionBoris Kolpackov2-6/+58
2020-09-29Add bootstrap distribution mode (!config.dist.bootstrap=true)Boris Kolpackov6-277/+476
In this mode the dist meta-operation does not load the project (but does bootstrap it) and adds all the source files into the distribution only ignoring files and directories that start with a dot. This mode is primarily meant for situation where the project cannot (yet) be loaded due to missing dependencies.
2020-09-28Add $string.trim() functionBoris Kolpackov1-0/+12
2020-09-24Fix target declaration upgrade logicBoris Kolpackov2-12/+10
2020-09-24Give hints for common causes of "no rule to update ..." errorBoris Kolpackov12-50/+121
2020-09-24Add ability to ignore extra variables in specified_config()Boris Kolpackov2-9/+33
2020-09-24Add post-boot module functionBoris Kolpackov3-27/+84
2020-09-22Add ability to skip external modules during bootstrap (--no-external-modules)Boris Kolpackov4-34/+75
2020-09-15Handle infinite output when extracting metadata (GitHub issue #102)Boris Kolpackov1-2/+22
2020-09-12Regenerate options parsing codeKaren Arutyunov1-6/+6
2020-09-09Expand notes on issues with build system modules that require bootstrapBoris Kolpackov1-0/+6
2020-09-08Get rid of warning in static buildBoris Kolpackov1-0/+2
2020-09-08Allow external modules that require bootstrapBoris Kolpackov1-13/+34
2020-09-01Add TODO commentBoris Kolpackov1-0/+2
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