bug-autoconf
[Top][All Lists]
Advanced

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

[sr #111007] autoconf 2.72 warning: file 'version.m4' included several t


From: Румен Петров
Subject: [sr #111007] autoconf 2.72 warning: file 'version.m4' included several times
Date: Mon, 15 Jan 2024 14:37:34 -0500 (EST)

Follow-up Comment #1, sr#111007 (group autoconf):

Let me quote first feedback:
Nick Bowler wrote:> On 2024-01-13 03:26, Румен Петров wrote:
>> autoconf 2.72 is first release that prints warning:
>> configure.ac:2: warning: file 'version.m4' included several times
> 
> The warning here is erroneous and happens now because Autoconf-2.72's
> m4sugar.m4 (which is used under the hood basically everywhere) now
> includes an expansion of m4_sinclude([version.m4]).
> 
> Autoconf implements this warning with a very simplisic check for whether
> a file is actually included multiple times: it defines the m4_include
> and m4_sinclude macros which record the argument any time they are used,
> checking if either was ever called with that argument before.
> 
> Now, m4sugar does not _actually_ include your version.m4, because the
> Autoconf build/installation process generates an m4 "frozen state" file
> (m4sugar.m4f) where the file inclusion is already done using version.m4
> from Autoconf's source code, and this is what actually gets used when
> you run autoconf.  However, the frozen state *does* include the record
> that m4_sinclude was expanded previously with the version.m4 argument.
> 
> Probably we could fix this problem by changing m4sugar.m4 to not use
> the m4_sinclude.  It could use m4_builtin([sinclude], [version.m4])
> instead which would then not expose the record of internal inclusions
> to the user like this.
> 
> To work around the warning in autoconf-2.72, you can change the spelling
> of version.m4 to something functionally equivalent, for example:
> 
>    m4_include([./version.m4])
> 
> You can also just go in and delete the indication that Autoconf uses
> to produce this warning, for example:
> 
>    m4_builtin([undefine], [m4_include(version.m4)])
> 
> Incidentally, while not relevant to your example, Autoconf 2.72 also
> installs its own version.m4 file to the global m4 include search path,
> so if you were previously using M4PATH or autoconf's -I option to locate
> a file with this name then actually m4_include([version.m4]) will pick
> up the one shipped with Autoconf instead of what probably anyone would
> actually want to happen in this scenario.
> 
> Cheers,
>    Nick
> 



    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/support/?111007>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/




reply via email to

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