summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--Makefile.in12
-rw-r--r--src/Makefile.in4
3 files changed, 19 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 733fb8d1acb..88ddf0022a5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
diff --git a/Makefile.in b/Makefile.in
index 775c591af26..cd677d3295d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -335,9 +335,13 @@ src: Makefile FRC
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 @@ $(srcdir)/configure: $(AUTOCONF_INPUTS)
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
diff --git a/src/Makefile.in b/src/Makefile.in
index c99c7ae65d2..571fbf5b1b1 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1098,7 +1098,9 @@ tags: TAGS TAGS-LISP $(lwlibdir)TAGS
/* 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