aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/cc/link-rule.cxx
AgeCommit message (Collapse)AuthorFilesLines
2019-10-18Add ability to specify "compiler mode" options as part of config.{c,cxx}Boris Kolpackov1-8/+12
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-14Implement MSVC installation discovery for version 15 (2017) and laterKaren Arutyunov1-8/+8
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-4/+66
This way any dependent tools (such as mt.exe that is invoked by link.exe) are first search for in there.
2019-10-07Pass MSVC system library search paths to linker if LIB envvar is unsetBoris Kolpackov1-13/+44
2019-10-05Default to MSVC DLL runtime for Clang on WindowsBoris Kolpackov1-6/+8
2019-10-01Adapt to renaming butl::casecmp() to icasecmp()Karen Arutyunov1-1/+1
2019-09-27Adapt to bracket expressions in wildcard patternsKaren Arutyunov1-1/+1
2019-09-05Tighten versioned shared library cleanup logicBoris Kolpackov1-12/+23
2019-09-04Add support for native shared library versioning on LinuxBoris Kolpackov1-24/+110
Now we can do: lib{foo}: bin.lib.version = linux@1.2 And end up with libfoo.so.1.2 libfoo.so.1 -> libfoo.so.1.2
2019-08-28Move cc build system module to separate libraryKaren Arutyunov1-0/+3043