Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2020-05-27 | Initial support for ad hoc recipes (still work in progress) | Boris Kolpackov | 4 | -37/+20 | |
2020-05-22 | Fix bug in previous commit | Boris Kolpackov | 1 | -1/+1 | |
2020-05-22 | Make template definition available in all translation units where used | Boris Kolpackov | 3 | -28/+38 | |
We were trying to be clever but GCC 10's IPA-SRA optimization didn't like it. | |||||
2020-04-30 | Rename target::member to target::adhoc_member | Boris Kolpackov | 2 | -2/+2 | |
2020-04-27 | Rework tool importation along with cli module | Boris Kolpackov | 4 | -22/+10 | |
Specifically, now config.<tool> (like config.cli) is handled by the import machinery (it is like a shorter alias for config.import.<tool>.<tool>.exe that we already had). And the cli module now uses that instead of custom logic. This also adds support for uniform tool metadata extraction that is handled by the import machinery. As a result, a tool that follows the "build2 way" can be imported with metadata by the buildfile and/or corresponding module without any tool-specific code or brittleness associated with parsing --version or similar outputs. See the cli tool/module for details. Finally, two new flavors of the import directive are now supported: import! triggers immediate importation skipping any rule-specific logic while import? is optional import (analogous to using?). Note that optional import is always immediate. There is also the import-specific metadata attribute which can be specified for these two import flavors in order to trigger metadata importation. For example: import? [metadata] cli = cli%exe{cli} if ($cli != [null]) info "cli version $($cli:cli.version)" | |||||
2020-04-13 | Add ../share/pkgconfig/ search directory by default on Linux | Boris Kolpackov | 2 | -10/+20 | |
2020-04-11 | Pass LC_ALL=C when extracting locale-dependent information in bin module on ↵ | Karen Arutyunov | 1 | -1/+0 | |
POSIX | |||||
2020-04-07 | Pass LC_ALL=C when extracting locale-dependent information on POSIX | Boris Kolpackov | 2 | -19/+68 | |
2020-04-02 | Fix ~host config to only contain cc and bin modules configuration | Boris Kolpackov | 1 | -1/+1 | |
Also add ~build2 that contains everything (except config.dist.*) to be used for build system modules. | |||||
2020-03-31 | Switch to project variable visibility by default | Boris Kolpackov | 2 | -15/+18 | |
2020-03-20 | Generate common .pc file in addition to static/staged when installing lib{} | Boris Kolpackov | 6 | -26/+88 | |
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-17 | Rename all find*(variable) to lookup*(variable) | Boris Kolpackov | 1 | -6/+6 | |
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-17 | Rework config::{omitted,required,optional}() into unified config_lookup() | Boris Kolpackov | 4 | -35/+40 | |
2020-03-13 | Cleanup and make config/utility.?xx part of build system core | Boris Kolpackov | 1 | -4/+2 | |
2020-03-11 | Minor config variable lookup cleanups | Boris Kolpackov | 1 | -5/+16 | |
2020-03-10 | Force hard links inside backlinked DLL assembly directory | Boris Kolpackov | 1 | -1/+2 | |
Windows does not allow the manifest file inside to be a symlink for some (probably security) reasons. | |||||
2020-02-28 | Add .gitattributes file | Karen Arutyunov | 1 | -1062/+1062 | |
2020-02-27 | Minor code clanup | Boris Kolpackov | 1 | -5/+4 | |
2020-02-27 | Fix .pc files-based static linkage failing on macos | Karen Arutyunov | 1 | -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-26 | Adapt to adding validator to butl::char_scanner | Karen Arutyunov | 2 | -22/+32 | |
2020-02-24 | Work around bug in Clang 10 targeting MSVC in c++2a (LLVM bug #44956) | Boris Kolpackov | 2 | -2/+5 | |
2020-02-24 | Disable /WHOLEARCHIVE workaround for lld-link 9.0.1 and later | Boris Kolpackov | 1 | -9/+16 | |
2020-02-18 | New LICENSE/AUTHORS arrangement | Boris Kolpackov | 1 | -0/+3 | |
2020-02-12 | Defer failure to compiler diagnostics even if not in "keep going" mode | Boris Kolpackov | 1 | -3/+6 | |
2020-02-12 | Add convenience run_start() overload | Boris Kolpackov | 2 | -3/+3 | |
2020-02-11 | Instrument unassigned source path case in cc::compile_rule | Boris Kolpackov | 1 | -1/+12 | |
2020-02-11 | Add match_only flag to context | Boris Kolpackov | 1 | -2/+2 | |
2020-02-11 | Defer unknown header failure to compiler diagnostics | Boris Kolpackov | 2 | -81/+192 | |
2020-02-10 | Make no-target/no-rule header dependency extraction diagnostics consistent | Boris Kolpackov | 1 | -9/+26 | |
2020-02-07 | Drop copyright notice from source code | Karen Arutyunov | 41 | -41/+0 | |
2020-02-06 | Add -l<name> resolution exclusions for Windows Platform SDK libraries | Boris Kolpackov | 1 | -29/+77 | |
2020-02-04 | Add note to manual on specifying search paths in compiler mode | Boris Kolpackov | 2 | -1/+5 | |
2020-02-03 | Fix bug in sys_*_dirs commit | Boris Kolpackov | 1 | -1/+1 | |
2020-02-03 | Exclude -lexecinfo from resolution | Boris Kolpackov | 1 | -0/+5 | |
2020-02-03 | Add header/library search paths from compiler mode to sys_*_dirs | Boris Kolpackov | 10 | -193/+352 | |
2020-01-31 | Propagate installed library out (tag) when converting to name | Boris Kolpackov | 3 | -13/+31 | |
2020-01-31 | Use -l representation of library names in pkg-config files for MSVC | Boris Kolpackov | 1 | -5/+38 | |
Passing it as foo.lib triggers some (brain-dead) fragmentation logic in libpkgconf. Also, a C library built with MSVC can be used in MinGW (and vice versa) and so this is also a step in supporting that. | |||||
2020-01-31 | Tag installed library targets with linker path | Boris Kolpackov | 3 | -24/+34 | |
This makes sure we get different targets for different toolchains. | |||||
2020-01-29 | Rename module_base to module, redo module boot/init argument passing | Boris Kolpackov | 2 | -18/+14 | |
2020-01-28 | Use scope::var_pool() | Boris Kolpackov | 2 | -28/+28 | |
2020-01-27 | Protect cc guess cache with mutex | Boris Kolpackov | 1 | -1/+12 | |
2020-01-27 | Improve module loading API | Boris Kolpackov | 2 | -36/+17 | |
2020-01-27 | Improve process run_*() API | Boris Kolpackov | 4 | -8/+14 | |
2020-01-27 | Add corner case check in const.{c,cxx} array splitting | Boris Kolpackov | 1 | -8/+11 | |
2020-01-27 | Minor cleanup | Boris Kolpackov | 1 | -15/+1 | |
2020-01-24 | Don't pass dependency library non-export loptions to linker | Karen Arutyunov | 1 | -2/+10 | |
2019-11-29 | Reorder {cc,c/cxx}.{poptions,loptions} | Boris Kolpackov | 5 | -12/+23 | |
Now it is c/cxx first followed by cc which is the reverse order of coptions since the header/library search paths are examined in the order specified (in contrast to the "last value wins" semantics that we assume for coptions). | |||||
2019-11-26 | Rename executable's .lib/.exp to avoid clashes with libraries | Boris Kolpackov | 2 | -32/+44 | |
Failed that we cannot have an executable and a library with the same name and in the same directory (their .lib's will clash). | |||||
2019-11-18 | Add couple of sanity checks | Boris Kolpackov | 1 | -3/+8 | |
2019-11-15 | Use path_name_view in location and path_name_value in location_value | Karen Arutyunov | 1 | -2/+2 | |