aboutsummaryrefslogtreecommitdiff
path: root/libbuild2
AgeCommit message (Collapse)AuthorFilesLines
2020-03-27Implement project configuration reporting, similar to build system modulesBoris Kolpackov6-100/+304
2020-03-27Share parser for loading root.build and pre/post hooksBoris Kolpackov1-25/+43
2020-03-26Make buildfile parser reset'ableBoris Kolpackov2-21/+55
Note that the testscript parser (which derives from the buildfile parser) is (still) not reset'able (this functionality is currently not needed so why complicate things).
2020-03-25Enforce config directives only appearing in project's root.buildBoris Kolpackov3-39/+54
2020-03-25Diagnose unnamed project in version moduleBoris Kolpackov1-3/+6
2020-03-20Generate common .pc file in addition to static/staged when installing lib{}Boris Kolpackov8-27/+90
The common .pc file is produced by ignoring any static/shared-specific poptions and splitting loptions/libs into Libs/Libs.private. It is "best effort", in a sense that it's not guaranteed to be sufficient in all cases, but it will probably cover the majority of cases, even on Windows, thanks to automatic dllimport'ing of functions.
2020-03-20Don't install ad hoc members with nonexistent timestampBoris Kolpackov1-3/+3
2020-03-20Initial implementation of config directive for project-specific configurationBoris Kolpackov3-7/+144
2020-03-20Lexer support for default value assignment (?=)Boris Kolpackov5-6/+65
Note: not yet supported in the parser.
2020-03-20Don't install ad hoc members with unassigned pathsBoris Kolpackov1-8/+23
2020-03-20Tighten add_adhoc_member() against racesBoris Kolpackov1-14/+17
2020-03-20Add ability to query whether target has been matched for actionBoris Kolpackov2-3/+26
2020-03-19Tweak lookup_config() semantics some moreBoris Kolpackov6-26/+82
2020-03-18Cleanup variable type/visibility/overridability logicBoris Kolpackov3-65/+89
2020-03-18Pattern-type config.** variables with global visibility by defaultBoris Kolpackov3-56/+62
2020-03-18Fix variable pattern merging logicBoris Kolpackov1-12/+31
2020-03-18Add $visibility(<variable>) function for querying variable visibilityBoris Kolpackov3-11/+32
2020-03-18Get rid of old and unused logicBoris Kolpackov1-30/+5
2020-03-17Adapt install_l() to mkanylink() semantics changeKaren Arutyunov1-8/+1
Now mkanylink() always interprets a relative target from the link directory.
2020-03-17Fix backlinking code to follow symlinks in hardlink targetsBoris Kolpackov1-2/+11
2020-03-17Add $defined(<variable>) functionBoris Kolpackov3-31/+35
2020-03-17Rename all find*(variable) to lookup*(variable)Boris Kolpackov19-146/+156
Now we consistently use term "lookup" for variable value lookup. At some point we should also rename type lookup to binding and get rid of all the lookup_type aliases.
2020-03-17Rework config::{omitted,required,optional}() into unified config_lookup()Boris Kolpackov14-237/+402
2020-03-13Cleanup and make config/utility.?xx part of build system coreBoris Kolpackov13-257/+289
2020-03-12Minor comment improvementsBoris Kolpackov2-2/+2
2020-03-11Minor config variable lookup cleanupsBoris Kolpackov7-54/+66
2020-03-10Force hard links inside backlinked DLL assembly directoryBoris Kolpackov2-4/+7
Windows does not allow the manifest file inside to be a symlink for some (probably security) reasons.
2020-03-06Restrict buildfiles and testscripts with only Unicode graphic characters, ↵Karen Arutyunov1-4/+9
'\t', '\r', and '\n'
2020-03-05Use utf8_validator for buildfile and testscript lexersKaren Arutyunov1-2/+5
2020-03-04Fix bug in config.config.persist logicBoris Kolpackov2-2/+10
2020-02-28Add .gitattributes fileKaren Arutyunov1-1062/+1062
2020-02-27Minor code clanupBoris Kolpackov1-5/+4
2020-02-27Revert recent Clang optimization bug workaround as it doesn't helpKaren Arutyunov1-7/+3
2020-02-27Fix .pc files-based static linkage failing on macosKaren Arutyunov1-0/+9
Note that this is achieved by using the PKGCONF_PKG_PKGF_DONT_MERGE_SPECIAL_FRAGMENTS that we invented in the libpkgconf library.
2020-02-26Try to work around Clang optimization bugKaren Arutyunov1-3/+7
2020-02-26Adapt to adding validator to butl::char_scannerKaren Arutyunov3-24/+34
2020-02-24Work around bug in Clang 10 targeting MSVC in c++2a (LLVM bug #44956)Boris Kolpackov4-8/+34
2020-02-24Disable /WHOLEARCHIVE workaround for lld-link 9.0.1 and laterBoris Kolpackov1-9/+16
2020-02-24Extract version for lld-linkBoris Kolpackov3-8/+52
2020-02-21Define __cpp_modules=201810 (merged modules) for MSVC 16.4Boris Kolpackov1-8/+11
2020-02-18New LICENSE/AUTHORS arrangementBoris Kolpackov1-0/+3
2020-02-12Adapt to renaming butl::fdnull() to fdopen_null()Karen Arutyunov3-5/+5
2020-02-12Add builtins support for $process.run*() functionsKaren Arutyunov5-133/+340
2020-02-12Defer failure to compiler diagnostics even if not in "keep going" modeBoris Kolpackov1-3/+6
2020-02-12Add convenience run_start() overloadBoris Kolpackov5-6/+31
2020-02-11Instrument unassigned source path case in cc::compile_ruleBoris Kolpackov1-1/+12
2020-02-11Add match_only flag to contextBoris Kolpackov5-43/+54
2020-02-11Defer unknown header failure to compiler diagnosticsBoris Kolpackov2-81/+192
2020-02-10Make no-target/no-rule header dependency extraction diagnostics consistentBoris Kolpackov1-9/+26
2020-02-07Drop copyright notice from source codeKaren Arutyunov268-268/+0