bug#69908: dist-no-built-sources vs. no-dist-built-sources vs. dist-built-sources

Jens Geyer <[email protected]> Fri, 22 Mar 2024 00:19:14 +0100
Newsgroups gmane.comp.sysutils.automake.bugs
Message-ID <DU2P250MB02211341605F6CA09E9923E4B1322@DU2P250MB0221.EURP250.PROD.OUTLOOK.COM>
Hi Karl,

 > Can you please send an example tree that shows the failure?

I modified the existing testscript slightly so I can get a view into 
both configure.ac and Makefile files.

https://gist.github.com/Jens-G/dc9e3fc89d10d1dcf27f289c7e8d5fc8

The output I got from this and dist-no-built-sources.log is rather 
interesting. As it looks, the test is indeed broken from the beginning.

1. Since the tests are run in the specified order, "no-built-sources" 
first followed by "dist-built-sources", the section that modifies 
AM_INIT_AUTOMAKE is run only once, in the first. Consequently, the only 
change in the second round is that another AC_OUTPUT line is added at 
the end - other than that configure.ac looks absolutely identical in 
both cases:

    AC_INIT([dist-no-built-sources], [1.0])
    AM_INIT_AUTOMAKE([no-dist-built-sources])
    AC_CONFIG_FILES([Makefile])
    AC_OUTPUT
    AC_OUTPUT    <<<< this is added in round 2

2. Even if we fix the script so that it properly resets AM_INIT_AUTOMAKE 
in the second round, grepping the generated Makefile for "BUILT_SOURCES" 
still gives the exact same output in both cases, which is also unexpected:

    AM_INIT_AUTOMAKE([no-dist-built-sources])
    BUILT_SOURCES = x.c
    all: $(BUILT_SOURCES)
    distdir: $(BUILT_SOURCES)
    check: $(BUILT_SOURCES)
    install: $(BUILT_SOURCES)
    install-exec: $(BUILT_SOURCES)
        -$(am__rm_f) $(BUILT_SOURCES)


Have fun,

JensG