603
|
1 #!/bin/sh
|
|
2 # Configuration script for GNU Emacs
|
|
3 # Copyright (C) 1992 Free Software Foundation, Inc.
|
|
4
|
|
5 #This file is part of GNU Emacs.
|
|
6
|
|
7 #GNU Emacs is free software; you can redistribute it and/or modify
|
|
8 #it under the terms of the GNU General Public License as published by
|
|
9 #the Free Software Foundation; either version 1, or (at your option)
|
|
10 #any later version.
|
|
11
|
|
12 #GNU Emacs is distributed in the hope that it will be useful,
|
|
13 #but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
15 #GNU General Public License for more details.
|
|
16
|
|
17 #You should have received a copy of the GNU General Public License
|
|
18 #along with GNU Emacs; see the file COPYING. If not, write to
|
|
19 #the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
20
|
|
21 # Shell script to edit files and make symlinks in preparation for
|
|
22 # compiling Emacs.
|
617
|
23 #
|
603
|
24 # Usage: configure machine
|
|
25 #
|
|
26 # If configure succeeds, it leaves its status in config.status.
|
617
|
27 # If configure fails after disturbing the status quo,
|
603
|
28 # config.status is removed.
|
|
29 #
|
|
30
|
1112
|
31 # Remove any leading "." elements from the path name. If we don't
|
|
32 # remove them, then another "./" will be prepended to the file name
|
|
33 # each time we use config.status, and the program name will get larger
|
|
34 # and larger. This wouldn't be a problem, except that since progname
|
|
35 # gets recorded in all the Makefiles this script produces,
|
638
|
36 # move-if-changed thinks they're different when they're not.
|
1112
|
37 #
|
|
38 # It would be nice if we could put the ./ in a \( \) group and then
|
|
39 # apply the * operator to that, so we remove as many leading ./././'s
|
|
40 # as are present, but some seds (like Ultrix's sed) don't allow you to
|
|
41 # apply * to a \( \) group. Bleah.
|
|
42 progname="`echo $0 | sed 's:^\./::'`"
|
603
|
43
|
|
44 short_usage="Type \`${progname} -usage' for more information about options."
|
|
45
|
|
46 usage_message="Usage: ${progname} MACHINENAME [-OPTION[=VALUE] ...]
|
621
|
47
|
|
48 This message needs to be updated.
|
|
49
|
603
|
50 Set compilation and installation parameters for GNU Emacs, and report.
|
|
51 MACHINENAME is the machine to build for. See \`etc/MACHINES'.
|
|
52 Options are:
|
|
53 -opsystem=SYSTEM - operating system to build for; see \`etc/MACHINES'.
|
621
|
54 -prefix=DIR - where to install Emacs's library files
|
603
|
55 These options have reasonable defaults (in []s), and may not be needed:
|
|
56 -g, -O - Passed to the compiler. If omitted, use -O only.
|
|
57 -cc=COMPILER - Which compiler to use. Defaults to gcc if available.
|
|
58 -libdir=DIR - where to look for arch-dependent library files
|
|
59 -datadir=DIR - where to look for architecture-independent library files
|
605
|
60 -bindir=DIR - where to install the Emacs executable, and some friends
|
603
|
61 -lisppath=PATH - colon-separated list of Elisp directories
|
|
62 -lockdir=DIR - where Emacs should do its file-locking stuff
|
|
63 -window_system=none or [x11, if it is installed] - what window system to use
|
|
64 -have_x_menu=yes or [no] - include menu support under X11
|
|
65 -gnu_malloc=[yes] or no - use the GNU memory allocator
|
|
66 -rel_alloc=[yes] or no - use compacting allocator for buffers
|
|
67 -highpri=N - run at N points higher-than-normal priority
|
605
|
68 -lisp_float_type=[yes] or no - Support native floating point in Elisp
|
603
|
69 If successful, ${progname} leaves its status in config.status. If
|
|
70 unsuccessful after disturbing the status quo, config.status is removed."
|
|
71
|
|
72 if [ ! -r ./src/lisp.h ]; then
|
|
73 echo "${progname}: Can't find Emacs sources in \`./src'.
|
732
|
74 Run this config script in the top directory of the Emacs source tree." >&2
|
603
|
75 exit 1
|
|
76 fi
|
|
77
|
|
78 options=":\
|
|
79 usage:help:\
|
|
80 machine:opsystem:\
|
|
81 g:O:cc:\
|
621
|
82 prefix:bindir:emacsdir:datadir:lispdir:locallisppath:\
|
|
83 lisppath:buildlisppath:statedir:lockdir:libdir:mandir:infodir:\
|
603
|
84 gnu_malloc:rel_alloc:highpri:lisp_float_type:\
|
|
85 window_system:have_x_menu:\
|
|
86 "
|
|
87
|
|
88 boolean_opts=":\
|
|
89 g:O:\
|
|
90 gnu_malloc:rel_alloc:lisp_float_type:have_x_menu:\
|
|
91 "
|
|
92
|
|
93 config_h_opts=":\
|
|
94 highpri:gnu_malloc:rel_alloc:lisp_float_type:\
|
|
95 have_x_windows:have_x11:have_x_menu:\
|
|
96 c_switch_site:sigtype:\
|
|
97 "
|
|
98
|
621
|
99 prefix=
|
605
|
100 bindir=/usr/local/bin
|
603
|
101 gnu_malloc=yes
|
|
102 lisp_float_type=yes
|
|
103
|
|
104 # The default values for the following options are guessed at after other
|
|
105 # options have been checked and given values, so we set them to null here.
|
|
106 lisppath=""
|
|
107 datadir=""
|
|
108 libdir=""
|
|
109 lockdir=""
|
|
110 window_system=""
|
|
111 have_x_menu=""
|
|
112
|
638
|
113 # Record all the arguments, so we can save them in config.status.
|
|
114 arguments="$*"
|
|
115
|
617
|
116 echo "Examining options."
|
621
|
117 while [ $# != 0 ]; do
|
|
118 arg="$1"
|
603
|
119 case "${arg}" in
|
|
120 -*)
|
|
121 # Separate the switch name from the value it's being given.
|
|
122 case "${arg}" in
|
|
123 -*=* )
|
|
124 opt=`echo ${arg} | sed 's:^-\([^=]*\)=.*$:\1:'`
|
|
125 val=`echo ${arg} | sed 's:^-[^=]*=\(.*\)$:\1:'`
|
|
126 valomitted=no
|
|
127 ;;
|
|
128 -* )
|
621
|
129 # If FOO is a boolean argument, -FOO is equivalent to
|
|
130 # -FOO=yes. Otherwise, the value comes from the next
|
|
131 # argument - see below.
|
603
|
132 opt=`echo ${arg} | sed 's:^-\(.*\)$:\1:'`
|
|
133 val="yes"
|
|
134 valomitted=yes
|
|
135 ;;
|
|
136 esac
|
|
137
|
|
138 # Make sure the argument is valid and unambiguous.
|
|
139 case ${options} in
|
|
140 *:${opt}:* ) # Exact match.
|
|
141 optvar=${opt}
|
|
142 ;;
|
|
143 *:${opt}*:${opt}*:* ) # Ambiguous prefix.
|
|
144 echo "\`-${opt}' is an ambiguous switch; it could be any of the following:"
|
732
|
145 # We can't just use tr to translate colons to newlines, since
|
|
146 # BSD sed and SYSV sed use different syntaxes for that.
|
|
147 spaced_options=`echo ${options} | tr ':' ' '`
|
|
148 echo `(for option in ${spaced_options}; do echo $option; done) \
|
|
149 | grep "^${opt}"`
|
603
|
150 echo ${short_usage}
|
|
151 exit 1
|
|
152 ;;
|
|
153 *:${opt}*:* ) # Unambigous prefix.
|
|
154 optvar=`echo ${options} | sed 's/^.*:\('${opt}'[^:]*\):.*$/\1/'`
|
|
155 ;;
|
|
156 * )
|
|
157 (echo "\`-${opt}' is not a valid option."
|
|
158 echo "${short_usage}") | more
|
|
159 exit 1
|
|
160 ;;
|
|
161 esac
|
|
162
|
|
163 case "${optvar}" in
|
|
164 usage | help)
|
|
165 echo "${usage_message}" | more
|
|
166 exit 1
|
|
167 ;;
|
|
168 esac
|
|
169
|
|
170 # If the variable is supposed to be boolean, make sure the value
|
|
171 # given is either "yes" or "no". If not, make sure some value
|
|
172 # was given.
|
|
173 case "${boolean_opts}" in
|
|
174 *:${optvar}:* )
|
|
175 case "${val}" in
|
|
176 y | ye | yes ) val=yes ;;
|
|
177 n | no ) val=no ;;
|
|
178 * )
|
|
179 echo "The \`-${optvar}' option (\`-${opt}') is supposed to have a boolean
|
732
|
180 value - set it to either \`yes' or \`no'." >&2
|
603
|
181 exit 1
|
|
182 ;;
|
|
183 esac
|
|
184 ;;
|
|
185 *)
|
|
186 if [ "${valomitted}" = "yes" ]; then
|
621
|
187 if [ $# = 1 ]; then
|
|
188 (echo "${progname}: You must give a value for the \`-${opt}' option, as in
|
|
189 \`-${opt}=FOO'."
|
|
190 echo "${short_usage}") | more
|
|
191 exit 1
|
|
192 fi
|
|
193 shift; val="$1"
|
603
|
194 fi
|
|
195 ;;
|
|
196 esac
|
|
197
|
|
198 eval "${optvar}=\"${val}\""
|
|
199 ;;
|
|
200 *)
|
|
201 machine=${arg}
|
|
202 ;;
|
|
203 esac
|
621
|
204 shift
|
603
|
205 done
|
|
206
|
|
207 if [ "${machine}" = "" ]; then
|
|
208 (echo "You must specify a machine name as an argument to ${progname}."
|
|
209 echo "${short_usage}") | more
|
|
210 exit 1
|
|
211 fi
|
|
212
|
617
|
213 echo "Checking the machine."
|
603
|
214 machfile="m/${machine}.h"
|
|
215 if [ ! -r src/${machfile} ]; then
|
|
216 echo "${progname}: Emacs has no configuration info for the machine called
|
|
217 \`${machine}'. Look at etc/MACHINES for the names of machines
|
732
|
218 that Emacs has been ported to." >&2
|
603
|
219 exit 1
|
|
220 fi
|
|
221
|
617
|
222 echo "Checking the operating system."
|
603
|
223 if [ "${opsystem}" = "" ]; then
|
|
224
|
|
225 echo " No operating system explicitly specified."
|
617
|
226 echo " Guessing, based on machine."
|
603
|
227 # Get the default operating system to go with the specified machine.
|
|
228 opsystem=`grep 'USUAL-OPSYS="' src/${machfile} \
|
|
229 | sed 's/^.*USUAL-OPSYS="\([^"]*\)".*$/\1/'`
|
|
230
|
|
231 if [ "${opsystem}" = "" ]; then
|
|
232 echo "${progname}: Emacs's configuration files don't suggest what operating
|
|
233 system a \`${machine}' machine might run. Try specifying the
|
|
234 operating system explicitly by passing ${progname} an
|
|
235 \`-opsystem=SYSTEM-NAME' flag. Look at etc/MACHINES for the
|
732
|
236 names of operating systems that Emacs has been ported to." >&2
|
603
|
237 exit 1
|
|
238 fi
|
|
239
|
|
240 if [ "${opsystem}" = "note" ]; then
|
|
241 echo "The \`${machine}' machine can be used with more than one operating
|
|
242 system, and Emacs's configuration info isn't clever enough to figure
|
|
243 out which one you're running. Run ${progname} with -machine and
|
|
244 -opsystem arguments as specified below for the appropriate system.
|
|
245 (This information comes from the file \`etc/MACHINES' - see that
|
|
246 file for more detail.)
|
|
247
|
732
|
248 " >&2
|
603
|
249 sed < src/${machfile} -e '1,/NOTE-START/d' -e '/NOTE-END/,$d' | more
|
|
250 echo
|
|
251 exit 1
|
|
252 fi
|
|
253
|
|
254 opsysfile="s/${opsystem}.h"
|
|
255 if [ ! -r src/${opsysfile} ]; then
|
|
256 echo "${progname}: Emacs's configuration files say that the default
|
|
257 operating system for the machine \`${machine}' is \`${opsystem}',
|
|
258 but there is no configuration file for \`${opsystem}', so Emacs's
|
|
259 default info is screwed up. Try specifying the operating system
|
732
|
260 explicitly by passing ${progname} an \`-opsystem=SYSTEM-NAME' flag." >&2
|
603
|
261 exit 1
|
|
262 fi
|
|
263 else
|
|
264 opsysfile="s/${opsystem}.h"
|
|
265 if [ ! -r src/${opsysfile} ]; then
|
|
266 echo "${progname}: Emacs has no configuration info for the operating system
|
|
267 \`${opsystem}'. Look at etc/MACHINES for the names of operating
|
732
|
268 systems that Emacs has been ported to." >&2
|
603
|
269 exit 1
|
|
270 fi
|
|
271 fi
|
|
272
|
621
|
273 if [ ! "${prefix}" ]; then
|
|
274 prefix="/usr/local"
|
|
275 fi
|
|
276
|
|
277 if [ ! "${emacsdir}" ]; then
|
|
278 emacsdir="${prefix}/emacs-19.0"
|
|
279 fi
|
|
280
|
|
281 if [ ! "${datadir}" ]; then
|
|
282 datadir="${emacsdir}/etc"
|
|
283 fi
|
|
284
|
|
285 if [ ! "${lispdir}" ]; then
|
|
286 lispdir="${emacsdir}/lisp"
|
|
287 fi
|
|
288
|
|
289 if [ ! "${locallisppath}" ]; then
|
|
290 locallisppath="${emacsdir}/local-lisp"
|
|
291 fi
|
|
292
|
|
293 if [ ! "${lisppath}" ]; then
|
|
294 lisppath="${locallisppath}:${lispdir}"
|
|
295 fi
|
|
296
|
|
297 if [ ! "${buildlisppath}" ]; then
|
|
298 buildlisppath=../lisp
|
|
299 fi
|
|
300
|
|
301 if [ ! "${statedir}" ]; then
|
|
302 statedir="${emacsdir}"
|
|
303 fi
|
|
304
|
|
305 if [ ! "${lockdir}" ]; then
|
|
306 lockdir="${statedir}/lock"
|
|
307 fi
|
|
308
|
|
309 if [ "${libdir}" = "" ]; then
|
|
310 libdir="${emacsdir}/arch-lib"
|
|
311 fi
|
|
312
|
|
313 if [ ! "${mandir}" ]; then
|
|
314 mandir="/usr/man/man1"
|
|
315 fi
|
|
316
|
|
317 if [ ! "${infodir}" ]; then
|
|
318 infodir="${prefix}/info"
|
603
|
319 fi
|
|
320
|
617
|
321 echo "Checking window system."
|
732
|
322 # Note that SYSV `tr' doesn't handle character ranges.
|
|
323 window_system="`echo ${window_system} \
|
|
324 | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
|
603
|
325 case "${window_system}" in
|
|
326 "none" | "x11" | "x10" ) ;;
|
|
327 "x" ) window_system=x11 ;;
|
|
328 "" )
|
617
|
329 echo " No window system specifed. Looking for X Windows."
|
603
|
330 window_system=none
|
958
|
331 if [ -r /usr/lib/libX11.a -o -d /usr/include/X11 ]; then
|
603
|
332 window_system=x11
|
617
|
333 fi
|
603
|
334 ;;
|
|
335 * )
|
732
|
336 echo "The \`-window_system' option must be set to \`none' or \`X11'." >&2
|
603
|
337 exit 1
|
|
338 ;;
|
|
339 esac
|
|
340
|
|
341 case "${window_system}" in
|
|
342 x11 )
|
|
343 have_x_windows=yes
|
|
344 have_x11=yes
|
|
345 ;;
|
|
346 x10 )
|
|
347 have_x_windows=yes
|
|
348 have_x11=no
|
|
349 ;;
|
|
350 none )
|
|
351 have_x_windows=no
|
|
352 have_x11=no
|
|
353 ;;
|
|
354 esac
|
|
355
|
|
356 if [ "${have_x_menu}" = "" ]; then
|
|
357 have_x_menu=no
|
|
358 fi
|
|
359
|
617
|
360 echo "Checking for GCC."
|
603
|
361 case "${cc}" in
|
|
362 "" )
|
|
363 temppath=`echo $PATH | sed 's/^:/.:/
|
|
364 s/::/:.:/g
|
|
365 s/:$/:./
|
|
366 s/:/ /g'`
|
|
367 cc=`(
|
|
368 for dir in ${temppath}; do
|
|
369 if [ -f ${dir}/gcc ]; then echo gcc; exit 0; fi
|
|
370 done
|
|
371 echo cc
|
|
372 )`
|
|
373 ;;
|
|
374 esac
|
|
375
|
621
|
376 case "${cc}" in
|
|
377 "gcc" )
|
|
378 # With GCC, both O and g should default to yes, no matter what
|
|
379 # the other is.
|
|
380 case "${O},${g}" in
|
|
381 , ) O=yes; g=yes ;;
|
|
382 ,* ) O=yes; ;;
|
|
383 *, ) g=yes ;;
|
|
384 esac
|
|
385 ;;
|
|
386 "*" )
|
|
387 # With other compilers, treat them as mutually exclusive,
|
|
388 # defaulting to debug.
|
|
389 case "${O},${g}" in
|
|
390 , ) O=no ; g=yes ;;
|
|
391 ,no ) O=yes; ;;
|
|
392 ,yes ) O=no ; ;;
|
|
393 no, ) g=yes ;;
|
|
394 yes, ) g=no ;;
|
|
395 esac
|
|
396 ;;
|
603
|
397 esac
|
|
398
|
621
|
399 # What is the return type of a signal handler? We run
|
|
400 # /usr/include/signal.h through cpp and grep for the declaration of
|
|
401 # the signal function. Yuck.
|
|
402 echo "Looking for return type of signal handler functions."
|
|
403 signal_h_file=''
|
|
404 if [ -r /usr/include/signal.h ]; then
|
|
405 signal_h_file=/usr/include/signal.h
|
|
406 elif [ -r /usr/include/sys/signal.h ]; then
|
|
407 signal_h_file=/usr/include/sys/signal.h
|
|
408 fi
|
|
409 sigtype=void
|
|
410 if [ "${signal_h_file}" ]; then
|
|
411 sigpattern='[ ]*([ ]*\*[ ]*signal[ ]*('
|
|
412
|
999
|
413 # We make a copy whose name ends in .c, so the compiler
|
621
|
414 # won't complain about having only been given a .h file.
|
|
415 tempcname="configure.tmp.$$.c"
|
999
|
416 cp ${signal_h_file} ${tempcname}
|
621
|
417 if ${cc} -E ${tempcname} | grep "int${sigpattern}" > /dev/null; then
|
|
418 sigtype=int
|
|
419 fi
|
999
|
420 rm -f ${tempcname}
|
621
|
421 fi
|
|
422
|
617
|
423 echo "Examining the machine- and system-dependent files to find out"
|
|
424 echo " - which libraries the lib-src programs will want, and"
|
|
425 echo " - whether the GNU malloc routines are usable."
|
|
426 tempcname="configure.tmp.$$.c"
|
1112
|
427 echo '#include "src/'${opsysfile}'"
|
|
428 #include "src/'${machfile}'"
|
603
|
429 #ifndef LIBS_MACHINE
|
|
430 #define LIBS_MACHINE
|
|
431 #endif
|
|
432 #ifndef LIBS_SYSTEM
|
|
433 #define LIBS_SYSTEM
|
|
434 #endif
|
621
|
435 @configure@ libsrc_libs=LIBS_MACHINE LIBS_SYSTEM
|
617
|
436 #ifdef SYSTEM_MALLOC
|
621
|
437 @configure@ system_malloc=yes
|
617
|
438 #else
|
621
|
439 @configure@ system_malloc=no
|
617
|
440 #endif
|
|
441 ' > ${tempcname}
|
621
|
442 eval `${cc} -E ${tempcname} \
|
|
443 | grep '@configure@' \
|
|
444 | sed -e 's/^@configure@//'`
|
617
|
445 rm ${tempcname}
|
|
446
|
|
447 # Do the opsystem or machine files prohibit the use of the GNU malloc?
|
|
448 if [ "${system_malloc}" = "yes" ]; then
|
|
449 gnu_malloc=no
|
|
450 gnu_malloc_reason="
|
|
451 (The GNU allocators don't work with this machine and/or operating system.)"
|
|
452 fi
|
|
453
|
|
454 if [ ! "${rel_alloc}" ]; then
|
|
455 rel_alloc=${gnu_malloc}
|
|
456 fi
|
603
|
457
|
|
458 rm -f config.status
|
|
459 set -e
|
|
460
|
|
461 # Make the proper settings in the config file.
|
617
|
462 echo "Making src/config.h from src/config.h.in"
|
603
|
463 if [ "${highpri}" != "" ]; then
|
|
464 highpri="(-${highpri})"
|
|
465 fi
|
|
466 case "${g}" in
|
|
467 "yes" ) c_switch_site="${c_switch_site} -g" ;;
|
|
468 esac
|
|
469 case "${O}" in
|
|
470 "yes" ) c_switch_site="${c_switch_site} -O" ;;
|
|
471 esac
|
|
472 sed_flags="-e 's:@machine@:${machfile}:'"
|
|
473 sed_flags="${sed_flags} -e 's:@opsystem@:${opsysfile}:'"
|
|
474 for flag in `echo ${config_h_opts} | tr ':' ' '`; do
|
732
|
475 # Note that SYSV `tr' doesn't handle character ranges.
|
621
|
476 cflagname=`echo ${flag} \
|
|
477 | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
|
603
|
478 val=`eval echo '$'${flag}`
|
|
479 case ${val} in
|
|
480 no | "")
|
|
481 f="-e 's:.*#define ${cflagname}.*:/\\* #define ${cflagname} \\*/:'"
|
|
482 ;;
|
|
483 yes)
|
|
484 f="-e 's:.*#define ${cflagname}.*:#define ${cflagname}:'"
|
|
485 ;;
|
|
486 *)
|
|
487 f="-e 's:.*#define ${cflagname}.*:#define ${cflagname} ${val}:'"
|
|
488 ;;
|
|
489 esac
|
|
490 sed_flags="${sed_flags} ${f}"
|
|
491 done
|
704
|
492 rm -f src/config.h.tmp
|
638
|
493 eval '/bin/sed '${sed_flags}' < src/config.h.in > src/config.h.tmp'
|
|
494 ./move-if-change src/config.h.tmp src/config.h
|
617
|
495 # Remind people not to edit this.
|
|
496 chmod -w src/config.h
|
603
|
497
|
|
498 # Modify the parameters in the top makefile.
|
617
|
499 echo "Producing ./Makefile from ./Makefile.in."
|
704
|
500 rm -f Makefile.tmp
|
617
|
501 (echo "# This file is generated by \`${progname}' from \`./Makefile.in'.
|
|
502 # If you are thinking about editing it, you should seriously consider
|
|
503 # editing \`./Makefile.in' itself, or running \`${progname}' instead."
|
|
504 /bin/sed < Makefile.in \
|
|
505 -e '/^# DIST: /d' \
|
621
|
506 -e 's;^\(prefix=\).*$;\1'"${prefix};" \
|
617
|
507 -e 's;^\(bindir=\).*$;\1'"${bindir};" \
|
621
|
508 -e 's;^\(emacsdir=\).*$;\1'"${emacsdir};" \
|
|
509 -e 's;^\(datadir=\).*$;\1'"${datadir};" \
|
|
510 -e 's;^\(lispdir=\).*$;\1'"${lispdir};" \
|
|
511 -e 's;^\(locallisppath=\).*$;\1'"${locallisppath};" \
|
617
|
512 -e 's;^\(lisppath=\).*$;\1'"${lisppath};" \
|
621
|
513 -e 's;^\(buildlisppath=\).*$;\1'"${buildlisppath};" \
|
|
514 -e 's;^\(statedir=\).*$;\1'"${statedir};" \
|
617
|
515 -e 's;^\(lockdir=\).*$;\1'"${lockdir};" \
|
621
|
516 -e 's;^\(libdir=\).*$;\1'"${libdir};" \
|
|
517 -e 's;^\(mandir=\).*$;\1'"${mandir};" \
|
|
518 -e 's;^\(infodir=\).*$;\1'"${infodir};" \
|
638
|
519 ) > ./Makefile.tmp
|
|
520 ./move-if-change Makefile.tmp Makefile
|
617
|
521 # Remind people not to edit this.
|
|
522 chmod -w ./Makefile
|
603
|
523
|
|
524 # Modify the parameters in the `build-install' script.
|
617
|
525 echo "Producing ./build-install from ./build-install.in."
|
704
|
526 rm -f ./build-install.tmp
|
617
|
527 (echo "# This file is generated by \`${progname}' from \`./build-install.in'.
|
|
528 # If you are thinking about editing it, you should seriously consider
|
|
529 # editing \`./build-install.in' itself, or running \`${progname}' instead."
|
|
530 /bin/sed < build-install.in \
|
621
|
531 -e 's;^\(prefix=\).*$;\1'"${prefix};" \
|
|
532 -e 's;^\(bindir=\).*$;\1'"${bindir};" \
|
|
533 -e 's;^\(lisppath=\).*$;\1'"${lisppath};" \
|
|
534 -e 's;^\(datadir=\).*$;\1'"${datadir};" \
|
|
535 -e 's;^\(lockdir=\).*$;\1'"${lockdir};" \
|
638
|
536 -e 's;^\(libdir=\).*$;\1'"${libdir};") > ./build-install.tmp
|
|
537 ./move-if-change build-install.tmp build-install
|
617
|
538 # Remind people not to edit this.
|
|
539 chmod -w build-install
|
|
540 chmod +x build-install
|
603
|
541
|
|
542 # Modify the parameters in the src makefile.
|
617
|
543 echo "Producing src/Makefile from src/Makefile.in."
|
704
|
544 rm -f src/Makefile.tmp
|
617
|
545 (echo "# This file is generated by \`${progname}' from \`Makefile.in'.
|
|
546 # If you are thinking about editing it, you should seriously consider
|
|
547 # editing \`Makefile.in' itself, or running \`${progname}' instead."
|
|
548 /bin/sed < src/Makefile.in \
|
1112
|
549 -e '/^# DIST: /d' \
|
638
|
550 -e 's;^\(CC[ ]*=\).*$;\1'"${cc};") > src/Makefile.tmp
|
|
551 ./move-if-change src/Makefile.tmp src/Makefile
|
617
|
552 # Remind people not to edit this.
|
|
553 chmod -w src/Makefile
|
603
|
554
|
|
555 # Modify the parameters in the lib-src makefile.
|
617
|
556 echo "Producing lib-src/Makefile from lib-src/Makefile.in."
|
704
|
557 rm -f lib-src/Makefile.tmp
|
617
|
558 (echo "# This file is generated by \`${progname}' from \`Makefile.in'.
|
|
559 # If you are thinking about editing it, you should seriously consider
|
|
560 # editing \`Makefile.in' itself, or running \`${progname}' instead."
|
|
561 /bin/sed < lib-src/Makefile.in \
|
1112
|
562 -e '/^# DIST: /d' \
|
617
|
563 -e 's;^\(CFLAGS=\).*$;\1'"${c_switch_site};" \
|
|
564 -e 's;^\(LOADLIBES=\).*$;\1'"${libsrc_libs};" \
|
638
|
565 -e 's;^\(CC=\).*$;\1'"${cc};") > lib-src/Makefile.tmp
|
|
566 ./move-if-change lib-src/Makefile.tmp lib-src/Makefile
|
617
|
567 # Remind people not to edit this.
|
|
568 chmod -w lib-src/Makefile
|
|
569
|
603
|
570
|
605
|
571 # Create a verbal description of what we have done.
|
621
|
572 if [ "${highpri}" ]; then
|
|
573 desc_highpri="${highpri}"
|
|
574 else
|
|
575 desc_highpri="none"
|
|
576 fi
|
732
|
577 message="Configured for machine \`${machine}' running \`${opsystem}'.
|
|
578 The following values have been set in ./Makefile and ./build-install:
|
|
579 \`make install' or \`build-install' will placed executables in
|
|
580 ${bindir}.
|
|
581 Emacs's lisp search path will be
|
|
582 \`${lisppath}'.
|
|
583 Emacs will look for its architecture-independent data in
|
|
584 ${datadir}.
|
|
585 Emacs will look for its utility programs and other architecture-
|
|
586 dependent data in
|
|
587 ${libdir}.
|
|
588 Emacs will keep track of file-locking in
|
|
589 ${lockdir}.
|
|
590 The following values have been set in src/config.h:
|
|
591 At how much higher than normal priority should Emacs run? ${desc_highpri}
|
|
592 Should Emacs use the GNU version of malloc? ${gnu_malloc}${gnu_malloc_reason}
|
|
593 Should Emacs use the relocating allocator for buffers? ${rel_alloc}
|
|
594 Should Emacs support a floating point Elisp type? ${lisp_float_type}
|
|
595 What window system should Emacs use? ${window_system}
|
|
596 Should Emacs support mouse menus, which require X11? ${have_x_menu}
|
|
597 What compiler should emacs be built with? ${cc}
|
|
598 Should the compilation use \`-g' and/or \`-O'? ${c_switch_site- neither}"
|
605
|
599
|
|
600 # Document the damage we have done by writing config.status.
|
|
601
|
|
602 echo '#!/bin/sh' > config.status
|
|
603
|
|
604 echo "# This file is generated by \`${progname}.'
|
|
605 # If you are thinking about editing it, you should seriously consider
|
|
606 # running \`${progname}' instead.
|
|
607 " >> config.status
|
732
|
608 echo "${message}" | sed -e 's/^/# /' >> config.status
|
999
|
609 echo "'${progname}' ${arguments} "'$@' >> config.status
|
617
|
610 # Remind people not to edit this.
|
|
611 chmod -w config.status
|
605
|
612 chmod +x config.status
|
|
613
|
|
614 # Print the description.
|
603
|
615 echo
|
732
|
616 echo "${message}"
|
603
|
617
|
|
618 exit 0
|