From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/26800 Path: main.gmane.org!not-for-mail From: "William M. Perry" Newsgroups: gmane.emacs.gnus.general Subject: VPATH support for pgnus... Date: Sat, 13 Nov 1999 20:51:03 -0500 Sender: owner-ding@hpc.uh.edu Message-ID: <199911140151.UAA15568@megalith.bp.aventail.com> NNTP-Posting-Host: coloc-standby.netfonds.no X-Trace: main.gmane.org 1035163941 21309 80.91.224.250 (21 Oct 2002 01:32:21 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 21 Oct 2002 01:32:21 +0000 (UTC) Return-Path: Original-Received: from bart.math.uh.edu (bart.math.uh.edu [129.7.128.48]) by sclp3.sclp.com (8.8.5/8.8.5) with ESMTP id UAA23249 for ; Sat, 13 Nov 1999 20:48:54 -0500 (EST) Original-Received: from sina.hpc.uh.edu (lists@Sina.HPC.UH.EDU [129.7.3.5]) by bart.math.uh.edu (8.9.1/8.9.1) with ESMTP id TAB28667; Sat, 13 Nov 1999 19:48:48 -0600 (CST) Original-Received: by sina.hpc.uh.edu (TLB v0.09a (1.20 tibbs 1996/10/09 22:03:07)); Sat, 13 Nov 1999 19:48:46 -0600 (CST) Original-Received: from sclp3.sclp.com (root@sclp3.sclp.com [204.252.123.139]) by sina.hpc.uh.edu (8.9.3/8.9.3) with ESMTP id TAA09054 for ; Sat, 13 Nov 1999 19:48:36 -0600 (CST) Original-Received: from biff.kiva.net (biff.kiva.net [206.97.64.31]) by sclp3.sclp.com (8.8.5/8.8.5) with SMTP id UAA23239 for ; Sat, 13 Nov 1999 20:48:04 -0500 (EST) Original-Received: (qmail 12289 invoked from network); 14 Nov 1999 01:48:02 -0000 Original-Received: from usrpri2-31.kiva.net (HELO megalith.bp.aventail.com) (206.97.75.96) by biff.kiva.net with SMTP; 14 Nov 1999 01:48:02 -0000 Original-Received: (from wmperry@localhost) by megalith.bp.aventail.com (8.9.3/8.9.3) id UAA15568; Sat, 13 Nov 1999 20:51:03 -0500 X-Authentication-Warning: megalith.bp.aventail.com: wmperry set sender to wmperry@aventail.com using -f Original-To: ding@gnus.org Precedence: list X-Majordomo: 1.94.jlt7 Xref: main.gmane.org gmane.emacs.gnus.general:26800 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:26800 This works for the lisp files at least. The texinfo stuff needs a little work on the 'include' bits. -Bill P. [gnus]cvs diff -u cvs server: Diffing . cvs server: Diffing contrib cvs server: Diffing etc cvs server: Diffing lisp Index: lisp/Makefile.in =================================================================== RCS file: /usr/local/cvsroot/gnus/lisp/Makefile.in,v retrieving revision 5.3 diff -u -r5.3 Makefile.in --- lisp/Makefile.in 1999/07/06 10:59:47 5.3 +++ lisp/Makefile.in 1999/11/14 01:49:47 @@ -6,22 +6,24 @@ top_srcdir = @top_srcdir@ EMACS = @EMACS@ -FLAGS = -batch -q -no-site-file -l ./dgnushack.el +FLAGS = -batch -q -no-site-file -l $(srcdir)/dgnushack.el INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ SHELL = /bin/sh VPATH = @srcdir@ all total: - rm -f *.elc ; $(EMACS) $(FLAGS) -f dgnushack-compile + rm -f *.elc + srcdir=$(srcdir) $(EMACS) $(FLAGS) -f dgnushack-compile warn: - rm -f *.elc ; $(EMACS) $(FLAGS) --eval '(dgnushack-compile t)' 2>&1 | egrep -v "variable G|inhibit-point-motion-hooks|coding-system|temp-results|variable gnus|variable nn|scroll-in-place|deactivate-mark|filladapt-mode|byte-code-function-p|print-quoted|ps-right-header|ps-left-header|article-inhibit|print-escape|ssl-program-arguments|message-log-max" + rm -f *.elc + srcdir=$(srcdir) $(EMACS) $(FLAGS) --eval '(dgnushack-compile t)' 2>&1 | egrep -v "variable G|inhibit-point-motion-hooks|coding-system|temp-results|variable gnus|variable nn|scroll-in-place|deactivate-mark|filladapt-mode|byte-code-function-p|print-quoted|ps-right-header|ps-left-header|article-inhibit|print-escape|ssl-program-arguments|message-log-max" # The "clever" rule is unsafe, since redefined macros are loaded from # .elc files, and not the .el file. clever some: - $(EMACS) $(FLAGS) -f dgnushack-compile + srcdir=$(srcdir) $(EMACS) $(FLAGS) -f dgnushack-compile install: clever rm -f dgnushack.elc Index: lisp/dgnushack.el =================================================================== RCS file: /usr/local/cvsroot/gnus/lisp/dgnushack.el,v retrieving revision 5.3 diff -u -r5.3 dgnushack.el --- lisp/dgnushack.el 1999/01/15 20:51:01 5.3 +++ lisp/dgnushack.el 1999/11/14 01:49:47 @@ -29,9 +29,31 @@ (fset 'facep 'ignore) (require 'cl) + +;; If we are building w3 in a different directory than the source +;; directory, we must read *.el from source directory and write *.elc +;; into the building directory. For that, we define this function +;; before loading bytecomp. Bytecomp doesn't overwrite this function. +(defun byte-compile-dest-file (filename) + "Convert an Emacs Lisp source file name to a compiled file name. + In addition, remove directory name part from FILENAME." + (setq filename (byte-compiler-base-file-name filename)) + (setq filename (file-name-sans-versions filename)) + (setq filename (file-name-nondirectory filename)) + (if (memq system-type '(win32 w32 mswindows windows-nt)) + (setq filename (downcase filename))) + (cond ((eq system-type 'vax-vms) + (concat (substring filename 0 (string-match ";" filename)) "c")) + ((string-match emacs-lisp-file-regexp filename) + (concat (substring filename 0 (match-beginning 0)) ".elc")) + (t (concat filename ".elc")))) + (require 'bytecomp) -(push "." load-path) -(load "./lpath.el" nil t) + +(defvar srcdir (or (getenv "srcdir") ".")) + +(push srcdir load-path) +(load (expand-file-name "lpath.el" srcdir) nil t) (defalias 'device-sound-enabled-p 'ignore) (defalias 'play-sound-file 'ignore) @@ -60,7 +82,7 @@ (push \"~/lisp/custom\" load-path) Modify to suit your needs.")) - (let ((files (directory-files "." nil "^[^=].*\\.el$")) + (let ((files (directory-files srcdir nil "^[^=].*\\.el$")) (xemacs (string-match "XEmacs" emacs-version)) ;;(byte-compile-generate-call-tree t) file elc) @@ -68,6 +90,7 @@ (require 'w3-forms) (error (setq files (delete "nnweb.el" (delete "nnlistserv.el" files))))) (while (setq file (pop files)) + (setq file (expand-file-name file srcdir)) (when (or (and (not xemacs) (not (member file '("gnus-xmas.el" "gnus-picon.el" "messagexmas.el" "nnheaderxm.el" cvs server: Diffing texi Index: texi/Makefile.in =================================================================== RCS file: /usr/local/cvsroot/gnus/texi/Makefile.in,v retrieving revision 5.6 diff -u -r5.6 Makefile.in --- texi/Makefile.in 1999/02/26 17:00:51 5.6 +++ texi/Makefile.in 1999/11/14 01:49:48 @@ -4,6 +4,7 @@ subdir = texi top_srcdir = @top_srcdir@ +VPATH=$(srcdir) TEXI2DVI=texi2dvi EMACS=emacs MAKEINFO=@MAKEINFO@ cvs server: Diffing texi/ps