Gnus development mailing list
 help / color / mirror / Atom feed
* 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).