changeset 108633:745476df64ef

* Makefile.in (${lispsource}loaddefs.el): Update loaddefs.el after a pull. * Makefile.in (src): Provide the name of the VCS file that witnesses a pull. ($(srcdir)/src/config.in): Handle accidental removal of src/config.in.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Mon, 17 May 2010 17:02:06 -0400
parents d38b0dd2bdbe
children fcdc7bb97c9e f4ea12190bdf
files ChangeLog Makefile.in src/Makefile.in
diffstat 3 files changed, 19 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon May 17 15:27:26 2010 -0400
+++ b/ChangeLog	Mon May 17 17:02:06 2010 -0400
@@ -1,3 +1,9 @@
+2010-05-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* Makefile.in (src): Provide the name of the VCS file that witnesses
+	a pull.
+	($(srcdir)/src/config.in): Handle accidental removal of src/config.in.
+
 2010-05-17  Glenn Morris  <rgm@gnu.org>
 
 	* configure.in (OLDXMENU_DEPS): New output variable.
--- a/Makefile.in	Mon May 17 15:27:26 2010 -0400
+++ b/Makefile.in	Mon May 17 17:02:06 2010 -0400
@@ -335,9 +335,13 @@
 	      CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}'         \
 	      LDFLAGS='${LDFLAGS}' MAKE='${MAKE}' BOOTSTRAPEMACS="$$boot"; \
 	fi;
+	if [ -r .bzr/checkout/dirstate ]; then 			\
+	    vcswitness="$$(pwd)/.bzr/checkout/dirstate"; 	\
+	fi; 							\
 	cd $@; $(MAKE) all $(MFLAGS)                           \
 	  CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \
-	  LDFLAGS='${LDFLAGS}' MAKE='${MAKE}' BOOTSTRAPEMACS=""
+	  LDFLAGS='${LDFLAGS}' MAKE='${MAKE}' BOOTSTRAPEMACS=""	\
+	  VCSWITNESS="$$vcswitness"
 
 blessmail: Makefile src FRC
 	cd lib-src; $(MAKE) maybe-blessmail $(MFLAGS) \
@@ -369,7 +373,11 @@
 	cd ${srcdir} && autoconf
 
 $(srcdir)/src/config.in: $(srcdir)/src/stamp-h.in
-	@true
+	@ # Usually, there's no need to rebuild src/config.in just
+	@ # because stamp-h.in has changed (since building stamp-h.in
+	@ # refreshes config.in as well), but if config.in is missing
+	@ # then we really need to do something more.
+	[ -r "$@" ] || ( cd ${srcdir} && autoheader )
 $(srcdir)/src/stamp-h.in: $(AUTOCONF_INPUTS)
 	cd ${srcdir} && autoheader
 	rm -f $(srcdir)/src/stamp-h.in
--- a/src/Makefile.in	Mon May 17 15:27:26 2010 -0400
+++ b/src/Makefile.in	Mon May 17 17:02:06 2010 -0400
@@ -1098,7 +1098,9 @@
 /* Since the .el.elc rule cannot specify an extra dependency, we do it here.  */
 ${lisp} ${SOME_MACHINE_LISP}: $(BOOTSTRAPEMACS)
 
-${lispsource}loaddefs.el: $(BOOTSTRAPEMACS)
+/* VCSWITNESS points to the file that holds info about the current checkout.
+   We use it as a heuristic to decide when to rebuild loaddefs.el.  */
+${lispsource}loaddefs.el: $(BOOTSTRAPEMACS) $(VCSWITNESS)
 	cd ../lisp; $(MAKE) $(MFLAGS) autoloads EMACS=${bootstrap_exe}
 
 /* Dump an Emacs executable named bootstrap-emacs containing the