3 #Shell script for building and installing Emacs.
5 # Where to install all of Emacs's data files - the lisp code,
6 # documentation tree, and the architecture-dependent and -independent
7 # libaries. The default definitions for the variables below are
8 # expressed in terms of this one, so you may not need to change them.
9 # set LIBROOT=/usr/local/lib/emacs-19.0
10 LIBROOT
=/usr
/local
/emacs
12 # Emacs will search this path to find its elisp files. This should be
13 # a colon-separated list of directories. Strictly speaking, all the
14 # elisp files should go under DATADIR (below), since both elisp source
15 # and compiled elisp are completely portable, but it's traditional to
16 # give the lisp files their own subdirectory.
17 LISPPATH
=/usr
/local
/emacs
/local-lisp
:/usr
/local
/emacs
/lisp
19 # Emacs will look here for its architecture-independent files (like
20 # the tutorial and the zippy database).
21 DATADIR
=/usr
/local
/emacs
/share-lib
23 # Emacs will look here for its architecture-dependent files, like
24 # executables for its utilities.
25 LIBDIR
=/usr
/local
/emacs
/arch-lib
27 # The locking directory, where the Emacs locking code keeps track of
28 # which files are currently being edited.
29 # set LOCKDIR=${LIBROOT}/lock
30 LOCKDIR
=/usr
/local
/emacs
/lock
32 # This is where build-install should place the binaries people will
33 # want to run directly (like etags and Emacs itself).
36 /bin
/sed < src
/paths.h-dist
> src
/paths.h \
37 -e 's;\(#.*PATH_LOADSEARCH\).*$;\1 "'${LISPPATH}'";' \
38 -e 's;\(#.*PATH_EXEC\).*$;\1 "'${LIBDIR}'";' \
39 -e 's;\(#.*PATH_DATA\).*$;\1 "'${DATADIR}'";' \
40 -e 's;\(#.*LOCK\).*$;\1 "'${LOCKDIR}'/";'
42 (cd lib-src
; make) ||
exit 1
43 (cd src
; make) ||
exit 1
45 if [ `pwd` != `(cd ${LIBROOT}; pwd)` ]; then
47 if [ $?
!= '0' ]; then
49 echo mv `pwd` to
${LIBROOT} failed--using
tar to copy.
50 tar cf
- . |
(cd ${LIBROOT}; umask 0; tar xf
-)
51 if [ $?
!= '0' ]; then
52 echo tar-copying
`pwd` to
${LIBROOT} failed.
58 cp ${LIBROOT}/etc
/[ce
]tags
${BINDIR}
59 mv ${LIBROOT}/src
/xemacs
${BINDIR}/emacs
60 rm ${LIBROOT}/src
/temacs
61 chmod 777 ${BINDIR}/[ce
]tags
${BINDIR}/emacs