gnu-arch-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: autoconf (was: Re: [Gnu-arch-users] [ANNOUNCE] tlator-0.1 initial re


From: wave++
Subject: Re: autoconf (was: Re: [Gnu-arch-users] [ANNOUNCE] tlator-0.1 initial release)
Date: Thu, 18 Sep 2003 13:37:20 +0200
User-agent: Mutt/1.5.4i

You wrote:
> Depends on how you define portability. If you include data transparency,=20
> it certainly isn't portable.
> Newer versions choke on paths containing a comma, so e.g. building in=20
> ,,build-something won't work. They are not going to fix this themselves=20
> (and I do not have enough time to learn m4 and try to understand how=20
> autoconf works internally). [1]
>
> It's a nightmare for crosscompilation. They're going to make it even=20
> worse because it's the easier path. [2]
> The language used (m4) is hard to grok and makes it easy to write buggy=20
> macros. Quoting rules are hard to understand.
>
> So my recommendation is: If you can avoid using autoconf, do it.
> AFAIR there are alternatives, but I had no need for one in the past (for=20
> all my projects a simple Makefile suffices), so I did not evaluate them.
>
>
> [1] http://mail.gnu.org/archive/html/autoconf/2002-04/msg00229.html
> [2] http://mail.gnu.org/archive/html/autoconf/2002-05/msg00025.html=20
> (whole thread, some mails seem to be missing in the archive)

I may add some experience here. Unless your build system IS complicated
and you aim to dumb users, then user autoconf + automake. Otherwise, use
something else.

Autoconf scripts tends to autodetect things without keeping in mind
particular situations. IT'S TRIVIAL to do autoconf tests that BREAKS
"portability". It's also a pain to trick it, if you have particular
requirements.

Fixing bugs inside the build system is A PAIN. Plus, while a Makefile is
easily adapted to user needs, an automake hierarchy is almost impossible
to finetune without breaking the build system. Fixing library naming
conventions requires hacking on automake itself, which is full of
m4/sed/shell cruft. It's easier to build by hand.

autoconf + automake works nicely on linux. Dot.

So far, I've ended up using makepp (http://makepp.sf.net).

Supports relocated builds without pain, and simplifies Makefiles. That's
all I need. Configuration can be done by autoconf ALONE, or with a dumb
shell script (if you need AUTOMATIC detection).

-- 
'(wave++ "Yuri D'Elia" "http://www.yuv.info/";)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]