On Mon, 2006-06-26 at 04:34 +0000, Harlan Stenn wrote:
> We are told that we should not use CPPFLAGS or CFLAGS in a Makefile.am,
> as they are for users.
That's only partially true.

More precisely: You should not override user-supplied CPPFLAGS, CFLAGS,
CXXFLAGS, LIBS etc.

Appending something to these vars would be OK, provided the
user-provided settings "always win".

> The trick is that if we use a configure.ac file to help decide what
> flags may be needed, >inside< this configure script we need to use
> CFLAGS and CPPFLAGS to effect the running of configure.
Depends on what you add to *FLAGS.

One standard approach would be to use *FLAGS as package-global FLAGS and
AM_*FLAGS as per-Makefile.am FLAGS, i.e. not to AC_SUBST(AM_*FLAGS)
inside of a configure.ac, but set up AM_*FLAGS inside of each
Makefile.am anew from other AC_SUBST'ed vars to provide more
fine-grained control over FLAGS.

How to handle this inside of a configure.ac is up to you and depends on
your package's demands.

The big pitfall inside of all this trying to setup optimization flags.
In general, these should not be under a configure.ac's control, but
under user control. My recommendation is not trying to setup
optimization flags.

Ralf







Reply via email to