]> git.eshelyaron.com Git - emacs.git/commitdiff
Revert part of 2014-01-12T14:54:50Z!esr@thyrsus.com and fix the VCSWITNESS thingy.
authorEli Zaretskii <eliz@gnu.org>
Sun, 12 Jan 2014 17:27:17 +0000 (19:27 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sun, 12 Jan 2014 17:27:17 +0000 (19:27 +0200)
 Makefile.in (src): Fix the computation of $vcswitness.

ChangeLog
Makefile.in
etc/PROBLEMS
src/Makefile.in

index 98681e9c705c934f485ffa83342046d907007f1a..93e38a09c67e08ba20af717d9c68a185848a6c0d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,6 @@
-2014-01-12  Eric S. Raymond  <esr@thyrsus.com>
+2014-01-12  Eli Zaretskii  <eliz@gnu.org>
 
-       * Makefile, src/Makefile, etc/PROBLEMS: Remove broken VCSWITNESS
-       code, and explain the problem.
+       * Makefile.in (src): Fix the computation of $vcswitness.
 
 2014-01-12  Glenn Morris  <rgm@gnu.org>
 
index 8ef9760153709b80f107973521361638569c686b..4e5cb4049948c812c91e9874b52825edb6351e73 100644 (file)
@@ -374,12 +374,16 @@ lib lib-src lisp nt: Makefile FRC
 # all preloaded elisp files, and only then dump the actual src/emacs, which
 # is not wrong, but is overkill in 99.99% of the cases.
 src: Makefile FRC
+       dirstate='.bzr/checkout/dirstate';                              \
+       vcswitness='$(srcdir)/../'$$dirstate;                           \
+       [ -r "$(srcdir)/$$dirstate" ] || vcswitness='';                 \
        cd $@ || exit;                                                  \
        boot=bootstrap-emacs$(EXEEXT);                                  \
        [ ! -x "$$boot" ] || boot='';                                   \
        $(MAKE) all $(MFLAGS)                                           \
          CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}'          \
-         LDFLAGS='${LDFLAGS}' MAKE='${MAKE}' BOOTSTRAPEMACS="$$boot"
+         LDFLAGS='${LDFLAGS}' MAKE='${MAKE}' BOOTSTRAPEMACS="$$boot"   \
+         VCSWITNESS="$$vcswitness"
 
 blessmail: Makefile src FRC
        cd lib-src && $(MAKE) maybe-blessmail $(MFLAGS) \
index 57b055eb015d4d90560f008457e1323a5a3d1bd8..c3e172ec1196ebf489feb11d5eacf1e4c1039295 100644 (file)
@@ -2429,12 +2429,6 @@ The causes of this problem are not understood.  Using GNU make 3.81 compiled
 from source, rather than the Ubuntu version, worked.
 See <URL:http://debbugs.gnu.org/327, <URL:http://debbugs.gnu.org/821>.
 
-*** Rebuild of loaddefs.el is not always done after Lisp changes
-
-The rebuild production should depend on all Lisp files with #autoload
-cookies.  It doesn't yet.  This needs a configure-time improvement to
-the nuild system.
-
 ** Dumping
 
 *** Linux: Segfault during `make bootstrap' under certain recent versions of the Linux kernel.
index b8ec4fdf3524e175e803ec2b969762db08ce6577..388923596c9fb853345f343f048be11d682f8679 100644 (file)
@@ -629,10 +629,12 @@ tags: TAGS ../lisp/TAGS $(lwlibdir)/TAGS
 ## Since the .el.elc rule cannot specify an extra dependency, we do it here.
 $(lisp): $(BOOTSTRAPEMACS)
 
-## This ought to depend on every Lisp file that contains an autoload cookie.
-## A task for the future...
+## 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.
+## If empty it is ignored; the parent makefile can set it to some other value.
+VCSWITNESS =
 
-$(lispsource)/loaddefs.el: $(BOOTSTRAPEMACS)
+$(lispsource)/loaddefs.el: $(BOOTSTRAPEMACS) $(VCSWITNESS)
        cd ../lisp; $(MAKE) $(MFLAGS) autoloads EMACS="$(bootstrap_exe)"
 
 ## Dump an Emacs executable named bootstrap-emacs containing the