From: Eli Zaretskii Date: Sun, 12 Jan 2014 17:27:17 +0000 (+0200) Subject: Revert part of 2014-01-12T14:54:50Z!esr@thyrsus.com and fix the VCSWITNESS thingy. X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~2^2~2 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=cbe02c1fe96c23472dd7f0c3c21c947012daf346;p=emacs.git Revert part of 2014-01-12T14:54:50Z!esr@thyrsus.com and fix the VCSWITNESS thingy. Makefile.in (src): Fix the computation of $vcswitness. --- diff --git a/ChangeLog b/ChangeLog index 98681e9c705..93e38a09c67 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,6 @@ -2014-01-12 Eric S. Raymond +2014-01-12 Eli Zaretskii - * 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 diff --git a/Makefile.in b/Makefile.in index 8ef97601537..4e5cb404994 100644 --- a/Makefile.in +++ b/Makefile.in @@ -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) \ diff --git a/etc/PROBLEMS b/etc/PROBLEMS index 57b055eb015..c3e172ec119 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS @@ -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 . -*** 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. diff --git a/src/Makefile.in b/src/Makefile.in index b8ec4fdf352..388923596c9 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -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