emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r109305: Do not overwrite config.stat


From: Paul Eggert
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r109305: Do not overwrite config.status while executing it.
Date: Mon, 30 Jul 2012 13:34:58 -0700
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 109305
fixes bug: http://debbugs.gnu.org/11214
committer: Paul Eggert <address@hidden>
branch nick: trunk
timestamp: Mon 2012-07-30 13:34:58 -0700
message:
  Do not overwrite config.status while executing it.
  
  * Makefile.in (MAKEFILE_NAME): New macro.
  ($(MAKEFILE_NAME)): Rename rule from Makefile.
  * configure.ac (epaths): Set MAKEFILE_NAME to a bogus value,
  so that GNU 'make' isn't tempted to make the Makefile and then
  regenerate config.status while config.status is running.
modified:
  ChangeLog
  Makefile.in
  configure.ac
=== modified file 'ChangeLog'
--- a/ChangeLog 2012-07-30 16:20:35 +0000
+++ b/ChangeLog 2012-07-30 20:34:58 +0000
@@ -1,5 +1,12 @@
 2012-07-30  Paul Eggert  <address@hidden>
 
+       Do not overwrite config.status while executing it (Bug#11214).
+       * Makefile.in (MAKEFILE_NAME): New macro.
+       ($(MAKEFILE_NAME)): Rename rule from Makefile.
+       * configure.ac (epaths): Set MAKEFILE_NAME to a bogus value,
+       so that GNU 'make' isn't tempted to make the Makefile and then
+       regenerate config.status while config.status is running.
+
        Update .PHONY listings in makefiles.
        * Makefile.in (.PHONY): Add all, ${SUBDIR}, blessmail, epath-force,
        FRC, install-arch-dep, install-arch-indep, install-doc,

=== modified file 'Makefile.in'
--- a/Makefile.in       2012-07-30 16:20:35 +0000
+++ b/Makefile.in       2012-07-30 20:34:58 +0000
@@ -350,7 +350,12 @@
 # We used to have one rule per */Makefile.in, but that leads to race
 # conditions with parallel makes, so let's assume that the time stamp on
 # ./Makefile is representative of the time stamp on all the other Makefiles.
-Makefile: config.status $(srcdir)/src/config.in \
+#
+# config.status overrides MAKEFILE_NAME with a bogus name when creating
+# src/epaths.h, so that 'make epaths-force' does not recursively invoke
+# config.status and overwrite config.status while executing it (Bug#11214).
+MAKEFILE_NAME = Makefile
+$(MAKEFILE_NAME): config.status $(srcdir)/src/config.in \
           $(srcdir)/Makefile.in $(SUBDIR_MAKEFILES_IN)
        ./config.status
 

=== modified file 'configure.ac'
--- a/configure.ac      2012-07-30 14:52:08 +0000
+++ b/configure.ac      2012-07-30 20:34:58 +0000
@@ -4464,7 +4464,7 @@
 dnl the use of force in the `epaths-force' rule in Makefile.in.
 AC_CONFIG_COMMANDS([epaths], [
 echo creating src/epaths.h
-${MAKE-make} epaths-force
+${MAKE-make} MAKEFILE_NAME=do-not-make-Makefile epaths-force
 ], [GCC="$GCC" CPPFLAGS="$CPPFLAGS"])
 
 AC_CONFIG_COMMANDS([gdbinit], [


reply via email to

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