-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Get cargo working on i686-pc-windows-msvc #1825
Conversation
The script that prints new snapshots for Cargo now uses the same download module as the rest of Cargo. Also adds a quiet option to suppress printing.
r? @huonw (rust_highfive has picked a reviewer for you, use r? to override) |
r? @brson I'd also like to hold off on r+ until appveyor gives the go-ahead at least as I've also added 32-bit coverage to our matrix, but I haven't verified it works yet. |
Ok, I've got some more work to do to get appveyor working on 32/64 builds |
// FIXME: currently this hits a linker bug on 32-bit MSVC | ||
if cfg!(all(target_env = "msvc", target_pointer_width = "32")) { | ||
return | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note that this is connected to rust-lang/rust#27224, so once that lands and makes its way into the nightlies this test can be re-enabled on 32-bit MSVC again.
r=me |
I saw the usage of `call` locking up quite a bit when running this script on Windows, and googling around on the internet seems to indicate that Popen should be used instead of call to prevent this locking up, and it does indeed work!
The rustlib folder is in `bin` on Windows, not in `lib`.
We're not actually using it as we're not running the installation script, so no need to modify it.
Cargo will soon support testing the cross compilation capabilities between 32/64 bit Windows, meaning that there's not "one true value" for any of these environment variables that Cargo is setting (e.g. where to find `cl`, `link`, etc). Instead, all dependencies have been updated to probe the system (in the same manner as the compiler) for the tools that they're using. All of the logic is housed in the `gcc` crate which now exposes a function to probe the system for a particular tool. The updated crates here then use the result of this probe to run the various build scripts. This all boils down to being able to build MSVC targets inside an MSYS shell instead of requiring use of a MSVC shell (which doesn't allow for simultaneous host builds and cross builds).
@bors: r=brson |
📌 Commit 6c52979 has been approved by |
⌛ Testing commit 6c52979 with merge 74f548e... |
💔 Test failed - cargo-linux-64 |
This commit enables Cargo's bots to test cross builds between 32 and 64 bit hosts. Many tests were fixed to work on Windows, and the 32-bit test case now actually crosses to 64.
@bors: r=brson On Wed, Jul 22, 2015 at 11:07 PM, bors notifications@github.com wrote:
|
📌 Commit 655bcdf has been approved by |
⌛ Testing commit 655bcdf with merge 66ef563... |
💔 Test failed - cargo-win-msvc-64 |
@bors: retry On Wed, Jul 22, 2015 at 11:14 PM, bors notifications@github.com wrote:
|
These commits provide the necessary support to get cargo working in the 32-bit MSVC context. Now that we've got 32-bit MSVC nightlies rolling we can add support!
💔 Test failed - cargo-win-msvc-64 |
@bors: retry On Wed, Jul 22, 2015 at 11:19 PM, bors notifications@github.com wrote:
|
⚡ Previous build results for cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-gnu-32, cargo-win-gnu-64 are reusable. Rebuilding only cargo-win-msvc-64... |
☀️ Test successful - cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-gnu-32, cargo-win-gnu-64, cargo-win-msvc-64 |
These commits provide the necessary support to get cargo working in the 32-bit MSVC context. Now that we've got 32-bit MSVC nightlies rolling we can add support!