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

Reply via email to