Hi, On Tue, Jun 3, 2014 at 11:34 PM, Ed . <ej_zg@xxxxxxxxxxx> wrote: > Hi Jehan, > > Could you share your cookbook for setting up cross-compiling to Windows? Sorry for the very late answer. I wanted to release a new version of my cross-compilation tool before answering (because my locale copy was already so much more advanced). Sorry for having let the time slide that much. :-) I have basically written a tool to help me cross compiling very easily. See there: https://pypi.python.org/pypi/crossroad/ This is a python 3 tool, which you can install with: $ pip3 install crossroad You will need the following dependencies: 7z or rpm2cpio, gcc-mingw-w64-i686, g++-mingw-w64-i686, binutils-mingw-w64-i686 (gcc-mingw-w64-x86-64, g++-mingw-w64-i686, and binutils-mingw-w64-x86-64 respectively for 64-bit Windows). Once all is installed, below my exact cookbook for compiling GIMP master, for instance for Windows 64-bit: $ crossroad w64 Installing various dependencies: $ crossroad install win_iconv-devel libtiff-devel iso-codes-devel liblzma-devel zlib-devel libbz2-devel libbz2-1 libexpat-devel libexpat1 gtk2-devell ibSDL-devel liblcms2-2 liblcms2-devel Compile babl, GEGL, cairo, all with the same procedure: Note 1: there are babl/GEGL/cairo packages in the pre-compiler packages, but the versions are not right for GIMP master. I use babl and GEGL from git master, and cairo 1.12.16. They work ok for me. Note 2: you may want to clone these repo just for Windows, rather than using the ones you use for native Linux compiling, if you plan to regularly compile for both platforms. Actually you may even want to have one for Win 32 and one for 64 bit. $ cd babl (respectively gegl/ and cairo/) $ crossroad configure Note: for GEGL, you must currently add --disable-docs option. Our GEGL doc generation does not handle well cross-build. See Bug 733667 . $ make -j $ make -j install Exiv2 (svn trunk) uses cmake: $ svn checkout svn://dev.exiv2.org/svn/trunk exiv2-trunk $ cd exiv2-trunk $ crossroad cmake . $ make $ make install Then gexiv2 (git master), same as babl/GEGL: $ cd gexiv2 $ crossroad configure && make && make install Finally compile GIMP master the same way. Note that I disable python because it is not in the pre-built packages and I never really needed it, but that should not be very difficult to cross-compile it the same way as the rest (Python uses the configure/make/make install triplet as well). $ cd gimp $ crossroad configure --disable-python $ make $ make install To test it, I use a Windows 7 VM. I have a shared directory. I exit crossroad (ctrl-d), go to the shared dir: $ cd /my/share/virtualbox/dir/ $ crossroad -s w64 It creates a w64/ link, that I see as a directory in my Windows VM. Alternatively, I could create a compressed archive to uncompress on Win: $ crossroad -c gimp-master.zip w64 And that's it! You have a working GIMP for Windows. I do the whole process in less than 30 min, build time included. You could even really easily automatize these in a script. Note that you can add more dependencies (either by using pre-compiled package. You can search them with `crossroad search` then install with `crossroad install`; or compiling them yourself), but I just showed a basic installation. Jehan > Cheers, > > Ed > > -----Original Message----- From: Jehan Pagès > Sent: Tuesday, June 03, 2014 9:41 AM > To: Partha Bagchi > Cc: Gimp-developer > > Subject: Re: Getting contributors via OpenHatch > > Hi, > > On Mon, Jun 2, 2014 at 11:11 PM, Partha Bagchi <partha1b@xxxxxxxxx> wrote: >> >> >> On Mon, Jun 2, 2014 at 6:40 PM, Jehan Pagès <jehan.marmottard@xxxxxxxxx> >> wrote: >>> >>> >>> Hi, >>> >>> On Mon, Jun 2, 2014 at 6:18 PM, Elle Stone >>> ... >>> >>> Like some others here, I don't really get it. I never had any problem >>> with GIMP compilation. GIMP uses the very common tryptic of all GNU >>> projects (and most Free Software): ./configure && make && make install >>> It has some dependencies, especially when compiling the git version, >>> but they all follow the same 3-command method. I just don't get what >>> is difficult with this. >>> ... >>> Jehan >> >> >> >> Clearly you've never compiled on Windows and/or Mac and hence you make >> such >> statements. > > > Well you take some serious assumption here, since I'm one of the rare > GIMP devs who sometimes fixes bugs for Windows! I did once compiled on > Windows, the problem was that it was slow as hell, but the compilation > in itself was using the same 3 commands (once the environment was > set-up, which is usually indeed very annoying on Windows but only done > once). Now I rather cross-compile on Linux for Windows regularly. And > it's fast and easy. Of course it means to understand the logics of > cross-compiling first and that takes some time the first time as well. > But computer science is not magic. Things take time. Developers need > to understand things (and if a developer is not even *willing* to > spare a little time to understand the overall concept of compilation, > seriously I would doubt one's capacity to help our project > efficiently). > > Do you have *any* example of other program which does things better > than us as for compilation process? As said, we have the most common > compilation system (the GNU one, in particular using the autotools. I > have several dozen local repositories of various projects in my hard > drive, they nearly all use the same), so that sounds strange to hear > it can be a blocker. > > Jehan > _______________________________________________ > gimp-developer-list mailing list > List address: gimp-developer-list@xxxxxxxxx > List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list > List archives: https://mail.gnome.org/archives/gimp-developer-list _______________________________________________ gimp-developer-list mailing list List address: gimp-developer-list@xxxxxxxxx List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list List archives: https://mail.gnome.org/archives/gimp-developer-list