Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2023-03-02 | Replace deprecated std::aligned_storage with alignas | Boris Kolpackov | 5 | -18/+21 | |
Based on patch by Matthew Krupcale. | |||||
2023-03-02 | Adapt to interface changes in libpkgconf 1.9 | Boris Kolpackov | 1 | -0/+7 | |
Patch by Matthew Krupcale. | |||||
2023-03-01 | Add support for installation manifest | Boris Kolpackov | 15 | -52/+664 | |
2023-02-22 | Set explicit 755 install mode for exe{} targets | Boris Kolpackov | 1 | -0/+5 | |
This helps cases where an executable gets installed somewhere else where the default is not 755 (for example to libexec/, which on Debian has the 644 mode). | |||||
2023-02-20 | Fix raw string literal lexing bug in cc:lexer (GH issue #268) | Boris Kolpackov | 2 | -3/+5 | |
2023-02-13 | Deduplicate -I and -L options extracted from pkg-config files (GH issue #265) | Boris Kolpackov | 1 | -43/+81 | |
2023-02-02 | Complete and normalize --default-options path | Boris Kolpackov | 1 | -0/+17 | |
2023-01-31 | Minor improvement to diagnostics | Boris Kolpackov | 1 | -2/+6 | |
2023-01-27 | Add clarifying comment | Boris Kolpackov | 1 | -0/+2 | |
2023-01-24 | Add std::back_inserter() to utility.hxx | Boris Kolpackov | 1 | -1/+2 | |
2023-01-09 | Update copyright | Karen Arutyunov | 1 | -1/+1 | |
2023-01-09 | Fix simple and script tests to correctly terminate processes which don't ↵ | Karen Arutyunov | 3 | -49/+303 | |
close stderr on exit | |||||
2022-12-19 | Disable `)` escaping in buildspec, command line variable overrides | Boris Kolpackov | 2 | -11/+10 | |
Similar to line continuations, that would make directory paths on Windows unusable, for example: b info(C:\myproj\) Note that while this is less of a problem in command line variable overrides, we disable it there for consistency. | |||||
2022-12-19 | Disable line continuation in buildspec, command line variable overrides | Boris Kolpackov | 2 | -8/+11 | |
Line continuations would make directory paths on Windows unusable, for example: b C:\myproj\ | |||||
2022-12-19 | Fix clash of info variables in main() | Boris Kolpackov | 1 | -7/+7 | |
2022-12-19 | Restore newline escaping (line continuations) in double-quoted strings | Boris Kolpackov | 3 | -9/+11 | |
Also make effective escaping in buildspec and command line variable overrides consistent with double-quoted strings. | |||||
2022-12-15 | Add $regex.filter[_out]_{match,search}() functions | Karen Arutyunov | 2 | -67/+322 | |
2022-12-15 | Add noexcept to move constructors and move assignment operators | Karen Arutyunov | 18 | -51/+73 | |
2022-12-15 | Improve escape sequence support | Boris Kolpackov | 8 | -172/+291 | |
Specifically: 1. In the double-quoted strings we now only do effective escaping of the special `$("\` characters plus `)` for symmetry. 2. There is now support for "escape sequence expansion" in the form $\X where \X can be any of the C/C++ simple escape sequences (\n, \t, etc) plus \0 (which in C/C++ is an octal escape sequence). For example: info "foo$\n$\tbar$\n$\tbaz" Will print: buildfile:1:1: info: foo bar baz | |||||
2022-12-14 | Improve empty simple value to empty list of names reduction heuristics | Boris Kolpackov | 19 | -67/+191 | |
Specifically, do not reduce typed RHS empty simple values for prepend/append and additionally for assignment provided LHS is typed and is a container. | |||||
2022-12-14 | Handle NULL values in $string() and $concat() functions | Boris Kolpackov | 9 | -19/+124 | |
This is relied upon by the parser to provide conversion/concatenation semantics consistent with untyped values. Note that we handle NULL values only for types that have empty representation. | |||||
2022-12-13 | Add format_copy_empty flag to $regex.{split,merge,apply}() | Boris Kolpackov | 1 | -20/+54 | |
2022-12-13 | Return all subexpressions in $regex.{match,search}(), not only matched | Boris Kolpackov | 1 | -8/+2 | |
The old semantics was unusable for optional groups (e.g., `(...)?`). | |||||
2022-12-13 | Fix linking failure on Windows | Karen Arutyunov | 1 | -1/+1 | |
2022-12-12 | Adapt to dir_iterator API change | Karen Arutyunov | 10 | -17/+99 | |
2022-12-12 | Add no_subprojects parameter to info meta-operation | Boris Kolpackov | 4 | -28/+90 | |
2022-12-09 | Enable diagnostics color in GCC and Clang | Boris Kolpackov | 4 | -2/+80 | |
2022-12-09 | Handle file opening error in config.config.load | Boris Kolpackov | 1 | -2/+9 | |
2022-12-09 | Normalize target's out directory in cc::insert_library() | Boris Kolpackov | 1 | -7/+8 | |
2022-12-08 | Normalize extracted header/library search directories (GH issue #235) | Boris Kolpackov | 8 | -21/+60 | |
2022-12-08 | Add --[no]diag-color options (infrastructure only) | Boris Kolpackov | 11 | -13/+153 | |
2022-12-07 | Fix incorrect process_path::effect access | Boris Kolpackov | 1 | -1/+1 | |
2022-12-07 | Use effective rather than recall path for cache key | Boris Kolpackov | 1 | -1/+1 | |
2022-12-07 | Fix bug in MSVC library_type() implementation (GH issue #235) | Boris Kolpackov | 1 | -4/+1 | |
It looks like the implementation was botched a bit when switching from link.exe /DUMP /ARCHIVEMEMBERS to link.exe /LIB /LIST. | |||||
2022-12-07 | Add MSVC library type caching | Boris Kolpackov | 1 | -9/+24 | |
2022-12-07 | List dnsapi, msimg32 as Windows system libraries | Boris Kolpackov | 1 | -2/+4 | |
2022-12-06 | Handle bin.whole when specified for interface dependencies | Boris Kolpackov | 2 | -11/+29 | |
2022-12-05 | Skip common .pc file for binless if found but rejected binful (GH issues #235) | Boris Kolpackov | 3 | -26/+80 | |
2022-12-05 | List windowscodecs as Windows system library | Boris Kolpackov | 1 | -0/+1 | |
2022-12-05 | Add missing colon in intro-unit-test | William Roy | 1 | -1/+1 | |
2022-12-05 | Filter out sanitizer options from ~host configuration | Boris Kolpackov | 1 | -29/+51 | |
We run the toolchain with various sanitizers on CI but sanitizers cause issues in some packages. | |||||
2022-12-02 | Fail if scope or target qualification in variable expansion is unknown | Boris Kolpackov | 7 | -30/+103 | |
There are three options here: we can "fall through" to an outer scope (there is always the global scope backstop; this is the old semantics, sort of), we can return NULL straight away, or we can fail. It feels like in most cases unknown scope or target is a mistake and doing anything other than failing is just making things harder to debug. | |||||
2022-12-01 | Fix corner case in distributing via obj{}, libul{} groups | Boris Kolpackov | 4 | -3/+102 | |
2022-12-01 | Make dist::rule reusable as base | Boris Kolpackov | 6 | -38/+41 | |
2022-11-30 | Diagnose absence of import library after link.exe invocation (GH issue #231) | Boris Kolpackov | 1 | -7/+22 | |
If a library does not export any symbols then link.exe skips creating the import library. | |||||
2022-11-30 | Reserve targets, variables to avoid rehashing | Boris Kolpackov | 7 | -0/+92 | |
2022-11-30 | Deal with order dependence in dist rule | Boris Kolpackov | 6 | -60/+191 | |
2022-11-29 | Move buildfiles to root_extra, use vector instead of unordered_set | Boris Kolpackov | 4 | -14/+27 | |
2022-11-29 | Use list instead of unordered_set in regex line_pool | Boris Kolpackov | 2 | -4/+22 | |
2022-11-29 | Improve diagnostics for value subscript out of evaluation context | Boris Kolpackov | 1 | -2/+21 | |