[GRASS-dev] Autoconf 2.13
Ivan Shmakov
ivan at theory.asu.ru
Fri Feb 1 07:41:37 EST 2008
>>>>> Glynn Clements <glynn at gclements.plus.com> writes:
>>> ? 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.
I don't think so. However, a decent knowledge of both the GNU
Make advanced features (e. g., VPATH or static pattern rules)
and the GNU coding standards is necessary.
> Using high-level tools may decrease the amount of typing,
And not only that. The use of high-level tools usually brings
uniformity. Which, in turn, decreases the amount of
``learning'' required.
With regard to Automake it means enforcing the GNU coding
standards on the build system, so that the user has to memorize
less intricacies about particular build systems.
> 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.
Indeed. Unfortunately, some users are trying to employ
high-level tools, but don't care to actually learn them, and
neither what they were designed for, neither how. There ain't
no such thing as a free lunch, though.
I'd call that a main problem with Automake.
[...]
>> 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.
Thanks.
More information about the grass-dev
mailing list