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