491
|
1 #!/bin/csh -fx
|
|
2 #
|
|
3 #Shell script for building and installing Emacs.
|
|
4
|
|
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 set LIBROOT=/u/emacs
|
|
11
|
|
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 set LISPPATH=/u/emacs/lisp
|
|
18
|
|
19 # Emacs will look here for its architecture-independent files (like
|
|
20 # the tutorial and the zippy database).
|
|
21 set DATADIR=/u/emacs/share-lib
|
|
22
|
|
23 # Emacs will look here for its architecture-dependent files, like
|
|
24 # executables for its utilities.
|
|
25 set LIBDIR=/u/emacs/arch-lib
|
|
26
|
|
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 set LOCKDIR=/u/emacs/lock
|
|
31
|
|
32 # This is where build-install should place the binaries people will
|
|
33 # want to run directly (like etags and Emacs itself).
|
|
34 set BINDIR=/usr/local/bin
|
|
35
|
|
36 /bin/sed < src/paths.h-dist > src/paths.h \
|
|
37 -e 's;/usr/local/emacs;'${LIBDIR}';g' \
|
|
38 -e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "'${LISPPATH}'";' \
|
|
39 -e 's;\(#.*PATH_EXEC\).*$$;\1 "'${LIBDIR}'";' \
|
|
40 -e 's;\(#.*PATH_DATA\).*$$;\1 "'${DATADIR}'";' \
|
|
41 -e 's;\(#.*LOCK\).*$$;\1 "'${LOCKDIR}'/";'
|
|
42
|
|
43 exit 1
|
|
44
|
|
45 (cd lib-src; make) || exit 1
|
|
46 (cd src; make) || exit 1
|
|
47
|
|
48 if (`pwd` != `(cd ${LIBROOT}; pwd)`) then
|
|
49 mv `pwd` ${LIBROOT}
|
|
50 if ($status) then
|
|
51 mkdir ${LIBROOT}
|
|
52 echo mv `pwd` to ${LIBROOT} failed--using tar to copy.
|
|
53 tar cf - . | (cd ${LIBROOT}; umask 0; tar xf -)
|
|
54 if ($status) then
|
|
55 echo tar-copying `pwd` to ${LIBROOT} failed.
|
|
56 exit 1
|
|
57 endif
|
|
58 endif
|
|
59 endif
|
|
60
|
|
61 cp ${LIBROOT}/etc/{ctags,etags} ${BINDIR}
|
|
62 mv ${LIBROOT}/src/xemacs ${BINDIR}/emacs
|
|
63 rm ${LIBROOT}/src/temacs
|
|
64 chmod 777 ${BINDIR}/{ctags,etags,emacs}
|