Mercurial > emacs
annotate build-ins.in @ 5020:94de08fd8a7c
(Fnext_single_property_change): Fix missing \n\.
| author | Richard M. Stallman <rms@gnu.org> |
|---|---|
| date | Mon, 15 Nov 1993 06:41:45 +0000 |
| parents | b0eeade85c1f |
| children | 1541c518f769 |
| rev | line source |
|---|---|
| 522 | 1 #!/bin/sh -x |
| 491 | 2 # |
| 3 #Shell script for building and installing Emacs. | |
| 4 | |
| 617 | 5 # ==================== Where To Install Things ==================== |
| 6 | |
| 7 # The default location for installation. Everything is placed in | |
| 8 # subdirectories of this directory. This directory must exist when | |
| 9 # you start installation. The default values for many of the | |
| 10 # variables below are expressed in terms of this one, so you may not | |
| 11 # need to change them. | |
| 12 prefix=/usr/local | |
| 13 | |
| 14 # Where to install Emacs and other binaries that people will want to | |
| 15 # run directly (like etags). | |
| 16 bindir=${prefix}/bin | |
| 17 | |
| 18 # A directory under which we will install many of Emacs's files. The | |
| 19 # default values for many of the variables below are expressed in | |
| 20 # terms of this one, so you may not need to change them. | |
| 621 | 21 emacsdir=${prefix}/emacs-19.0 |
| 617 | 22 |
| 23 # Where to install and expect the architecture-independent data files | |
| 621 | 24 # (like the tutorial and the Zippy database). |
| 617 | 25 datadir=${emacsdir}/etc |
| 26 | |
| 621 | 27 # Where to install the elisp files distributed with Emacs. Strictly |
| 28 # speaking, all the elisp files should go under datadir (above), since | |
| 29 # both elisp source and compiled elisp are completely portable, but | |
| 30 # it's traditional to give the lisp files their own subdirectory. | |
| 617 | 31 lispdir=${emacsdir}/lisp |
| 32 | |
| 621 | 33 # Directories Emacs should search for elisp files specific to this |
| 34 # site (i.e. customizations), before consulting ${lispdir}. This | |
| 35 # should be a colon-separated list of directories. | |
| 36 locallisppath=${emacsdir}/local-lisp | |
| 37 | |
| 38 # Where Emacs will search to find its elisp files. Before changing | |
| 39 # this, check to see if your purpose wouldn't better be served by | |
| 40 # changing locallisppath. This should be a colon-separated list of | |
| 41 # directories. | |
| 42 lisppath=${locallisppath}:${lispdir} | |
| 43 | |
| 44 # Where Emacs will search for its elisp files before dumping. This is | |
| 45 # only used during the process of compiling Emacs, to help Emacs find | |
| 46 # its lisp files before they've been installed in their final | |
| 47 # location. It's usually identical to lisppath, except that the entry | |
| 48 # for the directory containing the installed lisp files has been | |
| 49 # replaced with ../lisp. This should be a colon-separated list of | |
| 50 # directories. | |
| 51 dumplisppath=../lisp | |
| 617 | 52 |
| 53 # Where to install and expect the files that Emacs modifies as it | |
| 54 # runs. These files are all architecture-independent. Right now, | |
| 55 # the only such data is the locking directory. | |
| 56 statedir=${emacsdir} | |
| 57 | |
| 58 # Where to create and expect the locking directory, where the Emacs | |
| 59 # locking code keeps track of which files are currently being edited. | |
| 60 lockdir=${statedir}/lock | |
| 61 | |
| 62 # Where to install and expect executable files to be run by Emacs | |
| 63 # rather than directly by users, and other architecture-dependent | |
| 64 # data. | |
| 65 libdir=${emacsdir}/arch-lib | |
| 66 | |
| 67 # Where to install Emacs's man pages. | |
| 68 mandir=/usr/man/man1 | |
| 69 | |
| 70 # Where to install and expect the info files describing Emacs. In the | |
| 71 # past, this defaulted to a subdirectory of ${prefix}/lib/emacs, but | |
| 72 # since there are now many packages documented with the texinfo | |
| 73 # system, it is inappropriate to imply that it is part of Emacs. | |
| 74 infodir=${prefix}/info | |
| 75 | |
| 621 | 76 removenullpaths="sed -e 's/^://' -e 's/:"'$'"//' -e 's/::/:/'" |
| 491 | 77 |
| 621 | 78 lisppath=`echo ${lisppath} | ${removenullpaths}` ; \ |
| 79 dumplisppath=`echo ${dumplisppath} | ${removenullpaths}` ; \ | |
| 80 /bin/sed < src/paths.h.in > src/paths.h \ | |
| 81 -e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "'$${lisppath}'";' \ | |
| 82 -e 's;\(#.*PATH_DUMPLOADSEARCH\).*$$;\1 "'$${dumplisppath}'";' \ | |
| 83 -e 's;\(#.*PATH_EXEC\).*$$;\1 "${libdir}";' \ | |
| 84 -e 's;\(#.*PATH_DATA\).*$$;\1 "${datadir}";' \ | |
| 625 | 85 -e 's;\(#.*PATH_LOCK\).*$$;\1 "${lockdir}/";' |
| 491 | 86 |
| 87 (cd lib-src; make) || exit 1 | |
| 88 (cd src; make) || exit 1 | |
| 89 | |
| 617 | 90 # Subdirectories to install, and where they'll go. |
| 91 copydir=arch-lib etc info lisp | |
| 92 copydests=${libdir} ${datadir} ${infodir} ${lispdir} | |
| 93 | |
| 94 # If any of the directories are below ${emacsdir} or ${statedir}, create them. | |
| 95 for dir in ${copydests}; do | |
| 96 case "${dir}" in | |
| 97 ${emacsdir}/* ) | |
| 98 if [ ! -d ${emacsdir} ]; then | |
| 99 -mkdir ${emacsdir} | |
| 100 -chmod 777 ${emacsdir} | |
| 101 fi | |
| 102 ;; | |
| 103 ${statedir}/* ) | |
| 104 if [ ! -d ${statedir} ]; then | |
| 105 -mkdir ${statedir} | |
| 106 -chmod 777 ${statedir} | |
| 107 fi | |
| 108 ;; | |
| 109 esac | |
| 110 done | |
| 111 | |
| 112 set ${copydests} | |
| 113 for dir in ${copydir} ; do | |
| 114 dest=$1 ; shift | |
| 115 mv ${dir} ${dest} | |
| 116 if [ $? != 0 ]; then | |
| 117 echo mv ${dir} to ${dest} failed -- using tar to copy. | |
| 118 if [ `/bin/pwd`/${dir} != `(cd ${dest}; /bin/pwd)` ] ; then | |
| 119 (cd ${dir}; tar cf - . ) | (cd ${dest}; umask 0; tar xf - ) | |
| 120 if [ $? != 0 ]; then | |
| 121 echo "tar-copying ${dir} to ${dest} failed too. I give up." | |
| 122 exit 1 | |
| 123 fi | |
| 124 for subdir in `find ${dest} -type d ! -name RCS -print` ; do | |
| 125 rm -rf ${subdir}/RCS | |
| 126 rm -f ${subdir}/\#* | |
| 127 rm -f ${subdir}/*~ | |
| 128 done | |
| 522 | 129 fi |
| 130 fi | |
| 617 | 131 done |
| 491 | 132 |
| 617 | 133 cp ${libdir}/[ce]tags ${bindir} |
|
4794
b0eeade85c1f
Change src/xemacs to src/emacs. We no longer create src/xemacs, so
Brian Fox <bfox@gnu.org>
parents:
625
diff
changeset
|
134 mv src/emacs ${BINDIR}/emacs |
| 617 | 135 rm src/temacs |
| 136 chmod 777 ${bindir}/[ce]tags ${bindir}/emacs |
