aboutsummaryrefslogtreecommitdiff
path: root/libbuild2
AgeCommit message (Collapse)AuthorFilesLines
2023-04-04Remove global override restriction from config.install.filterBoris Kolpackov7-403/+355
2023-04-04Add support for installation filtering (GH issue #147)Boris Kolpackov9-66/+524
2023-04-03Add authz.lib to Windows system library listBoris Kolpackov1-0/+1
2023-03-30Add comdlg32.lib to list of system Windows librariesBoris Kolpackov1-0/+1
2023-03-29Specify potential future extensions to install manifest formatBoris Kolpackov1-0/+3
2023-03-24Document relocatable installation supportBoris Kolpackov1-5/+5
2023-03-24Add support for generating relocatable pkg-config filesBoris Kolpackov1-10/+133
2023-03-23Add support for relocatable installation in $install.resolve()Boris Kolpackov4-14/+104
2023-03-23Add support for relocatable installation manifestBoris Kolpackov6-42/+116
2023-03-22Initial work on relocatable install: config.install.relocatable and rpathBoris Kolpackov3-4/+92
2023-03-20Regenerate options parsing filesKaren Arutyunov4-0/+210
2023-03-17Tweak/add few commentsBoris Kolpackov1-2/+4
2023-03-08Fix uninitialized variable bugBoris Kolpackov1-1/+1
2023-03-08Disambiguate operator<<(ostream,path_name_view) callBoris Kolpackov3-7/+7
This helps, for example, in bpkg where we "see" two version of this operator.
2023-03-07Add new include_arch/config.install.include_arch installation locationBoris Kolpackov1-35/+37
It is mean for target architecture-specific headers.
2023-03-02Replace deprecated std::aligned_storage with alignasBoris Kolpackov5-18/+21
Based on patch by Matthew Krupcale.
2023-03-02Adapt to interface changes in libpkgconf 1.9Boris Kolpackov1-0/+7
Patch by Matthew Krupcale.
2023-03-01Add support for installation manifestBoris Kolpackov14-48/+604
2023-02-22Set explicit 755 install mode for exe{} targetsBoris Kolpackov1-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-20Fix raw string literal lexing bug in cc:lexer (GH issue #268)Boris Kolpackov2-3/+5
2023-02-13Deduplicate -I and -L options extracted from pkg-config files (GH issue #265)Boris Kolpackov1-43/+81
2023-02-02Complete and normalize --default-options pathBoris Kolpackov1-0/+17
2023-01-31Minor improvement to diagnosticsBoris Kolpackov1-2/+6
2023-01-27Add clarifying commentBoris Kolpackov1-0/+2
2023-01-24Add std::back_inserter() to utility.hxxBoris Kolpackov1-1/+2
2023-01-09Fix simple and script tests to correctly terminate processes which don't ↵Karen Arutyunov2-48/+299
close stderr on exit
2022-12-19Disable `)` escaping in buildspec, command line variable overridesBoris Kolpackov2-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-19Disable line continuation in buildspec, command line variable overridesBoris Kolpackov2-8/+11
Line continuations would make directory paths on Windows unusable, for example: b C:\myproj\
2022-12-19Restore newline escaping (line continuations) in double-quoted stringsBoris Kolpackov3-9/+11
Also make effective escaping in buildspec and command line variable overrides consistent with double-quoted strings.
2022-12-15Add $regex.filter[_out]_{match,search}() functionsKaren Arutyunov1-67/+206
2022-12-15Add noexcept to move constructors and move assignment operatorsKaren Arutyunov18-51/+73
2022-12-15Improve escape sequence supportBoris Kolpackov7-172/+274
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-14Improve empty simple value to empty list of names reduction heuristicsBoris Kolpackov18-67/+136
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-14Handle NULL values in $string() and $concat() functionsBoris Kolpackov8-19/+82
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-13Add format_copy_empty flag to $regex.{split,merge,apply}()Boris Kolpackov1-20/+54
2022-12-13Return all subexpressions in $regex.{match,search}(), not only matchedBoris Kolpackov1-8/+2
The old semantics was unusable for optional groups (e.g., `(...)?`).
2022-12-13Fix linking failure on WindowsKaren Arutyunov1-1/+1
2022-12-12Adapt to dir_iterator API changeKaren Arutyunov10-17/+99
2022-12-12Add no_subprojects parameter to info meta-operationBoris Kolpackov3-20/+77
2022-12-09Enable diagnostics color in GCC and ClangBoris Kolpackov4-2/+80
2022-12-09Handle file opening error in config.config.loadBoris Kolpackov1-2/+9
2022-12-09Normalize target's out directory in cc::insert_library()Boris Kolpackov1-7/+8
2022-12-08Normalize extracted header/library search directories (GH issue #235)Boris Kolpackov8-21/+60
2022-12-08Add --[no]diag-color options (infrastructure only)Boris Kolpackov10-13/+152
2022-12-07Fix incorrect process_path::effect accessBoris Kolpackov1-1/+1
2022-12-07Use effective rather than recall path for cache keyBoris Kolpackov1-1/+1
2022-12-07Fix bug in MSVC library_type() implementation (GH issue #235)Boris Kolpackov1-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-07Add MSVC library type cachingBoris Kolpackov1-9/+24
2022-12-07List dnsapi, msimg32 as Windows system librariesBoris Kolpackov1-2/+4
2022-12-06Handle bin.whole when specified for interface dependenciesBoris Kolpackov2-11/+29