Skip to content
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

Clean up i686-{pc, w64}-mingw32 triples #15717

Closed
klutzy opened this issue Jul 16, 2014 · 12 comments
Closed

Clean up i686-{pc, w64}-mingw32 triples #15717

klutzy opened this issue Jul 16, 2014 · 12 comments
Labels
O-windows Operating system: Windows P-medium Medium priority

Comments

@klutzy
Copy link
Contributor

klutzy commented Jul 16, 2014

We have two distinct triples: i686-pc-mingw32 (mingw) and i686-w64-ming32 (mingw-w64). However, there seems no need to maintain two triples separately, and even buildbots actually have used i686-pc-mingw32 on mingw-w64 without any issues.
There are some minor differences in mk/platform.mk (e.g. i686-w64-mingw32 doesn't fix mingw-specific problems) but they are mergeable.

The easiest fix is just to remove i686-w64-mingw32, and maybe some "redirection" (configure automatically converts i686-w64-mingw32 into i686-pc-mingw32) might be good too.

(Recently llvm cleaned up windows triples: the two triples are now canonicalized as i686-pc-windows-gnu.)

@brson
Copy link
Contributor

brson commented Sep 11, 2014

I want to get this cleanup up for 1.0. It affects the name of the download artefacts we present, which ideally shouldn't change immediately after launch.

@brson brson mentioned this issue Sep 11, 2014
33 tasks
@brson brson added the O-windows Operating system: Windows label Sep 11, 2014
@pnkfelix
Copy link
Member

Categorizing as P-high, not a 1.0 blocker.

@pnkfelix pnkfelix added P-medium Medium priority and removed I-nominated labels Sep 11, 2014
@brson
Copy link
Contributor

brson commented Sep 12, 2014

I wonder if old LLVM's understand the new canonicalized triples or if we might need to 'uncanonicalize' them before passing them on.

@brson
Copy link
Contributor

brson commented Sep 12, 2014

The in-tree LLVM does not understand x86_64-pc-windows-gnu.

@brson
Copy link
Contributor

brson commented Sep 12, 2014

Should we switch to the canonical triples anyway and decanonicalize for LLVM?

cc @cmr

@brson
Copy link
Contributor

brson commented Sep 12, 2014

@sunfishcode suggests we get on board the canonical triple train and decononicalize for LLVM.

@brson
Copy link
Contributor

brson commented Sep 12, 2014

In fact, it appears to only be the in-tree LLVM configure script that doesn't understand the new windows trips.

@emberian
Copy link
Member

Yes. My target spec patch fixes this, actually.

@brson
Copy link
Contributor

brson commented Sep 12, 2014

@cmr Do you want me to wait for you to land your patch?

@vadimcn
Copy link
Contributor

vadimcn commented Sep 12, 2014

@brson, we got canonical triples figured out in @cmr's flex target branch. And yes, in order to build LLVM and other deps, we have to pass them the old triple: https://github.com/cmr/rust/commit/bac1b460519319cff4095d87253439f10e17bb16

bors added a commit that referenced this issue Sep 15, 2014
This updates our build system to prefer `i686-w64-mingw32` as the 32-bit windows triple instead of `i686-pc-mingw32`. This is an interim step to make the build artifacts consistent until #15717 is done.
@alexcrichton
Copy link
Member

Done!

@alexcrichton
Copy link
Member

As in, @cmr's target customization branch landed the renaming to arch-pc-windows-gnu

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
O-windows Operating system: Windows P-medium Medium priority
Projects
None yet
Development

No branches or pull requests

6 participants