aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-12-01Modules-related refactoringBoris Kolpackov4-56/+60
2020-11-30Fix bug in module mapperBoris Kolpackov1-1/+0
2020-11-30Don't fail if unable to remove empty directory on uninstallBoris Kolpackov1-3/+15
2020-11-30Add more default argument values to run_start()Boris Kolpackov1-13/+13
2020-11-30Add version mapping for Apple Clang 12.0.0Boris Kolpackov1-1/+3
2020-11-30Disable __import recognition since GCC now uses [[__translated]]Boris Kolpackov2-4/+6
2020-11-30Add support for module partitionsBoris Kolpackov7-98/+201
2020-11-30Start adapting module mapper to latest GCC protocolBoris Kolpackov6-30/+461
2020-11-26Fix crashing on unhandled invalid_path thrown by cc::common::pkgconfig_load()Karen Arutyunov1-5/+15
2020-11-25Allow multiple -e options for sed builtinKaren Arutyunov1-7/+9
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-23Document include and source directivesBoris Kolpackov1-1/+32
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 Arutyunov2-14/+78
2020-11-19Fix set buildscript builtin crash on WindowsKaren Arutyunov2-2/+27
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 Kolpackov4-69/+499
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 Arutyunov2-5/+9
2020-11-06Add support for test timeoutsKaren Arutyunov45-209/+2779
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-18Make some documentation fixesFrancois Kritzinger2-77/+78
2020-10-15Add ability to specify fallback value for NULL substitutions with in.nullBoris Kolpackov8-20/+73
2020-10-07Add ability to specify extra adhoc files for distributionBoris Kolpackov2-6/+58
2020-10-05Update submodulesBoris Kolpackov2-0/+0
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-29Remove stray text from manualBoris Kolpackov1-3/+0
2020-09-28Add $string.trim() functionBoris Kolpackov2-0/+19
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