Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2020-08-13 | Fix assertion failure in to_stream() for target key without extension | Karen Arutyunov | 1 | -2/+2 | |
Also fix a similar assertion. | |||||
2020-08-13 | Add few more run() overloads | Boris Kolpackov | 1 | -2/+17 | |
2020-08-12 | Adjust linker arguments for LTO parallelization | Matthew Krupcale | 1 | -0/+54 | |
GCC 10+ and Clang 4+ support controlling the number of LTO threads/jobs used during linking. Use the build2 scheduler to allocate up to the number of hardware threads to the GCC or Clang linker processes when -flto=auto or -flto=thin is specified, respectively. Otherwise, GCC or Clang will attempt to spawn the number of hardware threads detected for each linker process, which could result in up to n^2 linker threads on a CPU with n hardware threads. | |||||
2020-08-12 | Add iterator-based versions of find_option{,_prefix} | Matthew Krupcale | 2 | -3/+61 | |
This allows one to use all of the properties of iterators to manipulate the found option. | |||||
2020-08-12 | Add int64 and int64s variable types | Boris Kolpackov | 6 | -2/+118 | |
2020-08-11 | Add another variable_pool::insert() overload | Boris Kolpackov | 1 | -0/+9 | |
2020-08-10 | Fix bug scheduler::allocate/deallocate() | Boris Kolpackov | 1 | -2/+2 | |
2020-08-10 | Allow holes in group_view array | Boris Kolpackov | 4 | -13/+50 | |
2020-08-07 | Add ability to allocate additional active threads to current thread | Boris Kolpackov | 2 | -3/+102 | |
2020-08-06 | Double default task queue size | Boris Kolpackov | 1 | -1/+1 | |
Testing shows quite a lot of "full" conditions on low core count (e.g., 2) CPUs (such as Intel U-series). | |||||
2020-08-04 | Fix 'target.path() called out of scope' testscript error | Karen Arutyunov | 1 | -0/+7 | |
2020-08-03 | Fix buildscript diagnostics so diff output is always in unified format | Karen Arutyunov | 3 | -12/+70 | |
Also make sure diff refers program stdout as 'stdout' rather than '-' in the test rule diagnostics. | |||||
2020-07-23 | Escape quotes in .pc file values besides spaces and backslashes | Karen Arutyunov | 1 | -1/+1 | |
2020-07-21 | Change to version 0.14.0-a.0.z | Boris Kolpackov | 3 | -4/+4 | |
2020-07-18 | Release version 0.13.0v0.13.0 | Boris Kolpackov | 3 | -6/+6 | |
2020-07-18 | Work around Clang bug #45021 | Boris Kolpackov | 1 | -0/+10 | |
2020-07-18 | Minor fix in manual | Boris Kolpackov | 1 | -2/+2 | |
2020-07-18 | Add $regex.find_match() and $regex.find_search() functions | Karen Arutyunov | 3 | -0/+184 | |
2020-07-17 | Update submodules | Boris Kolpackov | 1 | -0/+0 | |
2020-07-17 | Fix race in path/mtime assignment and file_rule::match() | Boris Kolpackov | 7 | -30/+43 | |
2020-07-17 | Add optimized derive_path_with_extension(), use in file_rule | Boris Kolpackov | 4 | -14/+42 | |
2020-07-17 | Minor documentation updates | Boris Kolpackov | 2 | -4/+20 | |
2020-07-17 | Use -fexternc-nounwind by default for Clang targeting MSVC | Boris Kolpackov | 1 | -5/+27 | |
This option implements the 'c' part in /EHsc and is not a mere optimization; see Clang bug #45021 for details. | |||||
2020-07-16 | Tweak NEWS file some more | Boris Kolpackov | 1 | -5/+6 | |
2020-07-16 | Minor tweaks to NEWS file | Boris Kolpackov | 1 | -12/+14 | |
2020-07-16 | Save original compiler path/mode in {c,cxx}.config.path/mode | Boris Kolpackov | 10 | -13/+26 | |
It turns out that when propagating {c,cxx}.config in tests we don't want to propagate any options (such as *.std) that have been folded into our project's mode. | |||||
2020-07-16 | Documentation updates | Boris Kolpackov | 2 | -70/+98 | |
2020-07-14 | Fix Clang warning | Boris Kolpackov | 2 | -0/+4 | |
2020-07-14 | Update NEWS file | Boris Kolpackov | 1 | -0/+269 | |
2020-07-14 | Add another note on wildcards inside eval context | Boris Kolpackov | 1 | -3/+15 | |
2020-07-14 | Recognize `build2` as special module name in addition to `build` | Boris Kolpackov | 1 | -2/+2 | |
This is for consistency with version constraints in manifest. | |||||
2020-07-13 | Fix version check in using directive | Boris Kolpackov | 1 | -8/+9 | |
2020-07-13 | Document value subscripts | Boris Kolpackov | 1 | -3/+15 | |
2020-07-13 | Reserve backtick (`) and bit-or (|) in eval context for future use | Boris Kolpackov | 6 | -5/+25 | |
Specifically, they are reserved for future support of arithmetic evaluation contexts and evaluation pipelines, respectively. | |||||
2020-07-13 | Add ability to extend rule interface in source-compatible manner | Boris Kolpackov | 12 | -23/+68 | |
2020-07-13 | Fold translated *.std options into compiler mode options | Boris Kolpackov | 8 | -55/+35 | |
This way they are accessible in ad hoc recipes. | |||||
2020-07-12 | Rename rule-adhoc-* to adhoc-rule-* | Boris Kolpackov | 5 | -15/+15 | |
2020-07-12 | Cache subprojects variable value in scope::root_extra | Boris Kolpackov | 8 | -57/+61 | |
2020-07-10 | Fix bug | Boris Kolpackov | 1 | -1/+1 | |
2020-07-10 | Relax prerequisite filtering semantics of aliases for clean operation | Boris Kolpackov | 2 | -4/+7 | |
This is analogous to what has been done to test and install a couple of commits before. | |||||
2020-07-10 | Document ad hoc import and its usage in glue buildfiles | Boris Kolpackov | 1 | -11/+89 | |
If the target being imported has no project name and is either absolute or is a relative directory, then this is treated as ad hoc importation. Semantically it is similar to a normal import but with the location of the project being imported hard-coded into the buildfile. This type of import can be used to create a special "glue buildfile" that "pulls" together several projects, usually for convenience of development. One typical case that calls for such a glue buildfile is a multi-package project. To be able to invoke the build system driver directly in the project root, we can add a glue buildfile that imports and builds all the packages: import pkgs = */ ./: $pkgs See "Target Importation" in the manual for details. | |||||
2020-07-10 | Add support for project-local importation | Boris Kolpackov | 2 | -11/+47 | |
An import without a project name or with the same name as the importing project's is now treated as importation from the same project. For example, given the libhello project that exports the lib{hello} target, a buildfile for an executable in the same project instead of doing something like this: include ../libhello/ exe{hello}: ../libhello/lib{hello} Can now do this: import lib = libhello%lib{hello} Or: import lib = lib{hello} And then: exe{hello}: $lib Note that a target in project-local importation must still be exported in the project's export stub. In other words, project-local importation goes through the same mechanisms as normal import. | |||||
2020-07-10 | Tweak rule names | Boris Kolpackov | 3 | -3/+4 | |
2020-07-09 | Make sure update-for-{test,install} works for files out of any project | Boris Kolpackov | 2 | -2/+18 | |
2020-07-09 | Relax prerequisite filtering semantics of aliases in test and install rules | Boris Kolpackov | 3 | -5/+11 | |
2020-07-09 | Load test and install modules implicitly for simple projects | Boris Kolpackov | 1 | -0/+10 | |
While these can be useful on their own, this also makes the test and install operations available in simple projects, which is handy for "glue" projects that "pull" (using ad hoc import) a bunch of other projects. | |||||
2020-07-09 | Add support for ad hoc importation | Boris Kolpackov | 8 | -241/+438 | |
2020-07-09 | Get rid of no longer needed friend | Boris Kolpackov | 1 | -4/+0 | |
2020-07-08 | Fix bug in switch_scope() | Boris Kolpackov | 1 | -1/+1 | |
2020-07-07 | Make sure paths used to insert target are canonicalized | Boris Kolpackov | 1 | -3/+9 | |