Mercurial > emacs
annotate build-ins.in @ 15145:86a1f426871e
Include config.h after CRT headers. Include fcntl.h.
(child_process, MAX_CHILDREN, CHILD_ACTIVE): Moved to nt.h.
(DebugPrint): New macro.
(new_child): Create input event structures for child processes.
(delete_child): New function.
(reader_thread): Return nonzero upon failure. Use _sys_read_ahead.
(create_child): Add child_process and parent PID arguments.
Don't create input event or thread structures here.
Fixup Win95 negative process IDs.
(register_child): Don't set consumed event; instead, set thread
status so that select will release it.
(remove_child): Renamed to reap_process. Only free resources
of synchronous children.
(win32_wait): Renamed to sys_wait. Sanity check to make sure
handle to subprocess exists. Don't reclaim thread resources here.
(win32_spawnve): Renamed to sys_spawnve.
Check for proper wait mode first thing.
Convert command name to DOS format.
Quote whitespace and quotes in arguments to subprocess.
Use alloca instead of malloc.
If max subprocesses, return EAGAIN in hopes of another completing.
(sys_select): Add support for socket input. Remove dead code.
Check input from children fairly.
(sys_select) [HAVE_TIMEVAL]: Remove conditional check and code.
(win32_kill_process): Renamed to sys_kill. Use OpenProcess
to terminate process.
(prepate_standard_handles, reset_standard_handles): Moved here
from nt.c.
author | Geoff Voelker <voelker@cs.washington.edu> |
---|---|
date | Fri, 03 May 1996 18:35:50 +0000 |
parents | 1541c518f769 |
children |
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 | |
7544
1541c518f769
(copydests): Get rid of spurious `-'s.
Richard M. Stallman <rms@gnu.org>
parents:
4794
diff
changeset
|
99 mkdir ${emacsdir} |
1541c518f769
(copydests): Get rid of spurious `-'s.
Richard M. Stallman <rms@gnu.org>
parents:
4794
diff
changeset
|
100 chmod 777 ${emacsdir} |
617 | 101 fi |
102 ;; | |
103 ${statedir}/* ) | |
104 if [ ! -d ${statedir} ]; then | |
7544
1541c518f769
(copydests): Get rid of spurious `-'s.
Richard M. Stallman <rms@gnu.org>
parents:
4794
diff
changeset
|
105 mkdir ${statedir} |
1541c518f769
(copydests): Get rid of spurious `-'s.
Richard M. Stallman <rms@gnu.org>
parents:
4794
diff
changeset
|
106 chmod 777 ${statedir} |
617 | 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 |