2 ### The above line is deliberately left blank. If it starts with a #,
3 ### some CSH's will think this is a csh script.
5 #### Configuration script for GNU Emacs
6 #### Copyright (C) 1992 Free Software Foundation, Inc.
8 ### This file is part of GNU Emacs.
10 ### GNU Emacs is free software; you can redistribute it and/or modify
11 ### it under the terms of the GNU General Public License as published by
12 ### the Free Software Foundation; either version 1, or (at your option)
13 ### any later version.
15 ### GNU Emacs is distributed in the hope that it will be useful,
16 ### but WITHOUT ANY WARRANTY; without even the implied warranty of
17 ### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 ### GNU General Public License for more details.
20 ### You should have received a copy of the GNU General Public License
21 ### along with GNU Emacs; see the file COPYING. If not, write to
22 ### the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
24 ### Shell script to edit files and make symlinks in preparation for
27 ### Usage: configure config_name
29 ### If configure succeeds, it leaves its status in config.status.
30 ### If configure fails after disturbing the status quo,
31 ### config.status is removed.
35 ### Remove any leading "." elements from the path name. If we don't
36 ### remove them, then another "./" will be prepended to the file name
37 ### each time we use config.status, and the program name will get larger
38 ### and larger. This wouldn't be a problem, except that since progname
39 ### gets recorded in all the Makefiles this script produces,
40 ### move-if-change thinks they're different when they're not.
42 ### It would be nice if we could put the ./ in a \( \) group and then
43 ### apply the * operator to that, so we remove as many leading ./././'s
44 ### as are present, but some seds (like Ultrix's sed) don't allow you to
45 ### apply * to a \( \) group. Bleah.
46 progname="`echo $0 | sed 's:^\./::'`"
51 short_usage="Type \`${progname} --usage' for more information about options."
53 long_usage="Usage: ${progname} CONFIGURATION [-OPTION[=VALUE] ...]
55 Set compilation and installation parameters for GNU Emacs, and report.
56 CONFIGURATION specifies the machine and operating system to build for.
58 ${progname} sparc-sun-sunos4.1
59 configures Emacs to build on a Sun Sparc machine running SunOS 4.1, and
60 ${progname} decstation
61 configures Emacs to run on a DECstation running Ultrix. See \`etc/MACHINES'.
63 The --with-x, --with-x11 and --with-x10 options specify what window
64 system to use; if all are omitted, use X11 if present. If you
65 don't want X, specify \`--with-x=no'.
67 The --with-gcc option says that the build process should use GCC to
68 compile Emacs. If you have GCC but don't want to use it,
69 specify \`--with-gcc=no'. \`configure' tries to guess whether
70 or not you have GCC by searching your executable path, but if
71 it guesses incorrectly, you may need to use this.
73 The --srcdir=DIR option specifies that the configuration and build
74 processes should look for the Emacs source code in DIR, when
75 DIR is not the current directory. This option doesn't work yet.
77 If successful, ${progname} leaves its status in config.status. If
78 unsuccessful after disturbing the status quo, it removes config.status."
81 #### Option processing.
83 ### These are the names of CPP symbols we want to define or leave undefined
84 ### in src/config.h; their values are given by the shell variables of the same
87 HAVE_X_WINDOWS HAVE_X11 HAVE_X_MENU \
88 SIGTYPE GNU_MALLOC REL_ALLOC LISP_FLOAT_TYPE "
90 ### Record all the arguments, so we can save them in config.status.
97 ## Anything starting with a hyphen we assume is an option.
100 ## Separate the switch name from the value it's being given.
103 opt=`echo ${arg} | sed 's:^-*\([^=]*\)=.*$:\1:'`
104 val=`echo ${arg} | sed 's:^-*[^=]*=\(.*\)$:\1:'`
108 ## If FOO is a boolean argument, --FOO is equivalent to
109 ## --FOO=yes. Otherwise, the value comes from the next
110 ## argument - see below.
111 opt=`echo ${arg} | sed 's:^-*\(.*\)$:\1:'`
117 ## Change `-' in the option name to `_'.
118 opt="`echo ${opt} | tr - _`"
120 ## Process the option.
123 ## Has the user specified which window systems they want to support?
124 "with_x" | "with_x11" | "with_x10" )
125 ## Make sure the value given was either "yes" or "no".
127 y | ye | yes ) val=yes ;;
130 (echo "${progname}: the \`--${opt}' option is supposed to have a boolean value.
131 Set it to either \`yes' or \`no'."
132 echo "${short_usage}") >&2
136 eval "${opt}=\"${val}\""
139 ## Has the user specified whether or not they want GCC?
141 ## Make sure the value given was either "yes" or "no".
143 y | ye | yes ) val=yes ;;
146 (echo "${progname}: the \`--${opt}' option is supposed to have a boolean value.
147 Set it to either \`yes' or \`no'."
148 echo "${short_usage}") >&2
152 eval "${opt}=\"${val}\""
155 ## Has the user specified a source directory?
157 ## If the value was omitted, get it from the next argument.
158 if [ "${valomitted}" = "yes" ]; then
159 ## Get the next argument from the argument list, if there is one.
161 (echo "${progname}: You must give a value for the \`--${opt}' option, as in
163 echo "${short_usage}") >&2
170 echo "${progname}: Beware - the \`--srcdir' option doesn't work yet." >&2
173 ## Has the user asked for some help?
175 echo "${long_usage}" | more
179 ## We ignore all other options silently.
183 ## Anything not starting with a hyphen we assume is a
184 ## configuration name.
193 if [ "${configuration}" = "" ]; then
194 (echo "${progname}: You must specify a configuration name as an argument."
195 echo "${short_usage}") >&2
200 #### Decide where the source is.
203 ## If it's not specified, see if `.' or `..' might work.
205 if [ -f "./src/lisp.h" -a -f "./lisp/version.el" ]; then
208 if [ -f "../src/lisp.h" -a -f "../lisp/version.el" ]; then
209 srcdir=`(cd .. ; pwd)`
212 ${progname}: Neither the current directory nor its parent seem to
213 contain the Emacs sources. If you do not want to build Emacs in its
214 source tree, you should run \`${progname}' in the directory in which
215 you wish to build Emacs, using its \`--srcdir' option to say where the
216 sources may be found."
217 echo "${short_usage}") >&2
223 ## Otherwise, check if the directory they specified is okay.
225 if [ ! -d "${srcdir}" -o ! -f "${srcdir}/src/lisp.h" -o ! -f "${srcdir}/lisp/version.el" ]; then
227 ${progname}: The directory specified with the \`--srcdir' option,
228 \`${srcdir}', doesn't seem to contain the Emacs sources. You should
229 either run the \`${progname}' script at the top of the Emacs source
230 tree, or use the \`--srcdir' option to specify where the Emacs sources
232 echo "${short_usage}") >&2
239 ### Make the necessary directories, if they don't exist.
240 if [ ! -d ./src ]; then
243 if [ ! -d ./lib-src ]; then
246 if [ ! -d ./cpp ]; then
249 if [ ! -d ./oldXMenu ]; then
254 #### Given the configuration name, set machfile and opsysfile to the
255 #### names of the m/*.h and s/*.h files we should use.
257 ### Canonicalize the configuration name.
258 echo "Checking the configuration name."
259 if configuration=`${srcdir}/config.sub "${configuration}"` ; then : ; else
263 ### You would hope that you could choose an m/*.h file pretty much
264 ### based on the machine portion of the configuration name, and an s-
265 ### file based on the operating system portion. However, it turns out
266 ### that each m/*.h file is pretty manufacturer-specific - for
267 ### example, apollo.h, hp9000s300.h, mega68k, news.h, and tad68k are
268 ### all 68000 machines; mips.h, pmax.h, and news-risc are all MIPS
269 ### machines. So we basically have to have a special case for each
270 ### configuration name.
272 ### As far as handling version numbers on operating systems is
273 ### concerned, make sure things will fail in a fixable way. If
274 ### /etc/MACHINES doesn't say anything about version numbers, be
275 ### prepared to handle anything reasonably. If version numbers
276 ### matter, be sure /etc/MACHINES says something about it.
277 machine='' opsys='' unported='false'
278 case "${configuration}" in
281 ## Strictly speaking, we need the version of the alliant operating
282 ## system to choose the right machine file, but currently the
283 ## configuration name doesn't tell us enough to choose the right
284 ## one; we need to give alliants their own operating system name to
285 ## do this right. When someone cares, they can help us.
287 machine=alliant4 opsys=bsd4-2
290 machine=alliant-2800 opsys=bsd4-3
295 machine=altos opsys=usg5-2
300 machine=amdahl opsys=usg5-2-2
303 ## Appallings - I mean, Apollos - running Domain
305 machine=apollo opsysfile=bsd4-2.h
308 ## AT&T 3b2, 3b5, 3b15, 3b20
310 machine=att3b opsys=usg5-2-2
313 ## AT&T 3b1 - The Mighty Unix PC!
315 machine=7300 opsys=usg5-2-2
320 machine=sps7 opsys=usg5-2
323 ## CCI 5/32, 6/32 -- see "Tahoe".
326 ## I don't know what configuration name to use for this; config.sub
327 ## doesn't seem to know anything about it. Hey, Celerity users, get
329 celerity-celerity-bsd* )
330 machine=celerity opsys=bsd4-2
334 ## What operating systems does this chip run that Emacs has been
338 ## We'll use the catch-all code at the bottom to guess the
344 machine=convex opsys=bsd4-3
349 machine=intel386 opsys=usg5-3
353 cydra*-cydrome-sysv* )
354 machine=cydra5 opsys=usg5-3
358 mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0 | mips-dec-bsd4.2 )
359 machine=pmax opsys=bsd4-2
361 mips-dec-ultrix* | mips-dec-bsd* )
362 machine=pmax opsys=bsd4-3
365 machine=pmax opsys=osf1
368 ## Motorola Delta machines
369 m68*-motorola-sysv* )
370 machine=delta opsys=usg5-3
372 m88k-motorola-sysv* | m88k-motorola-m88kbcs* )
373 machine=delta88k opsys=usg5-3
378 machine=dual opsys=usg5-2
381 machine=dual opsys=unipl5-2
386 machine=elxsi opsys=usg5-2
391 machine=ns16000 opsys=umax
394 ## The GEC 93 - apparently, this port isn't really finished yet.
396 ## Gould Power Node and NP1
398 machine=gould opsys=bsd4-2
401 machine=gould opsys=bsd4-3
404 machine=gould-np1 opsys=bsd4-3
408 xps*-honeywell-sysv* )
409 machine=xps100 opsys=usg5-2
412 ## HP 9000 series 200 or 300
414 machine=hp9000s300 opsys=bsd4-3
416 ## HP/UX 8 doesn't run on these machines, so use HP/UX 7.
418 machine=hp9000s300 opsys=hpux
421 ## HP 9000 series 800, running HP/UX
423 machine=hp9000s800 opsys=hpux
428 machine=orion opsys=bsd4-2
431 machine=orion105 opsys=bsd4-2
436 machine=ibmps2-aix opsys=usg5-2-2
439 machine=ibmps2-aix opsys=usg5-3
442 machine=ibmrs6000 opsys=aix3-1
445 machine=ibmrt opsys=bsd4-2
448 machine=ibmrt-aix opsys=usg5-2-2
451 ## Integrated Solutions `Optimum V'
453 machine=isi-ov opsys=bsd4-2
456 machine=isi-ov opsys=bsd4-3
459 ## Intel 386 machines where we do care about the manufacturer
460 i[34]86-intsys-sysv* )
461 machine=is386 opsys=usg5-2-2
463 ## Intel 386 machines where we don't care about the manufacturer
466 case "${configuration}" in
467 *-isc1.* | *-isc2.[01]* ) opsys=386-ix ;;
468 *-isc* ) opsys=isc2-2 ;;
469 *-esix* ) opsys=esix ;;
470 *-xenix* ) opsys=xenix ;;
471 ## Otherwise, we'll fall through to the generic opsys code at the bottom.
475 ## Silicon Graphics machines
476 ## Iris 2500 and Iris 2500 Turbo (aka the Iris 3030)
478 machine=irist opsys=iris3-5
480 m68*-sgi-iris3.6 | m68*-sgi-iris*)
481 machine=irist opsys=iris3-6
485 machine=iris4d opsys=irix3-3
487 mips-sgi-irix4.* | mips-sgi-irix* )
488 machine=iris4d opsys=irix4-0
493 machine=masscomp opsys=rtu
498 machine=mega68 opsys=bsd4-2
501 ## Workstations sold by MIPS
502 ## This is not necessarily all workstations using the MIPS processor -
503 ## Irises are produced by SGI, and DECstations by DEC.
505 ## etc/MACHINES lists mips.h and mips4.h as possible machine files,
506 ## and usg5-2-2 and bsd4-3 as possible OS files. The only guidance
507 ## it gives for choosing between the alternatives seems to be "Use
508 ## -machine=mips4 for RISCOS version 4; use -opsystem=bsd4-3 with
509 ## the BSD world." I'll assume that these are instructions for
510 ## handling two odd situations, and that every other situation
511 ## should use mips.h and usg5-2-2, they being listed first.
513 machine=mips4 opsys=usg5-2-2
516 machine=mips opsys=bsd4-3
519 machine=mips opsys=usg5-2-2
522 ## The complete machine from National Semiconductor
524 machine=ns32000 opsys=usg5-2
529 machine=tower32 opsys=usg5-2-2
532 machine=tower32v3 opsys=usg5-3
537 machine=targon31 opsys=usg5-2-2
542 machine=nu opsys=usg5-2
547 machine=plexus opsys=usg5-2
552 machine=i386 opsys=usg5-3
556 ## I don't really have any idea what sort of processor the Pyramid has,
557 ## so I'm assuming it is its own architecture.
558 pyramid-pyramid-bsd* )
559 machine=pyramid opsys=bsd4-2
563 ns32k-sequent-bsd4.2 )
564 machine=sequent opsys=bsd4-2
566 ns32k-sequent-bsd4.3 )
567 machine=sequent opsys=bsd4-3
571 machine=symmetry opsys=bsd4-3
576 machine=news opsys=bsd4-2
579 machine=news opsys=bsd4-3
582 machine=news-risc opsys=bsd4-3
587 machine=stride opsys=usg5-2
591 *-sun-sunos* | *-sun-bsd* )
592 case "${configuration}" in
593 m68*-sunos1* ) machine=sun1 ;;
594 m68*-sunos2* ) machine=sun2 ;;
595 m68* ) machine=sun3 ;;
596 i[34]86* ) machine=sun386 ;;
597 sparc* ) machine=sparc ;;
600 case "${configuration}" in
601 *-sunos4.0* ) opsys=sunos4-0 ;;
602 *-sunos4* | *-sunos ) opsys=sunos4-1 ;;
609 machine=tad68k opsys=usg5-3
614 machine=tahoe opsys=bsd4-2
617 machine=tahoe opsys=bsd4-3
620 ## Tandem Integrity S2
622 machine=tandem-s2 opsys=usg5-3
625 ## Tektronix 16000 box (6130?)
626 ns16k-tektronix-bsd* )
627 machine=ns16000 opsys=bsd4-2
630 ## src/m/tek4300.h hints that this is a m68k machine.
631 m68*-tektronix-bsd* )
632 machine=tex4300 opsys=bsd4-3
636 ## We seem to have lost the machine-description file titan.h!
638 machine=titan opsys=usg5-3
641 ## Ustation E30 (SS5E)
642 m68*-unisys-uniplus* )
643 machine=ustation opsystem=unipl5-2
649 case "${configuration}" in
650 *-bsd4.1 ) opsys=bsd4-1 ;;
651 *-bsd4.2 | *-ultrix[0-3].* | *-ultrix4.0 ) opsys=bsd4-2 ;;
652 *-bsd4.3 | *-ultrix* ) opsys=bsd4-3 ;;
653 *-sysv[01]* ) opsys=usg5-0 ;;
654 *-sysv2* ) opsys=usg5-2 ;;
655 *-vms* ) opsys=vms ;;
661 ns16k-whitechapel-* )
663 ## We don't know what sort of OS runs on these; we'll let the
664 ## operating system guessing code below try.
669 machine=wicat opsys=usg5-2
677 ### If the code above didn't choose an operating system, just choose
678 ### an operating system based on the configuration name. You really
679 ### only want to use this when you have no idea what the right
680 ### operating system is; if you know what operating systems a machine
681 ### runs, it's cleaner to make it explicit in the case statement
683 if [ ! "${opsys}" ]; then
684 case "${configuration}" in
685 *-bsd4.[01] ) opsys=bsd4-1 ;;
686 *-bsd4.2 ) opsys=bsd4-2 ;;
687 *-bsd4.3 ) opsys=bsd4-3 ;;
688 *-sysv0 ) opsys=usg5-0 ;;
689 *-sysv2 ) opsys=usg5-2 ;;
690 *-sysv2.2 ) opsys=usg5-2-2 ;;
691 *-sysv3 ) opsys=usg5-3 ;;
692 *-sysv4 ) opsys=usg5-4 ;;
700 (echo "${progname}: Emacs hasn't been ported to \`${configuration}' systems."
701 echo "${progname}: Check \`etc/MACHINES' for recognized configuration names."
706 machfile="m/${machine}.h"
707 opsysfile="s/${opsys}.h"
710 #### Choose a window system.
711 echo "Checking window system."
715 window_system=${window_system}x11
718 window_system=${window_system}none
720 case "${with_x11}" in
722 window_system=${window_system}x11
725 case "${with_x10}" in
727 window_system=${window_system}x10
731 case "${window_system}" in
732 "none" | "x11" | "x10" ) ;;
734 echo " No window system specifed. Looking for X Windows."
736 if [ -r /usr/lib/libX11.a -o -d /usr/include/X11 ]; then
741 echo "Don\'t specify the window system more than once." >&2
746 case "${window_system}" in
760 echo " Using no window system."
764 ### If we're using X11, we should use the X menu package.
773 #### Choose a compiler.
774 echo "Checking compilers."
775 if [ "${with_gcc}" = "" ]; then
776 echo " Searching load path for GCC."
777 temppath=`echo $PATH | sed 's/^:/.:/
782 for dir in ${temppath}; do
783 if [ -f ${dir}/gcc ]; then echo gcc; exit 0; fi
789 "yes" ) default_cc="gcc" ;;
790 "no" ) default_cc="cc" ;;
794 case "${default_cc}" in
797 default_cflags='-g -O'
800 echo " Using the system's CC."
806 #### What is the return type of a signal handler?
808 ### We run /usr/include/signal.h through cpp and grep for the
809 ### declaration of the signal function. Yuck.
810 echo "Looking for return type of signal handler functions."
812 if [ -r /usr/include/signal.h ]; then
813 signal_h_file=/usr/include/signal.h
814 elif [ -r /usr/include/sys/signal.h ]; then
815 signal_h_file=/usr/include/sys/signal.h
818 if [ "${signal_h_file}" ]; then
819 sigpattern='[ ]*([ ]*\*[ ]*signal[ ]*('
821 ## We make a copy whose name ends in .c, so the compiler
822 ## won't complain about having only been given a .h file.
823 tempcname="configure.tmp.$$.c"
824 cp ${signal_h_file} ${tempcname}
825 if ${default_cc} -E ${tempcname} | grep "int${sigpattern}" > /dev/null; then
830 echo " Guessing that signals return \`${SIGTYPE}'."
833 #### Extract some information from the operating system and machine files.
835 echo "Examining the machine- and system-dependent files to find out"
836 echo " - which libraries the lib-src programs will want, and"
837 echo " - whether the GNU malloc routines are usable."
838 tempcname="configure.tmp.$$.c"
840 #include "'${srcdir}'/src/'${opsysfile}'"
841 #include "'${srcdir}'/src/'${machfile}'"
848 @configure@ libsrc_libs=LIBS_MACHINE LIBS_SYSTEM
850 @configure@ system_malloc=yes
852 @configure@ system_malloc=no
855 eval `${default_cc} -E ${tempcname} \
856 | grep '@configure@' \
857 | sed -e 's/^@configure@//'`
860 # Do the opsystem or machine files prohibit the use of the GNU malloc?
861 # Assume not, until told otherwise.
863 if [ "${system_malloc}" = "yes" ]; then
866 (The GNU allocators don't work with this system configuration.)"
869 if [ ! "${REL_ALLOC}" ]; then
870 REL_ALLOC=${GNU_MALLOC}
876 #### Find out which version of Emacs this is.
877 version=`grep 'defconst[ ]*emacs-version' ${srcdir}/lisp/version.el \
878 | sed -e 's/^.*"\([0-9][0-9]*\.[0-9][0-9]*\)\..*$/\1/'`
879 if [ ! "${version}" ]; then
880 echo "${progname}: can't find current emacs version in
881 \`${srcdir}/lisp/version.el'." >&2
886 #### Make the proper settings in `src/config.h'.
890 echo "Making \`./src/config.h' from \`${srcdir}/src/config.h.in'."
891 sed_flags="-e 's:@machine@:${machfile}:' -e 's:@opsystem@:${opsysfile}:'"
893 for flag in ${config_h_opts}; do
894 val=`eval echo '$'${flag}`
897 f="-e 's:.*#define ${flag}.*:/\\* #define ${flag} \\*/:'"
900 f="-e 's:.*#define ${flag}.*:#define ${flag}:'"
903 f="-e 's:.*#define ${flag}.*:#define ${flag} ${val}:'"
906 sed_flags="${sed_flags} ${f}"
909 rm -f ./src/config.h.tmp
910 (echo "/* This file is generated by \`${progname}' from"
911 echo " \`${srcdir}/src/config.h.in'."
912 echo " If you are thinking about editing it, you should seriously consider"
913 echo " running \`${progname} instead, or editing"
914 echo " \`${srcdir}/src/config.h.in' itself."
915 eval '/bin/sed '${sed_flags}' < "${srcdir}/src/config.h.in"'
917 ${srcdir}/move-if-change src/config.h.tmp src/config.h
918 ### Remind people not to edit this.
919 chmod -w src/config.h
922 #### Modify the parameters in the top-level Makefile.
923 echo "Producing \`Makefile' from \`${srcdir}/Makefile.in'."
926 # This file is generated by \`${progname}' from
927 # \`${srcdir}/Makefile.in'.
928 # If you are thinking about editing it, you should seriously consider
929 # running \`${progname}' instead, or editing
930 # \`${srcdir}/Makefile.in' itself."
931 /bin/sed < ${srcdir}/Makefile.in \
932 -e 's|^configname *=.*$|configname='"${configuration}"'|' \
933 -e 's|^version *=.*$|version='"${version}"'|' \
934 -e 's|^srcdir *=.*$|srcdir='"${srcdir}"'|' \
935 -e 's|^CC *=.*$|CC='"${default_cc}"'|' \
936 -e 's|^CONFIG_CFLAGS *=.*$|CONFIG_CFLAGS='"${default_cflags}"'|' \
937 -e 's|^LOADLIBES *=.*$|LOADLIBES='"${libsrc_libs}"'|' \
938 -e '/^# DIST: /d') > Makefile.tmp
939 ${srcdir}/move-if-change Makefile.tmp Makefile
941 ### I'm commenting out this section until I bring the `build-install' script
942 ### into line with the rest of the configuration stuff.
944 ### # Modify the parameters in the `build-install' script.
945 ### echo "Producing \`./build-install' from \`${srcdir}/build-install.in'."
946 ### rm -f ./build-install.tmp
948 ### # This file is generated by \`${progname}' from \`${srcdir}/build-install.in'.
949 ### # If you are thinking about editing it, you should seriously consider
950 ### # editing \`./build-install.in' itself, or running \`${progname}' instead."
951 ### /bin/sed < ${srcdir}/build-install.in \
952 ### -e 's;^\(prefix=\).*$;\1'"${prefix};" \
953 ### -e 's;^\(bindir=\).*$;\1'"${bindir};" \
954 ### -e 's;^\(lisppath=\).*$;\1'"${lisppath};" \
955 ### -e 's;^\(datadir=\).*$;\1'"${datadir};" \
956 ### -e 's;^\(lockdir=\).*$;\1'"${lockdir};" \
957 ### -e 's;^\(libdir=\).*$;\1'"${libdir};") > ./build-install.tmp
958 ### ${srcdir}/move-if-change build-install.tmp build-install
959 ### # Remind people not to edit this.
960 ### chmod -w build-install
961 ### chmod +x build-install
964 #### Describe the results.
966 ### Create a verbal description of what we have done.
967 message="Configured for \`${configuration}'.
969 What operating system and machine description files should Emacs use?
970 \`${opsysfile}' and \`${machfile}'
971 Should Emacs use the GNU version of malloc? ${GNU_MALLOC}${GNU_MALLOC_reason}
972 Should Emacs use the relocating allocator for buffers? ${REL_ALLOC}
973 What window system should Emacs use? ${window_system}
974 What compiler should emacs be built with? ${default_cc}
975 Should the compilation use \`-g' and/or \`-O'? ${default_cflags- neither}"
977 ### Write config.status, documenting the damage we have done.
981 ### This file is generated by \`${progname}.'
982 ### If you are thinking about editing it, you should seriously consider
983 ### running \`${progname}' instead.
985 echo "${message}" | sed -e 's/^/# /'
986 echo "exec '${progname}' ${arguments} "'$@') > config.status
988 ### Remind people not to edit this.
989 chmod -w config.status
990 chmod +x config.status
992 ### Print the description.