nmlgc
123919c055
Find devenv and MSBuild via SetupConfiguration rather than registry keys
After I recently uninstalled some older MSVC versions using Visual Studio
Uninstaller (https://github.com/Microsoft/VisualStudioUninstaller ),
HKLM\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\SxS\VS7\15.0 also was
deleted in the process, even though Visual Studio 2017 *itself* wasn't,
and still worked fine.
Steps to reproduce:
1. Install Visual Studio 2017 Community with the *Desktop development
with C++* workload on a fresh Windows system. (I tested with version
15.7.6.)
2. Confirm that the registry key points to the installation directory.
3. Run the Visual Studio Uninstaller on that same system.
4. The registry key is now gone, but Visual Studio 2017 IDE still works
and can compile code.
5. The following Rust code then runs without panicking:
```rust
extern crate cc;
use cc::windows_registry::find_tool;
fn main() {
// Change this if your test system is 32-bit
let target = "x86_64-pc-windows-msvc";
assert_eq!(find_tool(target, "devenv.exe").is_none(), true);
assert_eq!(find_tool(target, "link.exe").is_some(), true);
// msbuild.exe will fall back on find_old_msbuild(), which will
// find a ersion under a different registry key.
}
```
Which means that `link.exe` can still be found just fine through
SetupConfiguration. This may be a bug in Visual Studio Uninstaller, but
it also matches what Microsoft says about the reliability of these
registry keys, and that SetupConfiguration should be preferred. (See
https://developercommunity.visualstudio.com/comments/215399/view.html ).
7 years ago
nmlgc
0d6f93fde3
Split MSVC 15 instance iterator retrieval into a separate function
7 years ago
Alex Crichton
c44f4df6a1
Bump to 1.0.18
7 years ago
Alex Crichton
9eaa56536e
Pass cc_wrapper_args to all compiler invocations
Shouldn't just be if we have a wrapper! This should help detect more flags in
`CC` when present.
Closes #328
7 years ago
Alex Crichton
baa71c0e29
Merge pull request #326 from Geobert/find_devenv_when_msbuild_tools_configured
special case for devenv.exe
7 years ago
Geobert Quach
c2242dc76f
Stray println
7 years ago
Geobert Quach
fb70a6fd21
special case for devenv.exe
7 years ago
Alex Crichton
d265c3b944
Merge pull request #324 from jdm/patch-1
Don't override host when checking supported flags.
7 years ago
Josh Matthews
ca70fd32c1
Set explicit host when checking supported flags.
7 years ago
Josh Matthews
4f94de6754
Don't override host when checking supported flags.
7 years ago
Alex Crichton
8209fdc090
Bump to 1.0.17
7 years ago
Alex Crichton
377b3d14dd
Merge pull request #321 from hsivonen/neon
Add awareness of armv7neon-*, thumbv7-* and thumbv7neon-* targets
7 years ago
Alex Crichton
c279df73a7
Bump to 1.0.16
7 years ago
Henri Sivonen
b25a873ac4
Add awareness of armv7neon-*, thumbv7-* and thumbv7neon-* targets
Some of the targets that are handled here do not actually exist in
rustc at this time.
7 years ago
Alex Crichton
9183eb371d
Merge pull request #320 from bwalderman/master
Add new cppwinrt/ directory to SDK includes for Windows 10
7 years ago
Brandon Walderman
41cd41f4b5
Add new cppwinrt folder to Windows 10 SDK includes.
7 years ago
Alex Crichton
acb79a70be
Bump to 1.0.15
7 years ago
Alex Crichton
f9c9f648ee
Fix i586-pc-windows-msvc on clang-cl
7 years ago
Alex Crichton
889bb1e67b
Version 1.0.14
7 years ago
Alex Crichton
c7d67190c6
Pass -m32 and -m64 for clang-cl
7 years ago
Alex Crichton
450f008939
Merge pull request #314 from gnzlbg/wextra
Adds option to enable/disable -Wextra
7 years ago
gnzlbg
75c8d46d8d
make extra_warning_flags return an Option
7 years ago
gnzlbg
5937d2ee5c
bump minor version
7 years ago
gnzlbg
bda154096e
add option to enable/disable -Wextra on gcc/clang
7 years ago
Alex Crichton
888986e707
Remove rustfmt builder
7 years ago
Alex Crichton
eeb47508d2
Bump to 1.0.12
7 years ago
Alex Crichton
3ca629c1a7
Don't classify `clang` as MSVC
7 years ago
Alex Crichton
12c514a0fb
Bump to 1.0.11
7 years ago
Alex Crichton
0575d8feb9
Run `cargo fmt`
7 years ago
Alex Crichton
fb4ed895f2
Fix compile on stable
7 years ago
Alex Crichton
0b89a4072d
Set env vars for clang-cl invocations
7 years ago
Alex Crichton
e2188247f5
Detect `clang-cl` correctly
Move checks for `cl` in front of `clang-cl` to set the tool to Msvc as
`clang-cl` doesn't have the same gcc-like interface of `clang`
7 years ago
Alex Crichton
648d282d07
Bump to 1.0.10
7 years ago
Alex Crichton
a4790a6255
Merge pull request #311 from tomaka/cxxstdlib
Allow overwriting the default cpp_link_stdlib
7 years ago
Pierre Krieger
69c907baff
Allow overwriting the default cpp_link_stdlib
7 years ago
Alex Crichton
a2c478feba
Merge pull request #307 from mixi/master
Pass -static depending on crt-static on linux too.
7 years ago
Johannes Nixdorf
3bdeefd84d
Pass -static depending on crt-static on linux too.
This is the done the same way as it's already done for msvc.
7 years ago
Alex Crichton
7fef736f9c
Bump to 1.0.9
7 years ago
Alex Crichton
bc21e46357
cargo fmt
7 years ago
Alex Crichton
0e405f9e62
Support CC env vars like `CC='cc -foo'`
Closes #300
7 years ago
Alex Crichton
e416506838
Bump to 1.0.8
7 years ago
Alex Crichton
136294416f
rustfmt
7 years ago
Alex Crichton
e45414e5fd
Merge pull request #306 from jdm/parallel-supported-flags2
Extend critical section to encompass full supported flags check.
7 years ago
Josh Matthews
0b9d2c0c3d
Extend critical section to encompass full supported flags check.
7 years ago
Alex Crichton
21d465ee07
Merge pull request #305 from snipsco/master
iOS embed bitcode fix, with testcase
7 years ago
Mathieu Poumeyrol
6e068465b0
temporarily disable -fembed-bitcode-marker
7 years ago
Mathieu Poumeyrol
31e992ba45
add aarch64 test build
7 years ago
Alex Crichton
9768a0e106
Merge pull request #302 from neivv/msvc-opt-size
Msvc needs /O1 (which implies /Os) to generate smallest binaries
7 years ago
Markus Heikkinen
4fc5c90853
Msvc needs /O1 (which implies /Os) to generate smallest binaries
7 years ago
Alex Crichton
f3a9c9cbdc
Run `cargo fmt`
Also add a builder to CI to ensure we're styled right!
7 years ago