I’ve asked about this a few times here and there and mostly met with
blank stares and shrugs, so I’ve sort of undertaken the process of
figuring it out. When I’ve finished the process, I’ll talk to Sam
about where to shove it on the wiki (probably as a tutorial?)
Here’s the very rough outline of what I’ve done so far:
- Install TDM-GCC-64. It’s in C:\TDM-GCC-64.
- Install TDM-GCC-32. It’s in C:\TDM-GCC-32.
- Install MSYS. It’s in C:\msys. I used the latest from here:
http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/ - Install Console. I’ll save that for the tutorial.
- Create C:\msys\mingw directory.
- Edit C:\msys\etc\fstab to contain “C:\TDM-GCC-64 /mingw”.
- Create a Start menu shortcut to run bash --login -i in C:\msys.
If you have 64 bit windows and will never build a 32 bit binary ever,
you could have skipped step 2 and you’re done, subject to what
doesn’t work.
ISSUE: Need -m32 in CFLAGS/LDFLAGS to build 32 bit
ISSUE: If you’re running 32 bit, you need TDM-GCC-32’s gdb.exe.
ISSUE: SDL needs TDM-GCC-32’s windres.exe to link 32 bit.
ISSUE: dinput.h is found, but ? no XInput support.
ISSUE: The included hg is broken. Need to replace it.
ISSUE: I’ve read MSYS has a simplistic package fetcher, not here?
An alternative mingw-w64 build MIGHT solve the first 3 problems in a
more traditional --host --target manner, but TDM-GCC’s use of _64
suffixes on libs is a nice feature. Dunno if it’s possible to keep
it and fix the other issues. Someone more of a mingw expert will
have to comment, if we can find anybody.
The lack of XInput support in this build totally explains the debate
elsewhere on the list regarding SDL’s DirectInput being “broken”. As
i explained there, it was actually Microsoft’s XBox 360 controller
driver that’s broken. Ryan said that XP should have XInput, but
clearly it’s not happening on my system at least. I’ll dig more. I
may just not have installed new enough crap on my aging WinXP SP3
system?
A different MSYS setup might solve the last two issues. Certainly
you can nuke the broken hg and just install the Windows Mercurial
package.
Joseph