Windows Build System

John Ralls jralls at ceridwen.us
Mon Mar 7 10:03:51 EST 2011


On Mar 7, 2011, at 4:04 AM, Geert Janssens wrote:

> On zaterdag 5 maart 2011, Stephen Brown wrote:
>> Hi Geert
>> 
>> Mine are to take all the instructions in
>> http://wiki.gnucash.org/wiki/Windows#Q:_Is_it_possible_to_compile_GnuCash_o
>> n_Windows.3F, compile it
>> into a windows executable file, include the other programs mentioned, and
>> make the whole lot available so that some one can download it, run it, and
>> have gnucash built on their Microsoft Windows machine with minimal user
>> input.
>> 
>> Yours Sincerely Stephen Grant Brown
> 
> While I consider it quite an achievement to get a complext piece of code such 
> as GnuCash to build on Windows, there are a couple of things that I'm not too 
> happy with in the Windows build process.
> 
> For starters, the whole build is one big shell script. It does the job, but it 
> lacks many features of a complete build system. I'm thinking of systems like 
> automake, cmake, jhbuild,... Those systems would handle dependency changes 
> more gracefully.
> 
> I also believe that GnuCash development should focus on, well, GnuCash. All 
> the other items that are built via the script are actually support libraries. 
> Having the script to verify each of these dependencies before actually 
> starting a GnuCash build takes valuable time. In fact, that every developer 
> has to do that at least once while setting up the development environment for 
> the first time is a shared loss of time.
> So here I play with the idea to build some kind of gnucash-support-libs sdk 
> that can simply be installed via an installer program by anyone that likes to 
> do some GnuCash development on windows. Only one dev has to build this sdk and 
> publish it on the GnuCash website. All others can simply download and install 
> it and focus on GnuCash from there on. When one of the support libraries has 
> to be updates, a new sdk installer is built which can then be installed by the 
> other devs.
> 
> I realize that the idea of a preinstalled sdk conflicts with the concept of 
> jhbuild, which builds everything from scratch. But these are only rough ideas 
> anyway, not something ready for implementation yet.
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel

I'd suggest starting with jhbuild. It's designed specifically for the gnome libraries which represent most of the dependencies,
and I've already got a moduleset which will get you most of the way there. However, the Gnome dependencies are prebuilt binaries provided by the Gnome project; while that's not something that jhbuild would handle gracefully, you can just leave
those modules out and download the binaries ahead of time.

Rather than a single library, you'll want to make a dependencies tarball (or zip-ball) or windows installer package that has everything needed to checkout Gnucash and get to work, perhaps minus the externals like ActiveState Perl, TortoiseSVN (or TortoiseGit), and MSys/MinGW.

Regards,
John Ralls
 


More information about the gnucash-devel mailing list