Windows Build System

Geert Janssens janssens-geert at telenet.be
Mon Mar 7 07:04:49 EST 2011


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.

Geert


More information about the gnucash-devel mailing list