aboutsummaryrefslogtreecommitdiff
path: root/libbuild2
AgeCommit message (Collapse)AuthorFilesLines
2020-04-13Add ../share/pkgconfig/ search directory by default on LinuxBoris Kolpackov2-10/+20
2020-04-11Pass LC_ALL=C when extracting locale-dependent information in bin module on ↵Karen Arutyunov2-10/+50
POSIX
2020-04-08Allow configuration variables in unnamed projectsBoris Kolpackov2-13/+40
While generally a bad idea, there are valid situations where this may happen, such as a standalone build of the tests subproject in test-installed.
2020-04-08Document project-specific configuration supportBoris Kolpackov2-2/+3
2020-04-07Pass LC_ALL=C when extracting locale-dependent information on POSIXBoris Kolpackov5-26/+117
2020-04-03Tweak ~host configuration extraction regexBoris Kolpackov1-4/+6
2020-04-03Skip unmatched lines in $regex.replace_lines() if format_no_copy flag is ↵Karen Arutyunov1-3/+5
specified
2020-04-02Fix ~host config to only contain cc and bin modules configurationBoris Kolpackov5-14/+31
Also add ~build2 that contains everything (except config.dist.*) to be used for build system modules.
2020-03-31Tweak variable patterns not to break overridesBoris Kolpackov1-29/+32
2020-03-31Fix bug in install_path() call (Windows-specific)Boris Kolpackov1-2/+6
2020-03-31Handle duplicate config directives for same variableBoris Kolpackov2-2/+20
2020-03-31Use find instead of insert for variable lookup in install_{path,mode}()Boris Kolpackov1-2/+4
2020-03-31Switch to project variable visibility by defaultBoris Kolpackov19-248/+289
2020-03-27Fix bug in previous commitBoris Kolpackov1-2/+2
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