skeeto / w64devkit

Portable C and C++ Development Kit for x64 (and x86) Windows
The Unlicense
2.68k stars 185 forks source link

Feedback request on potential name change: i686 to w32devkit #81

Open skeeto opened 11 months ago

skeeto commented 11 months ago

I'm considering renaming the "i686" variant to "w32devkit". On my systems I keep both 64-bit and 32-bit toolchains side-by-side and I rename the latter locally in order to tell them apart. For releases I'd rename both the zip and the top-level directory. I'm also dropping the "mini" variants since the difference has become so little. That makes for these four build artifacts:

I like that the names are simpler and more concise, and that I can unzip 32-bit and 64-bit versions side-by-side without intervention. The 64-bit builds are unchanged, so no disruption there.

My concern is that some people, especially newcomers, have trouble navigating (and even finding!) GitHub's "Releases" page. The default and least specialized build is w64devkit-x.y.z.zip, and by sheer luck, it currently sorts to the top, ignoring source.tar. However, with the rename it will be 5th in the list, counting .sigs, which is a less obvious download. Though perhaps I could kill two birds with one stone by putting download links in README.md — or get around to finally building a simple, official website where I control navigation.

I've long wished it was possible to blend releases, by, say, unzipping one atop the other, or putting both in PATH. The buried toolchain would be accessible by its architecture triple (e.g. i686-w32-mingw32-gcc). Renaming the 32-bit toolchain would make merging an installation more difficult. However, even in the relatively simple PATH case, the buried toolchain is confused about which tools to use, and I haven't yet figured out how to fix it.

(Side note: I've also considered not building Fortran releases — while still maintaining the variant patch — but there are a substantial number of users, notably the llama.cpp community, so it's worth continuing.)

Feedback welcome.

Peter0x44 commented 11 months ago

Normal mingw-w64 toolchains (at least the arch package is) are prefixed by (x86_64|i686)-w64-mingw32. At least, I've never seen an i686-w32-mingw32-gcc. Is there a good reason to change this part of the prefix?

There's a bit of discussion in #36 about a multilib w64devkit, I think having a variant like that would be ideal. Installing two w64devkits also implies duplicating all the tools within, like the command aliases, busybox, cppcheck, vim, etc. I think really most users are only going to care about the toolchain in this circumstance.