* building pgnus with VPATH
@ 1999-11-13 0:00 Jason R Mastaler
1999-11-13 0:38 ` Denys Duchier
0 siblings, 1 reply; 3+ messages in thread
From: Jason R Mastaler @ 1999-11-13 0:00 UTC (permalink / raw)
It would be nice if pgnus could be compiled in a separate directory
than the sources, especially now that we can update via CVS.
Although I'm not sure how to implement this, I believe that this
requires some changes to the pgnus autoconf scripts as well as a
version of `make' that supports the `VPATH' variable, such as GNU
`make'. `configure' can then look for the pgnus source code in the
directory that `configure' is in when run, and the srcdir remains
clean.
% mkdir objdir
% cd objdir
% srcdir/configure && make
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: building pgnus with VPATH
1999-11-13 0:00 building pgnus with VPATH Jason R Mastaler
@ 1999-11-13 0:38 ` Denys Duchier
1999-11-13 0:58 ` William M. Perry
0 siblings, 1 reply; 3+ messages in thread
From: Denys Duchier @ 1999-11-13 0:38 UTC (permalink / raw)
Jason R Mastaler <jason@4b.org> writes:
> It would be nice if pgnus could be compiled in a separate directory
> than the sources, especially now that we can update via CVS.
>
> Although I'm not sure how to implement this
This request also gets my vote. The autoconf documentation explains
the technique:
> To support `VPATH', each `Makefile.in' should contain two lines that
> look like:
>
> srcdir = @srcdir@
> VPATH = @srcdir@
This is nice for several reasons: (1) you can have one source tree and
multiple build dirs for different architectures (or, in gnus case,
different emacs implementations) - this is great for updating in an
heterogenous environment, (2) you don't pollute the source tree, which
is great when you also participate in the development. Less filling
_and_ tastes great!
Cheers,
--
Dr. Denys Duchier Denys.Duchier@ps.uni-sb.de
Forschungsbereich Programmiersysteme (Programming Systems Lab)
Universitaet des Saarlandes, Geb. 45 http://www.ps.uni-sb.de/~duchier
Postfach 15 11 50 Phone: +49 681 302 5618
66041 Saarbruecken, Germany Fax: +49 681 302 5615
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: building pgnus with VPATH
1999-11-13 0:38 ` Denys Duchier
@ 1999-11-13 0:58 ` William M. Perry
0 siblings, 0 replies; 3+ messages in thread
From: William M. Perry @ 1999-11-13 0:58 UTC (permalink / raw)
Cc: ding
Denys Duchier <Denys.Duchier@ps.uni-sb.de> writes:
> Jason R Mastaler <jason@4b.org> writes:
>
> > It would be nice if pgnus could be compiled in a separate directory
> > than the sources, especially now that we can update via CVS.
> >
> > Although I'm not sure how to implement this
>
> This request also gets my vote. The autoconf documentation explains
> the technique:
>
> > To support `VPATH', each `Makefile.in' should contain two lines that
> > look like:
> >
> > srcdir = @srcdir@
> > VPATH = @srcdir@
>
> This is nice for several reasons: (1) you can have one source tree and
> multiple build dirs for different architectures (or, in gnus case,
> different emacs implementations) - this is great for updating in an
> heterogenous environment, (2) you don't pollute the source tree, which is
> great when you also participate in the development. Less filling _and_
> tastes great!
Emacs/W3 supports this - there are a couple of gotchas though. This is
from the Emacs/W3 lisp/docomp.el script that is loaded before
batch-byte-compile is executed.
;; 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"))))
Building in a separate dir is very nice for keeping Emacs & XEmacs bytecode
separate.
-Bill P.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~1999-11-13 0:58 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-11-13 0:00 building pgnus with VPATH Jason R Mastaler
1999-11-13 0:38 ` Denys Duchier
1999-11-13 0:58 ` William M. Perry
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).