rust/mk/cfg
Alex Crichton 7cf0b1798b configure: Start adding MSVC support
This commit starts to add MSVC support to the ./configure script to enable the
build system to detect and build an MSVC target with the cl.exe compiler and
toolchain. The primary change here is a large sanity check when an MSVC target
is requested (and currently only `x86_64-pc-windows-msvc` is recognized).

When building an MSVC target, the configure script either requires the
`--msvc-root` argument or for `cl.exe` to be in `PATH`. It also requires that if
in the path `cl.exe` is the 64-bit version of the compiler.

Once detected the configure script will run the `vcvarsall.bat` script provided
by Visual Studio to learn about the `INCLUDE` and `LIB` variables needed by the
`cl.exe` compiler to run (the default include/lib paths for the
compiler/linker). These variables are then reexported when running `make` to
ensure that our own compiles are running the same toolchain.

The purpose of this detection and environment variable scraping is to avoid
requiring the build itself to be run inside of a `cmd.exe` shell but rather
allow it to run in the currently expected MinGW/MSYS shell.
2015-05-19 10:52:55 -07:00
..
aarch64-apple-ios.mk Very hacky MSVC hacks. 2015-05-12 14:50:36 -07:00
aarch64-linux-android.mk Very hacky MSVC hacks. 2015-05-12 14:50:36 -07:00
aarch64-unknown-linux-gnu.mk Very hacky MSVC hacks. 2015-05-12 14:50:36 -07:00
arm-linux-androideabi.mk Very hacky MSVC hacks. 2015-05-12 14:50:36 -07:00
arm-unknown-linux-gnueabi.mk mk: Remove a bunch of unused directives 2015-04-27 09:22:05 -07:00
arm-unknown-linux-gnueabihf.mk mk: Remove a bunch of unused directives 2015-04-27 09:22:05 -07:00
armv7-apple-ios.mk mk: Remove a bunch of unused directives 2015-04-27 09:22:05 -07:00
armv7s-apple-ios.mk mk: Remove a bunch of unused directives 2015-04-27 09:22:05 -07:00
i386-apple-ios.mk mk: Remove a bunch of unused directives 2015-04-27 09:22:05 -07:00
i686-apple-darwin.mk mk: Remove a bunch of unused directives 2015-04-27 09:22:05 -07:00
i686-pc-windows-gnu.mk mk: Remove a bunch of unused directives 2015-04-27 09:22:05 -07:00
i686-unknown-linux-gnu.mk mk: Remove a bunch of unused directives 2015-04-27 09:22:05 -07:00
mips-unknown-linux-gnu.mk mk: Remove a bunch of unused directives 2015-04-27 09:22:05 -07:00
mipsel-unknown-linux-gnu.mk mk: Remove a bunch of unused directives 2015-04-27 09:22:05 -07:00
powerpc-unknown-linux-gnu.mk mk: Remove a bunch of unused directives 2015-04-27 09:22:05 -07:00
x86_64-apple-darwin.mk mk: Remove a bunch of unused directives 2015-04-27 09:22:05 -07:00
x86_64-apple-ios.mk mk: Remove a bunch of unused directives 2015-04-27 09:22:05 -07:00
x86_64-pc-windows-gnu.mk Very hacky MSVC hacks. 2015-05-12 14:50:36 -07:00
x86_64-pc-windows-msvc.mk configure: Start adding MSVC support 2015-05-19 10:52:55 -07:00
x86_64-unknown-bitrig.mk mk: Remove a bunch of unused directives 2015-04-27 09:22:05 -07:00
x86_64-unknown-dragonfly.mk mk: Remove a bunch of unused directives 2015-04-27 09:22:05 -07:00
x86_64-unknown-freebsd.mk mk: Remove a bunch of unused directives 2015-04-27 09:22:05 -07:00
x86_64-unknown-linux-gnu.mk mk: Remove a bunch of unused directives 2015-04-27 09:22:05 -07:00
x86_64-unknown-linux-musl.mk mk: Add support for musl-based builds 2015-04-27 10:11:15 -07:00
x86_64-unknown-openbsd.mk mk: Remove a bunch of unused directives 2015-04-27 09:22:05 -07:00