Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-07-07 | Fix incorrect function family assignment for $target.process_path() | Boris Kolpackov | 1 | -1/+1 | |
2022-07-05 | Drop unused lambda capture | Boris Kolpackov | 1 | -2/+1 | |
2022-07-05 | Switch to using libpkg-config instead of libpkgconf by default | Boris Kolpackov | 6 | -9/+286 | |
The use of (now deprecated) libpkgconf is still possible by setting config.build2.libpkgconf to true. Note that libpkgconf is known to have issues on Windows and Mac OS so this should only be used on Linux and maybe BSDs. Also note that we will only keep this until upstream (again) breaks backwards compatibility at which point we will drop this support. | |||||
2022-07-05 | Recognize special .for_install variable suffix in library user metadata | Boris Kolpackov | 2 | -26/+95 | |
2022-07-04 | Work around VC16 issue | Boris Kolpackov | 1 | -0/+2 | |
2022-07-04 | Factor libpkgconf-based pkgconfig implementation to separate source file | Boris Kolpackov | 3 | -461/+499 | |
2022-07-02 | Minor cleanups in class pkgconf implementation | Boris Kolpackov | 1 | -22/+32 | |
2022-07-02 | Add note on version we save in pkg-config files | Boris Kolpackov | 1 | -0/+14 | |
2022-07-01 | Regenerate options parsing files | Karen Arutyunov | 4 | -47/+162 | |
2022-07-01 | Ignore Provides when loading pkg-config information | Boris Kolpackov | 1 | -0/+1 | |
Without this flag, on encountering an unknown package, libpkgconf will load *all* pkg-config files it can find in order to see if any of them provide it. | |||||
2022-06-29 | Work around MSVC 14.3 issues | Boris Kolpackov | 2 | -3/+3 | |
2022-06-29 | Make sure we generate common pkg-config file for only liba{}/libs{} | Boris Kolpackov | 5 | -8/+44 | |
2022-06-29 | Save cc.type in pkg-config files | Boris Kolpackov | 2 | -5/+30 | |
2022-06-29 | Rework pkg-config variable naming, use build2.metadata as general indicator | Boris Kolpackov | 3 | -183/+233 | |
2022-06-28 | Complete support for saving/loading library metadata to/from pkg-config files | Boris Kolpackov | 5 | -167/+308 | |
2022-06-28 | Add support for querying out-qualified target-specific variables | Boris Kolpackov | 9 | -43/+79 | |
2022-06-28 | Handle out-qualified prerequisites | Boris Kolpackov | 1 | -6/+20 | |
2022-06-28 | Add support for rule-specific import phase 2 | Boris Kolpackov | 6 | -41/+184 | |
For example: import! [metadata, rule_hint=cxx.link] lib = libhello%lib{hello} | |||||
2022-06-24 | Allow ad hoc rules not to list targets that are updated during match | Boris Kolpackov | 10 | -37/+136 | |
For example, this allows a Qt moc rule not to list generated headers from libQtCore since they are pre-generated by the library. | |||||
2022-06-24 | Make libul{} rule match without hint | Boris Kolpackov | 3 | -31/+11 | |
In the end, the extra jumping through the hoops doesn't justify the extra safety we gain. The only plausible accidental mistake is making libul{} a dependency of ./ but then we don't prevent the same for libue{}, which also doesn't make much sense. Though, the consequences of doing this for libul{} could be more severe, like messed up for-install'ness. Oh, well, I guess people will just have to pay attention (this could be a good check for the linter we've been thinking about). | |||||
2022-06-24 | Add ability to control -I translation in $x.lib_poptions() | Boris Kolpackov | 3 | -11/+22 | |
2022-06-24 | Add ability to get common interface options via $x.lib_poptions() | Boris Kolpackov | 8 | -66/+169 | |
Specifically, the output target type may now be omitted for utility libraries (libul{} and libu[eas]{}). In this case, only "common interface" options will be returned for lib{} dependencies. This is primarily useful for obtaining poptions to be passed to tools other than C/C++ compilers (for example, Qt moc). | |||||
2022-06-24 | Match rule to libul{} with explicit bin.metadata hint | Boris Kolpackov | 5 | -11/+110 | |
This rule picks, matches, and unmatches (if possible) a member for the purpose of making its metadata (for example, library's poptions, if it's one of the cc libraries) available. | |||||
2022-06-24 | Match libraries before update for install prerequisites in cc::link_rule | Boris Kolpackov | 1 | -4/+11 | |
2022-06-23 | Handle empty entries in GCC -print-search-dirs | Boris Kolpackov | 1 | -7/+12 | |
2022-06-23 | Minor enhancements to algorithms | Boris Kolpackov | 3 | -20/+82 | |
2022-06-22 | Add missing match_data() destructor | Boris Kolpackov | 1 | -0/+5 | |
2022-06-21 | Add --trace-{match,execute} options | Boris Kolpackov | 16 | -109/+449 | |
These options can be used to understand which dependency chain causes matching or execution of a particular target. | |||||
2022-06-17 | Add ability to ignore subprojects in create_bootstrap_outer() | Boris Kolpackov | 3 | -6/+7 | |
2022-06-14 | Add note to parser::lookup_variable() description | Boris Kolpackov | 1 | -0/+4 | |
2022-06-14 | Tighten value::extra usage in config module | Boris Kolpackov | 4 | -5/+10 | |
Specifically, only values marked with 1 are treated as default leaving other values for use for other purposes. | |||||
2022-06-06 | Add another config::origin() overload | Boris Kolpackov | 2 | -2/+15 | |
2022-06-03 | Reset value::extra on variable_map value change/version increment | Boris Kolpackov | 5 | -7/+25 | |
The reset on each modification semantics is used to implement the default value distinction as currently done in the config module but later probably will be done for ?= and $origin(). | |||||
2022-06-03 | Add another variable_map::insert() overload | Boris Kolpackov | 1 | -0/+6 | |
2022-06-03 | Expose type name to value_type mapping function in parser | Boris Kolpackov | 2 | -4/+13 | |
2022-06-03 | Move config::variable_visibility to separate types.hxx header | Boris Kolpackov | 2 | -8/+27 | |
2022-05-27 | Don't pass --format to OpenBSD tar (ustar is default) | Boris Kolpackov | 1 | -22/+25 | |
2022-05-23 | Detect cross-linking and pass -rpath-link in addition to -rpath | Boris Kolpackov | 1 | -7/+69 | |
According to the GNU ld documentation (and painful practical experience), -rpath does not always imply -rpath-link for cross-linkers. | |||||
2022-05-23 | Cache build.host value in context | Boris Kolpackov | 6 | -7/+12 | |
2022-05-23 | Add ability to iterate over variable pool | Boris Kolpackov | 1 | -7/+14 | |
2022-05-23 | Add config::origin(const variable&) overload | Boris Kolpackov | 2 | -9/+23 | |
2022-05-22 | Add support for variable patterns in config.config.disfigure | Boris Kolpackov | 3 | -5/+127 | |
2022-05-20 | Make $config.origin() also available internally as config::origin() | Boris Kolpackov | 3 | -28/+59 | |
2022-05-19 | Add config.config.unload variable to omit loading config.build | Boris Kolpackov | 1 | -7/+34 | |
Note that the configuration is still loaded from config.config.load if specified. Note also that similar to config.config.load, only values specified on this project's root scope and global scope are considered. | |||||
2022-05-17 | Add OpenBSD libc detection | Boris Kolpackov | 1 | -0/+2 | |
2022-05-17 | Handle stack size querying on OpenBSD | Boris Kolpackov | 1 | -1/+13 | |
2022-05-11 | Add $config.origin() function | Boris Kolpackov | 1 | -0/+70 | |
This function can be used to query the origin of a configuration variable value. The result is one of `undefined`, `default`, `buildfile`, or `override`. | |||||
2022-05-10 | Use our own implementation of C++14 threads on MinGW | Boris Kolpackov | 3 | -27/+49 | |
2022-05-06 | Minor terminology fix in diagnostics and comments | Boris Kolpackov | 6 | -8/+8 | |
2022-05-06 | Minor terminology fix in documentation | Boris Kolpackov | 1 | -2/+2 | |