[comp.emacs] Building new versions of emacs and DOC.

wbt@rex.cs.tulane.edu (Bill Thomason) (05/22/91)

I'm currently building emacs and installing some of the non-machine dependent
files on sharable filesystems.  I'm setting up soft links to the machine
dependent files.  Everytime I recompile emacs I get a new version of DOC
named DOC-18.57.* .  The most recently compiled version references the most
recently created DOC-18.57.* file.

At my site I have to compile emacs for 3 different architectures.  Each
binary will refer to a differnt DOC-18.57 file.  I have seen no differences
between any two of the generated DOC files.  What I'd like to do is store
one copy of DOC and have it referenceable by the various copies of emacs
I will install.  I would like to avoid cluttering up the shared directory
with hard links to one copy of DOC.

Somewhere the installation process is keeping track the number of
compilations.  Where is that location?  If I can modify this number
will the modification affect only the naming convention of the DOC-18.57.*
and emac-18.57.* files?

thanks in advance,
-bill

gamin@ireq-robot.hydro.qc.ca (Martin Boyer) (05/25/91)

wbt@rex.cs.tulane.edu (Bill Thomason) writes:

   At my site I have to compile emacs for 3 different architectures.  Each
   binary will refer to a differnt DOC-18.57 file.  I have seen no differences
   between any two of the generated DOC files.  What I'd like to do is store
   one copy of DOC and have it referenceable by the various copies of emacs
   I will install.

I agree with you.  As far as I can tell, the DOC files for our Sun3
architecture are the same as those produced on SPARCs.  Cygnus support
(we have a service contract), hovewer, says that the DOC files can't
be shared across architectures.  My feeling is that as long as the
architectures save data the same way (endianness), the DOC files don't
change.  Anybody else would care to comment on this?

   Somewhere the installation process is keeping track the number of
   compilations.  Where is that location?  If I can modify this number
   will the modification affect only the naming convention of the DOC-18.57.*
   and emac-18.57.* files?

Yes, and the version number is controlled by an elisp file,
inc-vers.el.  It reads the version.el file and increments the minor
version number it finds in there.  I have modified inc-vers.el to keep
the version number untouched, and I modify version.el manually every
time I modify important .el files.  We have one version number of
emacs for the whole site here.  Here is my version of inc-vers.el,
you'll simply have to modify the path of the version.el file as in:

(insert-file-contents "../lisp/version.el")


;----Le laboratoire de robotique de l'Institut de recherche d'Hydro-Quebec-----
; 
; Nom     : (load-file "inc-version")
; Fonction: Increment the recorded Emacs version number.
; Fichiers: inc-vers.el
; Notes   : 
; 
; Cree    : 10 octobre 90 ------- Martin Boyer <mboyer@ireq-robot.hydro.qc.ca>
; Modifie : 26 avril 91 -------2- Martin Boyer <mboyer@ireq-robot.hydro.qc.ca>
;           Copyright (C) 1985, 1986 Free Software Foundation, Inc.
; 
; Historique: 
; 
; 26 avril 91 -------2- Martin Boyer <mboyer@ireq-robot.hydro.qc.ca>
; 	Modifie pour utiliser le path complet de version.el.
; 
; 10 octobre 90 -----1- Martin Boyer <mboyer@ireq-robot.hydro.qc.ca>
; 	Modifie pour ne pas incrementer le numero de version; je prefere
; 	l'incrementer manuellement plutot qu'a chaque compilation.
;------------------------------------------------------------------------------

;; Load this file to increment the recorded Emacs version number.
;; Copyright (C) 1985, 1986 Free Software Foundation, Inc.

;; This file is part of GNU Emacs.

;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 1, or (at your option)
;; any later version.

;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.

;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING.  If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.


(insert-file-contents "/usr/local/gnu/elisp-ireq/version.el")

(re-search-forward "emacs-version \"[^\"]*[0-9]+\"")
(forward-char -1)
(save-excursion
  (save-restriction
    (narrow-to-region (point)
		      (progn (skip-chars-backward "0-9") (point)))
    (goto-char (point-min))
    (let ((version (read (current-buffer))))
      (delete-region (point-min) (point-max))
      (prin1 version (current-buffer)))))
(skip-chars-backward "^\"")
(message "La nouvelle version de Emacs sera %s"
	 (buffer-substring (point)
			   (progn (skip-chars-forward "^\"") (point))))


(erase-buffer)
(set-buffer-modified-p nil)

(kill-emacs)

--
Martin Boyer                            mboyer@ireq-robot.hydro.qc.ca
Institut de recherche d'Hydro-Quebec    mboyer@ireq-robot.uucp
Varennes, QC, Canada   J3X 1S1
+1 514 652-8412