Auto merge of #4570 - tatsuya6502:target-specific-artifacts, r=alexcrichton
authorbors <bors@rust-lang.org>
Mon, 9 Oct 2017 20:48:17 +0000 (20:48 +0000)
committerbors <bors@rust-lang.org>
Mon, 9 Oct 2017 20:48:17 +0000 (20:48 +0000)
Handle target specific outputs such as .wasm or .dll.lib

Fixes #4500, #4535

Until now, Cargo does not have any knowledge about target-specific output files. It relies solely on rustc for this sort of information (`rustc --print=file-names ...`).

As a result, Cargo does not place some build artifacts (files) to target/{debug,release} directory. These files include *.wasm for wasm32-unknown-emscripten target and *.dll.lib for *-pc-windows-msvc cdylib target.

This commit will add such knowledge to Cargo so that *.wasm and *.dll.lib will be placed in target/{debug,release} directory.

**EDIT**: I added [a summary of changes](https://github.com/rust-lang/cargo/pull/4570#issuecomment-334433635). Please read it for more details of changes.

**IMPORTANT**
Although I added test cases for both wasm32-unknown-emscripten and *-pc-windows-msvc cdylib targets, ~I did not do manual testing on wasm32-unknown-emscripten target as I do not have an environment with emscripten installed. It will be appreciated if anybody tests this change for wasm32-unknown-emscripten target.~  **EDIT**: Tested for both wasm32-unknown-emscripten and x86_64-pc-windows-msvc. Thanks @Herschel for the help.

1  2 
src/cargo/ops/cargo_rustc/context.rs
tests/build.rs

index 7e85c0d5802e6ad23c13fecfd6475f4fc5895305,a502d70b9675b930c87ee15797c1de57d59a79c7..a9b5b1cb4a5595439846af12a0e18c5cf9fc1cd4
mode 100755,100644..100644
diff --cc tests/build.rs
Simple merge