[Gimp-developer] 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]