2 #### Configuration script for GNU Emacs
3 #### Copyright (C) 1992 Free Software Foundation, Inc.
5 ### This file is part of GNU Emacs.
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.
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.
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.
21 ### Shell script to edit files and make symlinks in preparation for
24 ### Usage: configure config_name
26 ### If configure succeeds, it leaves its status in config.status.
27 ### If configure fails after disturbing the status quo,
28 ### config.status is removed.
32 ### Remove any leading "." elements from the path name. If we don't
33 ### remove them, then another "./" will be prepended to the file name
34 ### each time we use config.status, and the program name will get larger
35 ### and larger. This wouldn't be a problem, except that since progname
36 ### gets recorded in all the Makefiles this script produces,
37 ### move-if-changed thinks they're different when they're not.
39 ### It would be nice if we could put the ./ in a \( \) group and then
40 ### apply the * operator to that, so we remove as many leading ./././'s
41 ### as are present, but some seds (like Ultrix's sed) don't allow you to
42 ### apply * to a \( \) group. Bleah.
43 progname
="`echo $0 | sed 's:^\./::'`"
48 short_usage
="Type \`${progname} --usage' for more information about options."
50 long_usage
="Usage: ${progname} CONFIGURATION [-OPTION[=VALUE] ...]
52 Set compilation and installation parameters for GNU Emacs, and report.
53 CONFIGURATION specifies the machine and operating system to build for.
55 ${progname} sparc-sun-sunos4.1
56 configures Emacs to build on a Sun Sparc machine running SunOS 4.1, and
57 ${progname} decstation
58 configures Emacs to run on a DECstation running Ultrix. See \`etc/MACHINES'.
60 The --with-x, --with-x11 and --with-x10 options specify what window
61 system to use; if all are omitted, use X11 if present. If you
62 don't want X, specify \`--with-x=no'.
64 The --srcdir=DIR option specifies that the configuration and build
65 processes should look for the Emacs source code in DIR, when
66 DIR is not the current directory. To use this, you must build
67 Emacs using a \`make' program which supports the \`VPATH'
70 If successful, ${progname} leaves its status in config.status. If
71 unsuccessful after disturbing the status quo, it removes config.status."
74 #### Option processing.
76 ### These are the names of CPP symbols we want to define or leave undefined
77 ### in src/config.h; their values are given by the shell variables of the same
80 HAVE_X_WINDOWS HAVE_X11 HAVE_X_MENU \
81 SIGTYPE GNU_MALLOC REL_ALLOC LISP_FLOAT_TYPE "
83 ### Record all the arguments, so we can save them in config.status.
90 ## Anything starting with a hyphen we assume is an option.
93 ## Separate the switch name from the value it's being given.
96 opt
=`echo ${arg} | sed 's:^-*\([^=]*\)=.*$:\1:'`
97 val
=`echo ${arg} | sed 's:^-*[^=]*=\(.*\)$:\1:'`
101 ## If FOO is a boolean argument, --FOO is equivalent to
102 ## --FOO=yes. Otherwise, the value comes from the next
103 ## argument - see below.
104 opt
=`echo ${arg} | sed 's:^-*\(.*\)$:\1:'`
110 ## Change `-' in the option name to `_'.
111 opt
="`echo ${opt} | tr - _`"
113 ## Process the option.
116 ## Has the user specified which window systems they want to support?
117 "with_x" |
"with_x11" |
"with_x10" )
118 ## Make sure the value given was either "yes" or "no".
120 y | ye |
yes ) val
=yes ;;
123 (echo "${progname}: the \`--${opt}' option is supposed to have a boolean value.
124 Set it to either \`yes' or \`no'."
125 echo "${short_usage}") >&2
129 eval "${opt}=\"${val}\""
132 ## Has the user specified a source directory?
134 ## If the value was omitted, get it from the next argument.
135 if [ "${valomitted}" = "yes" ]; then
136 ## Get the next argument from the argument list, if there is one.
138 (echo "${progname}: You must give a value for the \`--${opt}' option, as in
140 echo "${short_usage}") >&2
148 ## Has the user asked for some help?
150 echo "${long_usage}" |
more
154 ## We ignore all other options silently.
158 ## Anything not starting with a hyphen we assume is a
159 ## configuration name.
168 if [ "${configuration}" = "" ]; then
169 (echo "${progname}: You must specify a configuration name as an argument."
170 echo "${short_usage}") >&2
175 #### Decide where the source is.
178 ## By default, it's in the current directory.
183 ## Otherwise, make sure it's a directory at all.
185 if [ ! -d "${srcdir}" ]; then
186 (echo "${progname}: The path specified with the `--srcdir' option"
187 echo "isn't a valid directory."
188 echo "${short_usage}") >&2
195 ### Check that the source directory actually contains the source.
196 if [ ! -f "${srcdir}/src/lisp.h" -o ! -f "${srcdir}/lisp/version.el" ]; then
197 (echo "The directory \`${srcdir}' doesn't contain the Emacs sources."
198 echo "You should either run the \`${progname}' script at the top of"
199 echo "the Emacs source tree, or use the \`--srcdir' option to specify"
200 echo "where the Emacs sources are."
201 echo "${short_usage}") >&2
205 ### Make the necessary directories, if they don't exist.
206 if [ ! -d .
/src
]; then
209 if [ ! -d .
/lib-src
]; then
212 if [ ! -d .
/cpp
]; then
217 #### Given the configuration name, set machfile and opsysfile to the
218 #### names of the m/*.h and s/*.h files we should use.
220 ### Canonicalize the configuration name.
221 echo "Checking the configuration name."
222 if configuration
=`./config.sub "${configuration}"` ; then : ; else
226 ### You would hope that you could choose an m/*.h file pretty much
227 ### based on the machine portion of the configuration name, and an s-
228 ### file based on the operating system portion. However, it turns out
229 ### that each m/*.h file is pretty manufacturer-specific - for
230 ### example, apollo.h, hp9000s300.h, mega68k, news.h, and tad68k are
231 ### all 68000 machines; mips.h, pmax.h, and news-risc are all MIPS
232 ### machines. So we basically have to have a special case for each
233 ### configuration name.
235 ### As far as handling version numbers on operating systems is
236 ### concerned, make sure things will fail in a fixable way. If
237 ### /etc/MACHINES doesn't say anything about version numbers, be
238 ### prepared to handle anything reasonably. If version numbers
239 ### matter, be sure /etc/MACHINES says something about it.
240 machine
='' opsys
='' unported
='false'
241 case "${configuration}" in
244 ## Strictly speaking, we need the version of the alliant operating
245 ## system to choose the right machine file, but currently the
246 ## configuration name doesn't tell us enough to choose the right
247 ## one; we need to give alliants their own operating system name to
248 ## do this right. When someone cares, they can help us.
250 machine
=alliant4 opsys
=bsd4-2
253 machine
=alliant-2800 opsys
=bsd4-3
258 machine
=altos opsys
=usg5-2
263 machine
=amdahl opsys
=usg5-2-2
266 ## Appallings - I mean, Apollos - running Domain
268 machine
=apollo opsysfile
=bsd4-2.h
271 ## AT&T 3b2, 3b5, 3b15, 3b20
273 machine
=att3b opsys
=usg5-2-2
276 ## AT&T 3b1 - The Mighty Unix PC!
278 machine
=7300 opsys
=usg5-2-2
283 machine
=sps7 opsys
=usg5-2
286 ## CCI 5/32, 6/32 -- see "Tahoe".
289 ## I don't know what configuration name to use for this; config.sub
290 ## doesn't seem to know anything about it. Hey, Celerity users, get
292 celerity-celerity-bsd
* )
293 machine
=celerity opsys
=bsd4-2
297 ## What operating systems does this chip run that Emacs has been
301 ## We'll use the catch-all code at the bottom to guess the
307 machine
=convex opsys
=bsd4-3
312 machine
=intel386 opsys
=usg5-3
316 cydra
*-cydrome-sysv* )
317 machine
=cydra5 opsys
=usg5-3
321 mips-dec-ultrix
[0-3].
* | mips-dec-ultrix4.0 | mips-dec-bsd4.2
)
322 machine
=pmax opsys
=bsd4-2
324 mips-dec-ultrix
* | mips-dec-bsd
* )
325 machine
=pmax opsys
=bsd4-3
328 machine
=pmax opsys
=osf1
331 ## Motorola Delta machines
332 m68
*-motorola-sysv* )
333 machine
=delta opsys
=usg5-3
335 m88k-motorola-sysv
* | m88k-motorola-m88kbcs
* )
336 machine
=delta88k opsys
=usg5-3
341 machine
=dual opsys
=usg5-2
344 machine
=dual opsys
=unipl5-2
349 machine
=elxsi opsys
=usg5-2
354 machine
=ns16000 opsys
=umax
357 ## The GEC 93 - apparently, this port isn't really finished yet.
359 ## Gould Power Node and NP1
361 machine
=gould opsys
=bsd4-2
364 machine
=gould opsys
=bsd4-3
367 machine
=gould-np1 opsys
=bsd4-3
371 xps
*-honeywell-sysv* )
372 machine
=xps100 opsys
=usg5-2
375 ## HP 9000 series 200 or 300
377 machine
=hp9000s300 opsys
=bsd4-3
379 ## HP/UX 8 doesn't run on these machines, so use HP/UX 7.
381 machine
=hp9000s300 opsys
=hpux
384 ## HP 9000 series 800, running HP/UX
386 machine
=hp9000s800 opsys
=hpux
391 machine
=orion opsys
=bsd4-2
394 machine
=orion105 opsys
=bsd4-2
399 machine
=ibmps2-aix opsys
=usg5-2-2
402 machine
=ibmps2-aix opsys
=usg5-3
405 machine
=ibmrs6000 opsys
=aix3-1
408 machine
=ibmrt opsys
=bsd4-2
411 machine
=ibmrt-aix opsys
=usg5-2-2
414 ## Integrated Solutions `Optimum V'
416 machine
=isi-ov opsys
=bsd4-2
419 machine
=isi-ov opsys
=bsd4-3
422 ## Intel 386 machines where we do care about the manufacturer
423 i
[34]86-intsys-sysv* )
424 machine
=is386 opsys
=usg5-2-2
426 ## Intel 386 machines where we don't care about the manufacturer
429 case "${configuration}" in
430 *-isc1.
* |
*-isc2.
[01]* ) opsys
=386-ix ;;
431 *-isc* ) opsys
=isc2-2
;;
432 *-esix* ) opsys
=esix
;;
433 *-xenix* ) opsys
=xenix
;;
434 ## Otherwise, we'll fall through to the generic opsys code at the bottom.
438 ## Silicon Graphics machines
439 ## Iris 2500 and Iris 2500 Turbo (aka the Iris 3030)
441 machine
=irist opsys
=iris3-5
443 m68
*-sgi-iris3.6 | m68
*-sgi-iris*)
444 machine
=irist opsys
=iris3-6
448 machine
=iris4d opsys
=irix3-3
450 mips-sgi-irix4.
* | mips-sgi-irix
* )
451 machine
=iris4d opsys
=irix4-0
456 machine
=masscomp opsys
=rtu
461 machine
=mega68 opsys
=bsd4-2
464 ## Workstations sold by MIPS
465 ## This is not necessarily all workstations using the MIPS processor -
466 ## Irises are produced by SGI, and DECstations by DEC.
468 ## etc/MACHINES lists mips.h and mips4.h as possible machine files,
469 ## and usg5-2-2 and bsd4-3 as possible OS files. The only guidance
470 ## it gives for choosing between the alternatives seems to be "Use
471 ## -machine=mips4 for RISCOS version 4; use -opsystem=bsd4-3 with
472 ## the BSD world." I'll assume that these are instructions for
473 ## handling two odd situations, and that every other situation
474 ## should use mips.h and usg5-2-2, they being listed first.
476 machine
=mips4 opsys
=usg5-2-2
479 machine
=mips opsys
=bsd4-3
482 machine
=mips opsys
=usg5-2-2
485 ## The complete machine from National Semiconductor
487 machine
=ns32000 opsys
=usg5-2
492 machine
=tower32 opsys
=usg5-2-2
495 machine
=tower32v3 opsys
=usg5-3
500 machine
=targon31 opsys
=usg5-2-2
505 machine
=nu opsys
=usg5-2
510 machine
=plexus opsys
=usg5-2
515 machine
=i386 opsys
=usg5-3
519 ## I don't really have any idea what sort of processor the Pyramid has,
520 ## so I'm assuming it is its own architecture.
521 pyramid-pyramid-bsd
* )
522 machine
=pyramid opsys
=bsd4-2
526 ns32k-sequent-bsd4.2
)
527 machine
=sequent opsys
=bsd4-2
529 ns32k-sequent-bsd4.3
)
530 machine
=sequent opsys
=bsd4-3
534 machine
=symmetry opsys
=bsd4-3
539 machine
=news opsys
=bsd4-2
542 machine
=news opsys
=bsd4-3
545 machine
=news-risc opsys
=bsd4-3
550 machine
=stride opsys
=usg5-2
554 *-sun-sunos* |
*-sun-bsd* )
555 case "${configuration}" in
556 m68
*-sunos1* ) machine
=sun1
;;
557 m68
*-sunos2* ) machine
=sun2
;;
558 m68
* ) machine
=sun3
;;
559 i
[34]86* ) machine
=sun386
;;
560 sparc
* ) machine
=sparc
;;
563 case "${configuration}" in
564 *-sunos4.0
* ) opsys
=sunos4-0
;;
565 *-sunos4* |
*-sunos ) opsys
=sunos4-1
;;
572 machine
=tad68k opsys
=usg5-3
577 machine
=tahoe opsys
=bsd4-2
580 machine
=tahoe opsys
=bsd4-3
583 ## Tandem Integrity S2
585 machine
=tandem-s2 opsys
=usg5-3
588 ## Tektronix 16000 box (6130?)
589 ns16k-tektronix-bsd
* )
590 machine
=ns16000 opsys
=bsd4-2
593 ## src/m/tek4300.h hints that this is a m68k machine.
594 m68
*-tektronix-bsd* )
595 machine
=tex4300 opsys
=bsd4-3
599 ## We seem to have lost the machine-description file titan.h!
601 machine
=titan opsys
=usg5-3
604 ## Ustation E30 (SS5E)
605 m68
*-unisys-uniplus* )
606 machine
=ustation opsystem
=unipl5-2
612 case "${configuration}" in
613 *-bsd4.1
) opsys
=bsd4-1
;;
614 *-bsd4.2 |
*-ultrix[0-3].
* |
*-ultrix4.0
) opsys
=bsd4-2
;;
615 *-bsd4.3 |
*-ultrix* ) opsys
=bsd4-3
;;
616 *-sysv[01]* ) opsys
=usg5-0
;;
617 *-sysv2* ) opsys
=usg5-2
;;
618 *-vms* ) opsys
=vms
;;
624 ns16k-whitechapel-
* )
626 ## We don't know what sort of OS runs on these; we'll let the
627 ## operating system guessing code below try.
632 machine
=wicat opsys
=usg5-2
640 ### If the code above didn't choose an operating system, just choose
641 ### an operating system based on the configuration name. You really
642 ### only want to use this when you have no idea what the right
643 ### operating system is; if you know what operating systems a machine
644 ### runs, it's cleaner to make it explicit in the case statement
646 if [ ! "${opsys}" ]; then
647 case "${configuration}" in
648 *-bsd4.
[01] ) opsys
=bsd4-1
;;
649 *-bsd4.2
) opsys
=bsd4-2
;;
650 *-bsd4.3
) opsys
=bsd4-3
;;
651 *-sysv0 ) opsys
=usg5-0
;;
652 *-sysv2 ) opsys
=usg5-2
;;
653 *-sysv2.2
) opsys
=usg5-2-2
;;
654 *-sysv3 ) opsys
=usg5-3
;;
655 *-sysv4 ) opsys
=usg5-4
;;
663 (echo "${progname}: Emacs hasn't been ported to \`${configuration}' systems."
664 echo "${progname}: Check \`etc/MACHINES' for recognized configuration names."
669 machfile
="m/${machine}.h"
670 opsysfile
="s/${opsys}.h"
673 #### Choose a window system.
674 echo "Checking window system."
678 window_system
=${window_system}x11
681 window_system
=${window_system}none
683 case "${with_x11}" in
685 window_system
=${window_system}x11
688 case "${with_x10}" in
690 window_system
=${window_system}x10
694 case "${window_system}" in
695 "none" |
"x11" |
"x10" ) ;;
697 echo " No window system specifed. Looking for X Windows."
699 if [ -r /usr
/lib
/libX11.a
-o -d /usr
/include
/X11
]; then
704 echo "Don\'t specify the window system more than once." >&2
709 case "${window_system}" in
723 echo " Using no window system."
727 ### If we're using X11, we should use the X menu package.
736 #### Choose a compiler.
737 echo "Checking for GCC."
738 temppath
=`echo $PATH | sed 's/^:/.:/
743 for dir in ${temppath}; do
744 if [ -f ${dir}/gcc ]; then echo gcc; exit 0; fi
749 case "${default_cc}" in
752 default_cflags
='-g -O'
755 echo " Using the system's CC."
761 #### What is the return type of a signal handler?
763 ### We run /usr/include/signal.h through cpp and grep for the
764 ### declaration of the signal function. Yuck.
765 echo "Looking for return type of signal handler functions."
767 if [ -r /usr
/include
/signal.h
]; then
768 signal_h_file
=/usr
/include
/signal.h
769 elif [ -r /usr
/include
/sys
/signal.h
]; then
770 signal_h_file
=/usr
/include
/sys
/signal.h
773 if [ "${signal_h_file}" ]; then
774 sigpattern
='[ ]*([ ]*\*[ ]*signal[ ]*('
776 ## We make a copy whose name ends in .c, so the compiler
777 ## won't complain about having only been given a .h file.
778 tempcname
="configure.tmp.$$.c"
779 cp ${signal_h_file} ${tempcname}
780 if ${default_cc} -E ${tempcname} | grep "int${sigpattern}" > /dev/null; then
785 echo " Guessing that signals
return \
`${SIGTYPE}'."
788 #### Extract some information from the operating system and machine files.
790 echo "Examining the machine- and system-dependent files to find out"
791 echo " - which libraries the lib-src programs will want, and"
792 echo " - whether the GNU malloc routines are usable."
793 tempcname="configure.tmp.$$.c"
794 echo '#include "src/'${opsysfile}'"
795 #include "src/'${machfile}'"
802 @configure@ libsrc_libs=LIBS_MACHINE LIBS_SYSTEM
804 @configure@ system_malloc=yes
806 @configure@ system_malloc=no
809 eval `${default_cc} -E ${tempcname} \
810 |
grep '@configure@' \
811 |
sed -e 's/^@configure@//'`
814 # Do the opsystem or machine files prohibit the use of the GNU malloc?
815 if [ "${system_malloc}" = "yes" ]; then
818 (The GNU allocators don't work with this system configuration.)"
821 if [ ! "${REL_ALLOC}" ]; then
822 REL_ALLOC=${GNU_MALLOC}
827 #### Make the proper settings in `src
/config.h
'.
831 echo "Making \`./src/config.h' from \
`${srcdir}/src/config.h.in'."
832 sed_flags="-e 's:@machine@:${machfile}:' -e 's:@opsystem@:${opsysfile}:'"
834 for flag in ${config_h_opts}; do
835 val=`eval echo '$'${flag}`
838 f="-e 's:.*#define ${flag}.*:/\\* #define ${flag} \\*/:'"
841 f="-e 's:.*#define ${flag}.*:#define ${flag}:'"
844 f="-e 's:.*#define ${flag}.*:#define ${flag} ${val}:'"
847 sed_flags="${sed_flags} ${f}"
850 rm -f ./src/config.h.tmp
851 (echo "/* This file is generated by \`${progname}' from"
852 echo " \`${srcdir}/src/config.h.in'.
"
853 echo " If you are thinking about editing it
, you should seriously consider
"
854 echo " running \
`${progname} instead, or editing"
855 echo " \`${srcdir}/src
/config.h.
in' itself."
856 eval '/bin
/sed '${sed_flags}' < "${srcdir}/src/config.h.in"'
858 ./move-if-change src/config.h.tmp src/config.h
859 ### Remind people not to edit this.
860 chmod -w src/config.h
863 ### Modify the parameters in the top makefile.
864 echo "Producing \`./Makefile' from \
`${srcdir}/Makefile.in'."
867 # This file is generated by \`${progname}' from \`${srcdir}/Makefile.in'.
868 # If you are thinking about editing it, you should seriously consider
869 # editing \`./Makefile.in' itself, or running \`${progname}' instead."
870 /bin
/sed < ${srcdir}/Makefile.
in \
871 -e 's/^CC=.*$/CC='"${default_cc}"'/' \
872 -e 's/^CFLAGS=.*$/CFLAGS='"${default_cflags}"'/' \
873 -e '/^# DIST: /d') > .
/Makefile.tmp
874 .
/move-if-change .
/Makefile.tmp .
/Makefile
875 # Remind people not to edit this.
878 ### I'm commenting out this section until I bring the `build-install' script
879 ### into line with the rest of the configuration stuff.
881 ### # Modify the parameters in the `build-install' script.
882 ### echo "Producing \`./build-install' from \`${srcdir}/build-install.in'."
883 ### rm -f ./build-install.tmp
885 ### # This file is generated by \`${progname}' from \`${srcdir}/build-install.in'.
886 ### # If you are thinking about editing it, you should seriously consider
887 ### # editing \`./build-install.in' itself, or running \`${progname}' instead."
888 ### /bin/sed < ${srcdir}/build-install.in \
889 ### -e 's;^\(prefix=\).*$;\1'"${prefix};" \
890 ### -e 's;^\(bindir=\).*$;\1'"${bindir};" \
891 ### -e 's;^\(lisppath=\).*$;\1'"${lisppath};" \
892 ### -e 's;^\(datadir=\).*$;\1'"${datadir};" \
893 ### -e 's;^\(lockdir=\).*$;\1'"${lockdir};" \
894 ### -e 's;^\(libdir=\).*$;\1'"${libdir};") > ./build-install.tmp
895 ### ./move-if-change build-install.tmp build-install
896 ### # Remind people not to edit this.
897 ### chmod -w build-install
898 ### chmod +x build-install
900 # Modify the parameters in the src makefile.
901 echo "Producing \`./src/Makefile' from \`${srcdir}/src/Makefile.in'."
902 rm -f src
/Makefile.tmp
903 (echo "# This file is generated by \`${progname}' from \`Makefile.in'.
904 # If you are thinking about editing it, you should seriously consider
905 # editing \`Makefile.in' itself, or running \`${progname}' instead."
906 /bin
/sed < src
/Makefile.
in \
907 -e 's;^\(CC *=\).*$;\1'"${default_cc};" \
908 -e 's;^\(CFLAGS *=\).*$;\1'"${default_cflags};" \
909 -e '/^# DIST: /d') > src
/Makefile.tmp
910 .
/move-if-change src
/Makefile.tmp src
/Makefile
911 # Remind people not to edit this.
912 chmod -w src
/Makefile
914 # Modify the parameters in the lib-src makefile.
915 echo "Producing lib-src/Makefile from lib-src/Makefile.in."
916 rm -f lib-src
/Makefile.tmp
917 (echo "# This file is generated by \`${progname}' from \`Makefile.in'.
918 # If you are thinking about editing it, you should seriously consider
919 # editing \`Makefile.in' itself, or running \`${progname}' instead."
920 /bin
/sed < lib-src
/Makefile.
in \
922 -e 's;^\(CONFIG_CFLAGS=\).*$;\1'"${c_switch_site};" \
923 -e 's;^\(LOADLIBES=\).*$;\1'"${libsrc_libs};" \
924 -e 's;^\(CC=\).*$;\1'"${cc};") > lib-src
/Makefile.tmp
925 .
/move-if-change lib-src
/Makefile.tmp lib-src
/Makefile
926 # Remind people not to edit this.
927 chmod -w lib-src
/Makefile
930 # Create a verbal description of what we have done.
931 message
="Configured for \`${configuration}'.
933 The following values have been set in ./Makefile and ./build-install:
934 \`make install' or \`build-install' will place executables in
936 Emacs's lisp search path will be
938 Emacs will look for its architecture-independent data in
940 Emacs will look for its utility programs and other architecture-
943 Emacs will keep track of file-locking in
946 The following values have been set in src/config.h:
947 What operating system and machine description files should Emacs use?
948 \`${opsysfile}' and \`${machfile}'
949 Should Emacs use the GNU version of malloc? ${GNU_MALLOC}${GNU_MALLOC_reason}
950 Should Emacs use the relocating allocator for buffers? ${REL_ALLOC}
951 Should Emacs support a floating point data type? ${lisp_float_type}
952 What window system should Emacs use? ${window_system}
953 What compiler should emacs be built with? ${cc}
954 Should the compilation use \`-g' and/or \`-O'? ${c_switch_site- neither}"
956 # Document the damage we have done by writing config.status.
958 echo '#!/bin/sh' > config.status
960 echo "# This file is generated by \`${progname}.'
961 # If you are thinking about editing it, you should seriously consider
962 # running \`${progname}' instead.
964 echo "${message}" |
sed -e 's/^/# /' >> config.status
965 echo "'${progname}' ${arguments} "'$@' >> config.status
966 # Remind people not to edit this.
967 chmod -w config.status
968 chmod +x config.status
970 # Print the description.