On Wed, Feb 11, 2004 at 11:03:49AM +0100, Tom Payne wrote:
> On Wed, Feb 11, 2004 at 10:39:07AM +0100, Quentin Garnier wrote:
> > The standardized Bourne shell (a.k.a /bin.sh) provides no '==' operator
> > for the test utility [1].  bash should refuse it, but unfortunately it
> > doesn't.
> > 
> > Thus there is some editing of configure.ac needed in order to make ion
> > autoconfigurable on anything but Linux.
> 
> Ooops, I tried to follow the "portable shell coding" described in the
> autoconf manual, but this is not mentioned. How should string equality be
> tested on your system?

Oh, right, forgot to mention that.  Standard way is only one '='.

> > but I get an unusually large diff for the resulting configure script,
> 
> It's best to provide a patch against configure.ac. This will be a lot
> smaller!

Sure, but I still keep a patch for configure in pkgsrc (the portable
package system from the NetBSD Project) in order to avoid depending on
autoconf.

> > Also, I think there is a typo in system-ac.mk, where one should read
> > @LDFLAGS@ instead of @CFLAGS@ for the LDFLAGS assignment.
> 
> No, this is deliberate because gcc/libtool is used as the linker (I think),
> and some useful flags end up in CFLAGS (include directories, for example).
> The separation of CFLAGS/LDFLAGS/LIBS/INCLUDES/etc. is generally quite
> broken, with, for example library search directories ending up in LIBS
> rather than LDFLAGS, include search dirs in CFLAGS, etc. Sadly the
> brokenness is in the default autoconf macros.

So you would recommend to include everything in CFLAGS?  How am I supposed
to pass LDFLAGS from the package system?  I have no doubt autotools are
broken in many aspects, but I wonder how using CFLAGS for everything can
avoid issues.  I wonder if it would work with non-GCC compilers, for
example.

Quentin Garnier.

Reply via email to