This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFA] Only rebuild configure files in maintainer mode
- To: gcc-patches at gcc dot gnu dot org
- Subject: Re: [RFA] Only rebuild configure files in maintainer mode
- From: Nick Clifton <nickc at cambridge dot redhat dot com>
- Date: 02 Aug 2001 10:50:30 +0100
- References: <m3g0bcuk31.fsf@north-pole.nickc.cambridge.redhat.com>
Hi Guys,
After talking with DJ, here is a revised version of this patch.
This time the rules for building config.in and cstamp-h.in are
entirely suppressed in non-maintainer-mode, so that if these files
are not present make will issue a 'no rule to build XXX' message.
These files should be part of a distribution, so it is an error if
they are not present. Maintainers of course, need to be able to
regenerate these files, so the rules are active for them.
May I apply this patch ?
Cheers
Nick
2001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
* Makefile.in ($(srcdir)/configure): Only rebuild in
maintainer mode.
($(srcdir)/config.in): Only define in maintainer mode.
($(srcdir)/cstamp-h.in): Only define in maintainer mode.
Index: gcc/Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Makefile.in,v
retrieving revision 1.704
diff -p -r1.704 Makefile.in
*** Makefile.in 2001/07/26 16:27:36 1.704
--- Makefile.in 2001/08/02 09:46:21
*************** cs-tm_p.h: Makefile
*** 880,886 ****
HEADERS="$(tm_p_file)" DEFINES="" TARGET_CPU_DEFAULT="" \
$(SHELL) $(srcdir)/mkconfig.sh tm_p.h
! $(srcdir)/configure: $(srcdir)/configure.in
(cd $(srcdir) && autoconf)
gccbug: $(srcdir)/gccbug.in
--- 880,891 ----
HEADERS="$(tm_p_file)" DEFINES="" TARGET_CPU_DEFAULT="" \
$(SHELL) $(srcdir)/mkconfig.sh tm_p.h
! # Don't automatically run autoconf, since configure.in might be accidentally
! # newer than configure. Also, this writes into the source directory which
! # might be on a read-only file system. If configured for maintainer mode
! # then do allow autoconf to be run.
!
! $(srcdir)/configure: @MAINT@ $(srcdir)/configure.in
(cd $(srcdir) && autoconf)
gccbug: $(srcdir)/gccbug.in
*************** mklibgcc: $(srcdir)/mklibgcc.in
*** 898,908 ****
# "echo timestamp" is used instead of touch to be consistent with other
# packages that use autoconf (??? perhaps also to avoid problems with patch?).
# ??? Newer versions have a maintainer mode that may be useful here.
! $(srcdir)/config.in: $(srcdir)/cstamp-h.in
! $(srcdir)/cstamp-h.in: $(srcdir)/configure.in $(srcdir)/acconfig.h
! (cd $(srcdir) && autoheader)
! @rm -f $(srcdir)/cstamp-h.in
! echo timestamp > $(srcdir)/cstamp-h.in
auto-host.h: cstamp-h ; @true
cstamp-h: config.in config.status
CONFIG_HEADERS=auto-host.h:config.in LANGUAGES="$(CONFIG_LANGUAGES)" $(SHELL) config.status
--- 903,916 ----
# "echo timestamp" is used instead of touch to be consistent with other
# packages that use autoconf (??? perhaps also to avoid problems with patch?).
# ??? Newer versions have a maintainer mode that may be useful here.
!
! # Don't run autoheader automatically either.
! # Only run it if maintainer mode is enabled.
! @MAINT@ $(srcdir)/config.in: $(srcdir)/cstamp-h.in
! @MAINT@ $(srcdir)/cstamp-h.in: $(srcdir)/configure.in $(srcdir)/acconfig.h
! @MAINT@ (cd $(srcdir) && autoheader)
! @MAINT@ @rm -f $(srcdir)/cstamp-h.in
! @MAINT@ echo timestamp > $(srcdir)/cstamp-h.in
auto-host.h: cstamp-h ; @true
cstamp-h: config.in config.status
CONFIG_HEADERS=auto-host.h:config.in LANGUAGES="$(CONFIG_LANGUAGES)" $(SHELL) config.status