Ivan Shmakov wrote: > > ? GRASS doesn't use automake, so I'm not sure what you mean > > here. I'm sure if we *were* using automake, we'd also be quite keen > > to move away from it towards something simpler and better! IMHO the > > GRASS build system is refreshingly simple to understand compared to > > other projects that use complex automake, libtool etc.-based systems. > > Although it became common to blame GNU Autotools for sins of > various sorts, out of my personal experience I could say that it > actually helped me a lot to simplify the build systems for the > various packages I had to build. (Alas, saying this once again > will probably make me the public enemy number one.) > > I had to study the documentation, though.
The main problem with automake is that the Makefiles which it generates are utterly illegible to anyone who isn't an automake guru. Using high-level tools may decrease the amount of typing, but it increases the amount of learning required; at least if you want to understand your own project. If you write your own Makefiles, you need to understand GNU make. If you use automake, you need to understand both GNU make and automake. > > Regarding problems with GRASS' system - I am aware of the need to > > simplify the platform checks in the SC_CONFIG_CFLAGS macro - see: > > http://lists.osgeo.org/pipermail/grass-dev/2006-December/027945.html > > http://lists.osgeo.org/pipermail/grass-dev/2006-December/027970.html > > and it would be nice to be able to use an alternative build directory > > (not necessarily the top-level of the source), like the alternative > > build system in 5.3/5.4 allows, but IMHO it's really not that bad at > > present. There were also a lot of improvements and tidying recently > > with regard to making parallel builds work and stopping needless > > regeneration of HTML documentation on every compile. > > I'll try to take a look at these issues. > > One more question: does the current build system support > cross-compilation? It should do. If something is reported not to work when cross-compiling, it gets fixed. There are a few steps which inherently need to be performed on the target, e.g. generating the documentation requires running the executables, which has to be done on the target (but you may as well just copy the documentation from a native build; it's not like it changes between platforms). Ditto for generating the fontcap file. -- Glynn Clements <[EMAIL PROTECTED]> _______________________________________________ grass-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/grass-dev
