unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Making a script to update and compile from CVS
@ 2005-01-13 21:36 Lennart Borgman
  2005-01-13 23:34 ` Miles Bader
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Lennart Borgman @ 2005-01-13 21:36 UTC (permalink / raw


I saw someone made a try on EmacsWiki to automate the process of copying and
building Emacs from CVS. So I started to wonder how to do the building
process after a checkout update from CVS. There is no definitive answer in
INSTALL.CVS (unless you want to do "make bootstrap"). Doing "make autoloads
..." and "make recompile" are rather fast so there is no need to hesitate to
always do them (not even on an old pc like mine). Sometimes I have seen that
doing multiple "make recompile ..." are necessary.

Now I wonder in what order to do this. Should something like this be ok:

  (in lisp)
  make autoloads ...
  make recompile ...
  make recompile ...
  make recompile ...

  (in main)
  make
  make info
  make install

(This is of course not failproof, but maybe useful.) Could please someone
who knows this better please comment on the order of things etc here?

^ permalink raw reply	[flat|nested] 9+ messages in thread
* Re: Making a script to update and compile from CVS
@ 2005-01-14 12:39 Robert J. Chassell
  2005-01-14 18:58 ` Vinicius Jose Latorre
  2005-01-14 21:40 ` Michael Albinus
  0 siblings, 2 replies; 9+ messages in thread
From: Robert J. Chassell @ 2005-01-14 12:39 UTC (permalink / raw


"Lennart Borgman" <lennart.borgman.073@student.lu.se> wrote

>    I saw someone made a try on EmacsWiki to automate the process of
>    copying and building Emacs from CVS.

Here is what I do:


;; Each day, as user `bob' in an instance of Emacs, I run this for CVS
;; updates:

    (progn
     (cd "/usr/local/src/emacs/")
     (cvs-update "/usr/local/src/emacs/" t))

;; Next, I run the fast `make recompile' command.  
;; The `make recompile' command recompiles all Lisp files which are
;; new; it does not create .elc files.  It only recompiles a file if
;; an .elc is already present.

     (progn
       (cd "/usr/local/src/emacs/")
       (compile
        "time make -C lisp autoloads && cd lisp && \
         time make recompile \
             EMACS=/usr/local/src/emacs/src/emacs && \
         cd /usr/local/src/emacs/ && \
         time make info html"))

;; (Once in a while I rebuild the DVI documentation by running 
;; `make info html dvi'.)

;; Occasionally, I run the `bootfast' command which recompiles all the
;; Emacs Lisp files.  I have been warned that sometimes an old .elc
;; file will cause trouble, but that has not happened yet.  Also, this
;; command deletes many other files.  This command takes a long time.

     (progn
       (cd "/usr/local/src/emacs/")
       (compile "date && time make bootfast"))

;; Finally, once in a great while, I configure and run `make bootstrap'
;; This takes a long time.

     (progn
       (cd "/usr/local/src/emacs/")
       (compile
        "./configure --with-type1 \
         --with-x-toolkit=gtk --with-pop \
         --prefix=/usr/local --with-sound=yes \
         && time make bootstrap"))

;; I have not had to update autoloads for months or maybe years, but
;; when I did, I used this command:

     (progn
       (cd "/usr/local/src/emacs/lisp/")
       (compile "make autoloads EMACS=../src/emacs"))

;; For installation, I run the following in a root owned instance of Emacs:

  (progn (cd "/usr/local/src/emacs/") (compile "time make install"))


;; To make tags, which I do occasionally:

  (progn (cd "/usr/local/src/emacs/") (compile "time make TAGS"))



-- 
    Robert J. Chassell                         
    bob@rattlesnake.com                         GnuPG Key ID: 004B4AC8
    http://www.rattlesnake.com                  http://www.teak.cc

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2005-01-15  0:12 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-01-13 21:36 Making a script to update and compile from CVS Lennart Borgman
2005-01-13 23:34 ` Miles Bader
2005-01-15  0:12   ` Richard Stallman
2005-01-13 23:38 ` Stefan Monnier
2005-01-14 10:26 ` Kai Großjohann
2005-01-14 19:39 ` Han Boetes
  -- strict thread matches above, loose matches on Subject: below --
2005-01-14 12:39 Robert J. Chassell
2005-01-14 18:58 ` Vinicius Jose Latorre
2005-01-14 21:40 ` Michael Albinus

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).