Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2024-06-05 | Improve -rpath duplicate suppression logic even more | Boris Kolpackov | 1 | -2/+11 | |
2024-06-05 | Improve -rpath duplicate suppression logic some more | Boris Kolpackov | 1 | -3/+15 | |
2024-06-05 | Include top-level libraries in -rpath duplicate suppression logic | Boris Kolpackov | 1 | -0/+7 | |
2024-06-04 | Update Apple Clang to vanilla Clang version mapping information | Boris Kolpackov | 1 | -21/+23 | |
2024-05-27 | Change ##HEAD to #HEAD for build2 project repositories in repositories.manifest | Boris Kolpackov | 1 | -1/+1 | |
2024-05-22 | Add $filesystem.file_exists(), $filesystem.directory_exists() | Boris Kolpackov | 3 | -2/+99 | |
2024-05-21 | Use new thread-specific current working directory in testscript implementation | Boris Kolpackov | 1 | -0/+11 | |
In particular, this makes sure functions like $path.complete() work correctly from testscripts. | |||||
2024-05-21 | Add $path.complete(), $path.try_normalize(), $path.try_actualize() | Boris Kolpackov | 2 | -165/+329 | |
2024-05-20 | Documentation tweak | Boris Kolpackov | 1 | -4/+5 | |
2024-05-20 | Add $path.absolute(), $path.simple(), $path.sub_path(), $path.super_path() | Boris Kolpackov | 2 | -0/+104 | |
2024-05-20 | Add convert_to_base<T>(value) variants that allow derive-to-base conversion | Boris Kolpackov | 2 | -4/+46 | |
2024-05-20 | Add $string.contains(), $string.starts_with(), $string.ends_with() | Boris Kolpackov | 3 | -47/+274 | |
Also fix bug in $string.replace(). | |||||
2024-05-20 | Update C++ modules support documentation in manual | Boris Kolpackov | 1 | -709/+308 | |
2024-05-15 | Add note on potentially mismatching cxx.std in module sidebuilds | Boris Kolpackov | 1 | -0/+9 | |
2024-05-14 | Map latest/experimental cxx.std values to C++26 from GCC 14 and Clang 18 | Boris Kolpackov | 1 | -15/+24 | |
2024-05-14 | Add /Zc:preprocessor in experimental cxx.std mode from MSVC 17.9 (19.39) | Boris Kolpackov | 2 | -1/+7 | |
For background, see: https://developercommunity.visualstudio.com/t/Please-clarify-ifwhen-Zc:preprocessor/10537317 | |||||
2024-05-14 | Map C23/C2X to /std:clatest starting from MSVC 17.9 (19.39) | Boris Kolpackov | 2 | -12/+20 | |
In particular, this option enables C23 typeof support. | |||||
2024-05-13 | Issue better diagnostics if standard library modules not supported | Boris Kolpackov | 1 | -142/+150 | |
2024-05-13 | Update std.cppm to Clang 18, add std.compat.cppm | Boris Kolpackov | 4 | -80/+1087 | |
Note that Clang 17 is not longer supported with regards to standard library modules. | |||||
2024-05-09 | Handle exception thrown by fdterm_color() | Boris Kolpackov | 1 | -1/+8 | |
2024-05-09 | Try to improve deadlock detection accuracy (GH issue 319) | Boris Kolpackov | 1 | -1/+11 | |
2024-05-09 | Fixes and tweaks to diagnostics color support on Windows (GH issue #312) | Boris Kolpackov | 2 | -20/+25 | |
Specifically: - Pass -fansi-escape-codes for Clang on Windows. - Enable diagnostics color by default if already enabled on the terminal. Only try to enable it ourselves with explicit --diag-color. | |||||
2024-05-06 | Switch from libpkg-config to version from libbutl | Boris Kolpackov | 3 | -6/+1 | |
2024-04-25 | Skip hidden filesystem entries when looking for subprojects | Boris Kolpackov | 2 | -3/+10 | |
2024-04-23 | Make sure ad hoc member is matched even if group match failed | Boris Kolpackov | 1 | -0/+13 | |
2024-04-22 | Fix uninitialized variable bug | Boris Kolpackov | 1 | -1/+1 | |
2024-04-12 | Add -s|--timeout-success option to env script builtin | Boris Kolpackov | 6 | -11/+34 | |
The semantics is equivalent to the --success option we already have in the timeout builtin. | |||||
2024-04-12 | Diagnose invalid directories specified on command line | Boris Kolpackov | 1 | -13/+34 | |
GitHub issue #376. | |||||
2024-04-11 | Diagnose empty paths in config.config.{load,save} | Boris Kolpackov | 2 | -3/+9 | |
GitHub issue #372. | |||||
2024-04-02 | Detect and diagnose attempt to create new target in src directory | Boris Kolpackov | 5 | -8/+47 | |
GitHub issue #277. | |||||
2024-04-01 | Add missing std::move() call | Boris Kolpackov | 1 | -1/+1 | |
2024-04-01 | Add $string.replace() function | Boris Kolpackov | 3 | -1/+178 | |
2024-04-01 | Add ~host-no-warnings and ~build2-no-warnings special configurations | Boris Kolpackov | 4 | -9/+106 | |
These are parallel to ~host and ~build2 but with suppressed C/C++ compiler warnings. Note also that the C++ ad hoc recipes are now by default built in ~build2-no-warnings instead of ~build2 unless the project is configured for development with config.<project>.develop=true. | |||||
2024-03-27 | Filter out config.bin.lib/config.bin.*.lib from ~host | Boris Kolpackov | 1 | -10/+22 | |
2024-03-21 | Improve import diagnostics | Boris Kolpackov | 1 | -0/+12 | |
2024-03-19 | Use new next_word() to observe blank lines for accurate line count | Boris Kolpackov | 1 | -2/+4 | |
2024-03-01 | Use original variable name in config report | Boris Kolpackov | 5 | -42/+130 | |
2024-02-26 | Add ability to serialize compilation/linking in cc rules | Boris Kolpackov | 6 | -8/+45 | |
Specifically, both the C/C++ compiler and link rules now recognize the cc.serialize boolean variable which instructs them to compiler/link serially with regards to any other recipe. This is primarily useful when compiling large translation units or linking large binaries that require so much memory that doing that in parallel with other compilation/linking jobs is likely to summon the OOM killer. For example: obj{memory-hog}: cc.serialize = true | |||||
2024-02-26 | Add ability to request serialization from scheduler | Boris Kolpackov | 8 | -31/+128 | |
In particular, this can be used to make sure no other recipe is being executed in parallel with the caller. | |||||
2024-02-22 | Diagnose instead of asserting lib{} group with no members | Boris Kolpackov | 1 | -1/+3 | |
Fixes GH issue #361. | |||||
2024-02-22 | Detect dependency cycles in *.export.libs | Boris Kolpackov | 1 | -0/+5 | |
Fixes GH issue #362. | |||||
2024-02-22 | Diagnose instead of asserting ad hoc group member not already existing | Boris Kolpackov | 1 | -21/+18 | |
Fixes GH issue #365. | |||||
2024-02-22 | Detect non-cc::link_rule libraries not marked with cc.type=cc | Boris Kolpackov | 2 | -6/+36 | |
Fixes GH issue #368. | |||||
2024-02-22 | Deal with libs{} being member of group in windows_rpath_timestamp() | Boris Kolpackov | 3 | -8/+20 | |
Fixes GH issue #366. | |||||
2024-02-21 | Fix issue with json null representation in containers | Boris Kolpackov | 3 | -5/+20 | |
2024-02-21 | Improve diagnostics | Boris Kolpackov | 2 | -1/+15 | |
2024-02-21 | Update list of buildfile value types in manual | Boris Kolpackov | 1 | -0/+9 | |
2024-02-20 | Add json_map and json_set buildfile value types | Boris Kolpackov | 10 | -98/+255 | |
These expose the std::map<json_value,json_value> and std::set<json_value> types to buildfiles. New functions: $size(<json-set>) $size(<json-map>) $keys(<json-map>) Note that the $keys() function returns the list of map key as a json array. For example: m = [json_map] 2@([json] a@1 b@2) 1@([json] 1 2) s = [json_set] ([json] x@1 y@2) ([json] a@1 b@2) print ($m[2][b]) # 2 print ($s[([json] y@2 x@1)]) # true | |||||
2024-02-20 | Make json value type prepend non-overriding for consistency with map | Boris Kolpackov | 4 | -15/+27 | |
2024-02-20 | Add custom subscript, iterate functions for vector and set value types | Boris Kolpackov | 6 | -9/+156 | |