Thien-Thi Nguyen <[EMAIL PROTECTED]> writes:
> I've commented out the 'delete-file' for now.
>
> Hmm, that fragment is evaluated after `custom-make-dependencies' (which
> is the function that writes cus-load.el) is called, so in theory
> cus-load.el should exist in the current directory.
When I re-run make, it says:
make -r
cd lisp; make
make[1]: Entering directory `/Gnu/dvc/lisp'
srcdir=. otherdirs="" emacs -batch -q --no-site-file -l ./dvc-build.el -f
dvc-build-autoloads .
Merging cus-load.el into dvc-autoloads.el (c:\Gnu\dvc\lisp/)...
Opening input file: no such file or directory, c:/Gnu/dvc/lisp/cus-load.el
So custom-make-dependencies is not run in this case.
> Perhaps some defunct .el{c} files still lying might be confusing
> `missing-or-old-elc'. Can you reproduce the problem with a clean
> checkout or after a "make clean" (and with the `otherdirs' patch
> applied)?
Yes, same problem after clean checkout, autoreconf, configure, make,
make.
> Now when I run 'make', it always regenerates the autoloads. I guess
> that's why cus-loads is deleted, but something needs to change.
>
> I've done semantics-preserving transformations only (i hope). Maybe
> i'll take a crack at rationalizing and redesigning autoloads building.
missing-or-old-elc returns ("dvc-autoloads.el") in this case.
[Aside: which I discovered by convincing dvc-build.el to let me run
interactively. It's really a pain trying to debug this stuff!]
That's because --autoloads-filename is absolute
"c:/Gnu/dvc/lisp/dvc-autoloads.el", but in the computation of
--to-compile, it is in the "plus" branch as "dvc-autoloads.el".
Changing the initialization of --autoloads-filename to:
(defvar --autoloads-filename (if (featurep 'xemacs)
"auto-autoloads.el"
"dvc-autoloads.el"))
lets successive 'make' succeed:
make -r
cd lisp; make
make[1]: Entering directory `/Gnu/dvc/lisp'
srcdir=. otherdirs="" emacs -batch -q --no-site-file -l ./dvc-build.el -f
dvc-build-autoloads .
srcdir=. otherdirs="" emacs -batch -q --no-site-file -l ./dvc-build.el -f
dvc-build-compile
make[1]: Leaving directory `/Gnu/dvc/lisp'
cd texinfo; make info
make[1]: Entering directory `/Gnu/dvc/texinfo'
make[1]: Nothing to be done for `info'.
make[1]: Leaving directory `/Gnu/dvc/texinfo'
Here's the net diff for dvc-builds.el:
=== modified file 'lisp/dvc-build.el'
--- lisp/dvc-build.el 2008-07-29 20:12:54 +0000
+++ lisp/dvc-build.el 2008-08-02 12:21:52 +0000
@@ -1,6 +1,6 @@
;;; dvc-build.el --- compile-time helper.
-;; Copyright (C) 2004-2007 by all contributors
+;; Copyright (C) 2004-2008 by all contributors
;; Author: Matthieu Moy <[EMAIL PROTECTED]>
;; Thien-Thi Nguyen <[EMAIL PROTECTED]>
@@ -37,7 +37,7 @@
(defvar srcdir (or (getenv "srcdir")
(error "Env var `srcdir' not set")))
(defvar otherdirs (or (getenv "otherdirs")
- (error "Env var `otherdirs' not set")))
+ ""))
;; Standard
@@ -75,10 +75,9 @@
;; Internal vars are named --foo.
;; Platform-specific filenames.
-(defvar --autoloads-filename (expand-file-name
- (if (featurep 'xemacs)
+(defvar --autoloads-filename (if (featurep 'xemacs)
"auto-autoloads.el"
- "dvc-autoloads.el")))
+ "dvc-autoloads.el"))
(defvar --custom-autoloads-filename (expand-file-name
(if (featurep 'xemacs)
--
-- Stephe
_______________________________________________
Dvc-dev mailing list
[email protected]
https://mail.gna.org/listinfo/dvc-dev