rust/mk
Alex Crichton 91c22b6302 msvc: Lookup linker in windows registry
This commit alters the compiler to no longer "just run link.exe" but instead
probe the system's registry to find where the linker is located. The default
library search path (normally found through LIB) is also found through the
registry. This also brings us in line with the default behavior of Clang, and
much of the logic of where to look for information is copied over from Clang as
well. Finally, this commit removes the makefile logic for updating the
environment variables for the compiler, except for stage0 where it's still
necessary.

The motivation for this change is rooted in two positions:

* Not having to set up these environment variables is much less hassle both for
  the bootstrap and for running the compiler itself. This means that the
  compiler can be run outside of VS shells and be run inside of cmd.exe or a
  MSYS shell.

* When dealing with cross compilation, there's not actually a set of environment
  variables that can be set for the compiler. This means, for example, if a
  Cargo compilation is targeting 32-bit from 64-bit you can't actually set up
  one set of environment variables. Having the compiler deal with the logic
  instead is generally much more convenient!
2015-07-01 09:35:55 -07:00
..
cfg mk: Add support for i686-pc-windows-msvc 2015-06-27 13:02:18 -07:00
clean.mk mk: Enable building LLVM targeting MSVC 2015-05-19 10:52:57 -07:00
crates.mk mk: Build crates with relative paths to rustc 2015-06-13 01:41:52 +02:00
ctags.mk Fix `make TAGS.emacs`. 2014-12-16 17:08:49 +01:00
debuggers.mk debuginfo: Create common debugger pretty printer module. 2015-05-30 20:06:08 +02:00
dist.mk mk: Don't build compiler-docs before installation. #25699 2015-05-22 13:02:52 -07:00
docs.mk diagnostics: Resurrect the Compiler Error Index. 2015-06-20 16:57:40 +10:00
grammar.mk Add a LALR grammar for Rust with testing support 2015-01-20 18:47:17 -08:00
host.mk mk: Add space before line continuation backslash 2014-07-23 08:44:11 -07:00
install.mk configure: Remove obsolete --disable-verify option 2015-04-08 12:16:47 -07:00
llvm.mk mk: Add the ability to depend on native LLVM tools 2015-05-19 10:53:04 -07:00
main.mk Bump to 1.3 2015-06-23 13:32:48 -07:00
perf.mk support for GNU configure syntax 2013-10-29 16:22:08 -07:00
platform.mk mk: Add support for i686-pc-windows-msvc 2015-06-27 13:02:18 -07:00
prepare.mk Replace nop hack, explain substitution reasoning 2015-06-13 17:27:12 +01:00
reconfig.mk mk: Fix reconfiguring top-level ./configure 2015-06-17 17:32:11 -07:00
rt.mk mk: Add support for i686-pc-windows-msvc 2015-06-27 13:02:18 -07:00
rustllvm.mk mk: Fix MSVC build for rustllvm.lib 2015-05-19 10:52:57 -07:00
snap.mk mk: Remove extra whitespace before line continuation backslashes 2014-07-23 08:41:55 -07:00
stage0.mk mk/stage0: complain instead of creating an empty file 2014-11-20 16:00:12 -05:00
target.mk msvc: Lookup linker in windows registry 2015-07-01 09:35:55 -07:00
tests.mk Auto merge of #25654 - petrochenkov:encenv, r=alexcrichton 2015-06-02 02:08:17 +00:00
util.mk mk: Build crates with relative paths to rustc 2015-06-13 01:41:52 +02:00