https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105144

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:2f0610acbc056052a108e4a46911fc21d0dca2ab

commit r12-7983-g2f0610acbc056052a108e4a46911fc21d0dca2ab
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Mon Apr 4 13:56:32 2022 +0200

    aarch64: Restrict aarch64-tune.md regeneration to --enable-maintainer-mode
[PR105144]

    Normally updates to the source directory files are guarded with
    --enable-maintainer-mode, e.g. we don't regenerate configure, config.h,
    Makefile.in in directories that use automake etc. unless gcc is configured
    that way.  Otherwise the source tree can't be e.g. stored on a read-only
    filesystem etc.
    In gcc/Makefile.in we use @MAINT@ for that but that works because
    gcc/Makefile is generated by configure.  In config/*/t-* files we need to
    check $(ENABLE_MAINTAINER_RULES):
     # The following provides the variable ENABLE_MAINTAINER_RULES that can
     # be used in language Make-lang.in makefile fragments to enable
     # maintainer rules.  So, ENABLE_MAINTAINER_RULES is 'true' in
     # maintainer mode, and '' otherwise.
     @MAINT@ ENABLE_MAINTAINER_RULES = true

    On Mon, Apr 04, 2022 at 11:10:14AM +0100, Richard Sandiford wrote:
    > I guess the risk is that it will become even easier to forget
    > to commit an updated aarch64-tune.md.  Perhaps we should have a
    > non-maintainer rule to build aarch64-tune.md locally and check it
    > against the source-directory version, and fail the build if there's
    > a mismatch.  Or maybe we should just generate aarch64-tune.md in the
    > build directory and remove the source directory version.

    I've tried if aarch64-tune.md will be read from the build dir, but it is
    not.  The gen* files can use -I options to add additional directories, but
    they don't use them.

    Here is a variant patch which will complain and fail if there is a change
    and --enable-maintainer-mode is not enabled.

    2022-04-04  Jakub Jelinek  <ja...@redhat.com>

            PR target/105144
            * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
            only if configured with --enable-maintainer-mode, otherwise compare
            tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md
and
            if they differ, emit a message and fail.

Reply via email to