Collection of PKGBUILDs for cross-building GTK+2 and GTK+3 applications on ArchLinux using a mingw-w64 system. Think of it as a spur of AUR.
I badly needed a MinGW environment for cross-compiling my GTK+ applications for win32 and win64, but the PKGBUILDs provided by AUR were a mess, that is the toolchain was not working out of the box and required a lot of work to be put on the road (it is clear nobody was using it). Submitting patches and waiting they were accepted is too slow and time consuming, so I decided to develop my own PKGBUILDs basing the code on the Fedora MinGW environment, as it seems the best maintained toolchain available. As far as I know, the cross-compiler by OpenSUSE is also based on the Fedora one.
I am trying to keep these packages in sync with Fedora and, although not mapped exactly 1:1 (I dropped some feature I do not use) they are quite close.
The information reported here is loosely based on the Fedora wiki
Some compilers and libraries, such as gcc, requires themselves. Put in other words, to be able to compile gcc you need to break a circular dependency.
An older version of gcc with special parameters is used to generate the first stripped down version (gcc-bootstrap) and then gcc is rebuilt with it to get the final version (gcc-nogomp).
Here is the proper order for bootstraping a new version of GCC from scratch:
- Build and install fedora-mingw-w64-binutils.
- Build and install fedora-mingw-w64-headers.
- Build and install fedora-mingw-w64-gcc-bootstrap.
- Build and install fedora-mingw-w64-crt.
- Build and install fedora-mingw-w64-gcc-nogomp: this in turn will uninstall fedora-mingw-w64-gcc-bootstrap. This is a final GCC package compiled without libgomp (shared memory parallelism support) because it would have required fedora-mingw-w64-pthreads, not yet available.
At this point you should be able to rebuild every MinGW package with the new compiler. After building and installing fedora-mingw-w64-pthreads you can also recompile GCC with libgomp support (fedora-mingw-w64-gcc).
The following dependencies have been compiled directly from AUR: