aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-04-06Draft 2Boris Kolpackov3-15/+170
2020-04-04Draft 1Boris Kolpackov1-18/+523
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 Arutyunov2-3/+25
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 Kolpackov3-3/+29
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 Kolpackov21-256/+295
2020-03-30Regenerate options parsing codeBoris Kolpackov2-6/+55
2020-03-27Fix bug in previous commitBoris Kolpackov1-2/+2
2020-03-27Implement project configuration reporting, similar to build system modulesBoris Kolpackov7-100/+368
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 Kolpackov5-7/+310
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-17Adapt testscripts to ln builtin target path completion fixKaren Arutyunov4-6/+7
2020-03-17Add $defined(<variable>) functionBoris Kolpackov4-33/+52
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 Kolpackov15-256/+422
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 Kolpackov8-57/+69
2020-03-11Optimize testscripts not to search for subprojectsKaren Arutyunov4-0/+5
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-09Document UTF-8 encoding for buildfiles and testscriptsBoris Kolpackov2-1/+8
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-05Don't mention CONTRIBUTING.md in buildfileKaren Arutyunov2-4/+4
2020-03-04Fix bug in config.config.persist logicBoris Kolpackov2-2/+10
2020-02-28Add .gitattributes fileKaren Arutyunov2-1062/+1081
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.