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/