Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2021-10-07 | Fix bug in internal scope logic | Boris Kolpackov | 1 | -1/+1 | |
2021-10-07 | Allow forcing installation of exe{} prerequisites of file targets | Boris Kolpackov | 3 | -3/+13 | |
This can be achieved with prerequisite-specific install=true, for example: exe{foo}: exe{bar}: install = true # foo runs bar | |||||
2021-10-07 | Verify libraries and targets they are linked to a for-install-compatible | Boris Kolpackov | 10 | -11/+45 | |
2021-10-07 | Minor install-related cleanups | Boris Kolpackov | 5 | -18/+43 | |
2021-10-06 | Do not install exe{} prerequisites of file targets | Boris Kolpackov | 2 | -7/+18 | |
2021-10-05 | Add note to internal scope documentation | Boris Kolpackov | 1 | -0/+19 | |
2021-10-05 | Get rid of no longer necessary diagnostics | Boris Kolpackov | 1 | -38/+2 | |
2021-10-04 | Document internal scope functionality | Boris Kolpackov | 2 | -1/+126 | |
2021-10-04 | Optimize internal scope implementation | Boris Kolpackov | 7 | -74/+68 | |
2021-10-04 | Add support for treating specific libraries as always internal | Boris Kolpackov | 5 | -8/+76 | |
2021-10-01 | Add notion of internal scope, translate external -I to -isystem or equivalent | Boris Kolpackov | 13 | -53/+552 | |
2021-10-01 | Add missing return to scope::bundle_root() | Boris Kolpackov | 1 | -0/+4 | |
2021-09-29 | Add notion of bundle amalgamation scope | Boris Kolpackov | 6 | -0/+59 | |
2021-09-28 | Adapt to libbutl headers extension change from .mxx to .hxx | Karen Arutyunov | 37 | -93/+93 | |
2021-09-24 | Fortify tests against NDEBUG | Karen Arutyunov | 19 | -13/+57 | |
2021-09-22 | Optimize options/arguments parsing | Karen Arutyunov | 1 | -6/+6 | |
2021-09-21 | Add more libraries to list of Windows system libraries | Boris Kolpackov | 1 | -0/+5 | |
2021-09-20 | Add more libraries to list of Windows system libraries | Boris Kolpackov | 1 | -2/+10 | |
2021-09-20 | Add support for disabling clean through target-prerequisite relationship | Boris Kolpackov | 7 | -37/+59 | |
Our current semantics is to clean any prerequisites that are in the same project (root scope) as the target and it may seem more natural to rather only clean prerequisites that are in the same base scope. While it's often true for simple projects, in more complex cases it's not unusual to have common intermediate build results (object files, utility libraries, etc) reside in the parent and/or sibling directories. With such arrangements, cleaning only in base (even from the project root) may leave such intermediate build results laying around (since there is no reason to list them as prerequisites of any directory aliases). So we clean in the root scope by default but now any target-prerequisite relationship can be marked not to trigger a clean with the clean=false prerequisite-specific value. | |||||
2021-09-20 | Improve MSVC /showIncludes output handling | Boris Kolpackov | 1 | -13/+35 | |
2021-09-20 | Add netapi32.lib to the list of Windows system libraries | Boris Kolpackov | 1 | -0/+1 | |
2021-09-20 | Assign pre-defined semantics to config.<project>.develop variables | Boris Kolpackov | 7 | -45/+156 | |
This variable allows a project to distinguish between development and consumption builds. While normally there is no distinction between these two modes, sometimes a project may need to provide additional functionality during development. For example, a source code generator which uses its own generated code in its implementation may need to provide a bootstrap step from the pre-generated code. Normally, such a step is only needed during development. See "Project Configuration" in the manual for details. | |||||
2021-09-17 | Add fallback update-for-uninstall rule to global scope | Boris Kolpackov | 1 | -3/+6 | |
2021-09-16 | Fix diagnostics corner case in perform_clean_extra() | Boris Kolpackov | 1 | -5/+5 | |
2021-09-16 | Fix over-tight assumption in standard operation match() | Boris Kolpackov | 1 | -0/+1 | |
2021-09-15 | Do variable lookup in ad hoc target groups | Boris Kolpackov | 4 | -22/+52 | |
2021-09-14 | Add support for passing multiple names to $name.*() functions | Boris Kolpackov | 1 | -3/+49 | |
2021-09-14 | Fix few issues with new config.install.scope | Boris Kolpackov | 1 | -32/+31 | |
2021-09-14 | Impose 12K line count limit for regex matches in Testscript | Boris Kolpackov | 1 | -1/+15 | |
2021-09-14 | Consistently install prerequisites from any scope by default | Boris Kolpackov | 10 | -60/+132 | |
It is also now possible to adjust this behavior with global config.install.scope override. Valid values for this variable are: project -- only from project strong -- from strong amalgamation weak -- from weak amalgamation global -- from all projects (default) | |||||
2021-09-13 | Impose 16KB line length limit for regex matches in Testscript | Boris Kolpackov | 1 | -1/+14 | |
2021-09-09 | Handle Emscripten -pthread mode | Boris Kolpackov | 1 | -0/+15 | |
2021-09-08 | Adjust to renaming of butl::fdbuf to fdstreambuf | Boris Kolpackov | 2 | -4/+4 | |
2021-09-02 | Don't consider aliasing in variable override lookup | Boris Kolpackov | 3 | -6/+13 | |
2021-09-02 | Add diag_frame around export stub loading | Boris Kolpackov | 1 | -2/+11 | |
This gives the location of the importer in case the export stub issues any diagnostics. | |||||
2021-08-25 | Keep mtime check always enabled on Windows | Boris Kolpackov | 4 | -9/+16 | |
Windows is known not to guarantee monotonically increasing mtimes. | |||||
2021-08-23 | Clear data in target::data() modifiers | Boris Kolpackov | 1 | -2/+4 | |
Currently we may end up resetting the data during the rule ambiguity detection. | |||||
2021-08-18 | Fix bug in external module skipping logic | Boris Kolpackov | 1 | -7/+5 | |
2021-08-13 | Fix amalgamation discovery logic some more | Boris Kolpackov | 1 | -1/+5 | |
2021-08-13 | Cache git status results in version module | Boris Kolpackov | 4 | -53/+64 | |
2021-08-12 | Add ${c,cxx}.deduplicate_export_libs() function | Boris Kolpackov | 4 | -0/+154 | |
This function deduplicates interface library dependencies by removing libraries that are also interface dependencies of the specified libraries. This can result in significantly better build performance for heavily interface-interdependent library families (for example, like Boost). Typical usage: import intf_libs = ... import intf_libs += ... ... import intf_libs += ... intf_libs = $cxx.deduplicate_export_libs($intf_libs) | |||||
2021-08-12 | Avoid duplication in Libs/Libs.private in generated .pc files | Boris Kolpackov | 3 | -23/+69 | |
2021-08-11 | Optimize process_libraries() some more | Boris Kolpackov | 5 | -23/+59 | |
2021-08-10 | Complete process_libraries() duplicate suppression work | Boris Kolpackov | 5 | -69/+114 | |
2021-08-09 | Use parse_variable_name() in parse_import(), parse_config() | Boris Kolpackov | 2 | -15/+22 | |
2021-08-09 | Make variable assignment mandatory in import directive | Boris Kolpackov | 1 | -125/+52 | |
In return we get the ability to specify value attributes. | |||||
2021-08-09 | Merge library hashing and collection into single traversal pass | Boris Kolpackov | 4 | -230/+106 | |
It turns out this is a lot faster on deeply-dependent libraries like Boost while not having any noticeable differences for "sane" projects. | |||||
2021-08-09 | Print pkgconfig_save() command at verbosity 1 since can take long | Boris Kolpackov | 1 | -1/+6 | |
2021-08-06 | Adapt to support for option positions added to butl::load_default_options() | Karen Arutyunov | 1 | -1/+22 | |
2021-08-05 | Implement traversal pruning in process_libraries() | Boris Kolpackov | 8 | -421/+503 | |