[GRASS-dev] Autoconf 2.13

Glynn Clements glynn at gclements.plus.com
Fri Feb 1 06:30:18 EST 2008


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 <glynn at gclements.plus.com>


More information about the grass-dev mailing list