RSS/Atom feed Twitter
Site is read-only, email is disabled

crossroad: developer tool for cross-compiling GIMP for Windows under Linux

This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

1 of 1 message available
Toggle history

Please log in to manage your subscriptions.

crossroad: developer tool for cross-compiling GIMP for Windows under Linux Jehan Pagès 24 Oct 12:35
Jehan Pagès
2013-10-24 12:35:27 UTC (over 10 years ago)

crossroad: developer tool for cross-compiling GIMP for Windows under Linux

Hi fellow developers,

I thought I'd share the tool I developed for myself, to compile GIMP for Windows.
This is the continuation of the tutorial I wrote there after my first successful cross-compilation:
http://wiki.gimp.org/index.php/Hacking:Building/Windows And as such, it is inspired by Ender's grab-stuff.sh, and Maarten Bosmans' download-mingw-rpm.py (this last script is still used in background, but has been highly improved from the original. It can now also query some information about and list files of a package, will fix all broken symlinks after installation, handle various failure cases, can uninstall a package, etc.).

But in particular my wrapper tool is highly simplified because I was bored of writing down long commands that I could never remember fully anyway (damn what was the --host value already?), so I always had to refer to and copy/paste my own tutorial. My tool (named crossroad in hommage to Robert Johnson's "Cross Road Blues") is the nicey way to cross-compile!

Here is how I compile GIMP master *from scratch* on Linux for Windows 64-bit. All the dependencies are automatically downloaded and installed in the right place) from Fedora MinGW project. Only babl and gegl are compiled dependencies from git master (and cairo because it requires a version unavailable in Fedora repo).

I Timed the whole procedure in 15 minutes. :-)

$ crossroad w64 $ crossroad install gtk2-devel libjpeg-devel win_iconv-devel libtiff-devel iso-codes-devel liblzma-devel libbz2-devel $ cd cairo-1.12.16
$ crossroad configure
$ make && make install
$ cd ../babl
$ crossroad configure
$ make && make install
$ cd ../gegl
$ crossroad configure
$ make && make install
$ cd ../gimp
$ crossroad configure --disable-python $ make && make install
$ exit
$ crossroad --compress=mygimp.zip w64

And that's it! I've got a zip archive mygimp.zip (yes zip, because that's for Windows users) to give to someone to test. When I test on my own VM, I don't need a zip, I would just symlink my prefix into my shared Virtualbox directory.
$ cd /my/shared/directory
$ crossroad --symlink w64

If you want to understand better, the tool is installed with a nice man along (`man crossroad` for full tool description). The whole process took me 15 minutes the other day, using totally clean repos. That allowed me for instance to provide a build easily to a user to test for a fix there:
https://bugzilla.gnome.org/show_bug.cgi?id=675554

Well if anyone is interested, you can get the tool with a:

$ pip3 install crossroad

That's python3 >= 3.3 only.

Or get the archive there for manual installation: https://pypi.python.org/pypi/crossroad/

Ask if you have any question. I hope it will be useful to other people wishing to compile GIMP (or any other software. This is a very generic tool!).

Jehan