libtool
[Top][All Lists]
Advanced

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

Re: Setting ACLOCAL_AMFLAGS with ':=' vs '='


From: Nick Bowler
Subject: Re: Setting ACLOCAL_AMFLAGS with ':=' vs '='
Date: Thu, 18 Sep 2014 10:36:03 -0400
User-agent: Mutt/1.5.22 (2013-10-16)

On 2014-09-18 09:36 +0100, R. Diez wrote:
> If I add this line to my Makefile.am (and I make sure that the 'm4'
> subdir is created beforehand), then it works as intended:
> 
>   ACLOCAL_AMFLAGS = -I m4
> 
> However, if I use this syntax:
> 
>   ACLOCAL_AMFLAGS := -I m4
> 
> Then I get the following warning:
> 
>   libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.

This may be a slight bug in libtoolize, which is not part of Automake.
I have added the libtool list to Cc.  If libtoolize is still properly
copying its macros into your m4 directory then I would ignore the
warning.

But two things to consider:

 (1) Automake is designed to produce makefiles which are portable
     in practice (i.e., run on a variety of make implementations).
     Use of := assignments fails on heirloom make, for example,
     and probably other implementations.

 (2) There is no functional difference between "=" and ":=" if the
     right hand side does not contain any variable references (as in
     your example).

As an alternative, with recent versions of Automake you can try using
AC_CONFIG_MACRO_DIRS in configure.ac rather than setting m4 directories
in Makefile.am.  I'm not sure if all the tooling has been updated to
fully handle this new feature yet, though.

[snip description of GNU make semantics]
> That flavor is now a POSIX standard (with syntax "::="), so it should
> be portable too (at least in the future).

Well no, it doesn't follow that := assignments will become portable in
the future just because POSIX standardized ::= syntax.

Cheers,
-- 
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)



reply via email to

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