aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/utility.hxx
AgeCommit message (Collapse)AuthorFilesLines
2019-10-19Add find_stem() utility functionBoris Kolpackov1-0/+14
2019-10-18Add ability to specify "compiler mode" options as part of config.{c,cxx}Boris Kolpackov1-10/+19
Such options are (normally) not overridden by buildfiles and are passed last (after cc.coptions and {c,cxx}.coptions) in the resulting command lines. They are also cross-hinted between config.c and config.cxx. For example: $ b config.cxx="g++ -m64"
2019-10-16Try to find MSVC installation for absolute cl.exe pathsBoris Kolpackov1-1/+4
Without this extra logic recursive invocation of the build system (e.g., in tests) will fail to obtain the full environment.
2019-10-14Implement MSVC installation discovery for version 15 (2017) and laterKaren Arutyunov1-9/+9
In particular, this removes the requirement to build from the Visual Studio command prompt. Note that since MSVC compiler binaries are target-specific (i.e., there are no -m32/-m64 options nor something like /MACHINE), in this case we default to a 64-bit build (a 32-bit build can still be achieved by running from a suitable command prompt). Finally, this mechanism is also used to find Clang bundled with MSVC.
2019-10-09Prepend pattern search paths to PATH when running binutilsBoris Kolpackov1-15/+19
This way any dependent tools (such as mt.exe that is invoked by link.exe) are first search for in there.
2019-10-08Redo bin pattern as PATH-like search paths rather than fallback directoryBoris Kolpackov1-2/+15
Also, unlike the fallback directory, the search paths are searched first rather than last.
2019-10-01Adapt to renaming butl::casecmp() to icasecmp()Karen Arutyunov1-3/+3
2019-08-30Make build_installed constBoris Kolpackov1-3/+2
2019-08-28Redo build_installed without requiring linking whole archiveBoris Kolpackov1-2/+0
2019-08-26Implement auto-import of development build2 buildBoris Kolpackov1-0/+6
2019-08-23Introduce notion of build contextBoris Kolpackov1-4/+3
All non-const global state is now in class context and we can now have multiple independent builds going on at the same time.
2019-08-21Implement dynamic loading of build system modulesBoris Kolpackov1-1/+5
2019-08-07Improve deadlock diagnostics (suppress stack trace, reword)Boris Kolpackov1-1/+7
2019-08-01Fix linkage failure due to inline functions defined in ↵Karen Arutyunov1-1/+1
libbuild2/algorithm.ixx and referred from libbuild2/target.txx
2019-07-01Split build system into library and driverBoris Kolpackov1-0/+671