#!/bin/sh #### Configuration script for GNU Emacs #### Copyright (C) 1992 Free Software Foundation, Inc. ### Don't edit this script! ### This script was automatically generated by the `autoconf' program ### from the file `./configure.in'. ### To rebuild it, execute the command ### autoconf ### in the this directory. You must have autoconf version 1.4 or later. ### This file is part of GNU Emacs. ### GNU Emacs is free software; you can redistribute it and/or modify ### it under the terms of the GNU General Public License as published by ### the Free Software Foundation; either version 1, or (at your option) ### any later version. ### GNU Emacs is distributed in the hope that it will be useful, ### but WITHOUT ANY WARRANTY; without even the implied warranty of ### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ### GNU General Public License for more details. ### You should have received a copy of the GNU General Public License ### along with GNU Emacs; see the file COPYING. If not, write to ### the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. ### Since Emacs has configuration requirements that autoconf can't ### meet, this file is an unholy marriage of custom-baked ### configuration code and autoconf macros. ### ### We use the m4 quoting characters [ ] (as established by the ### autoconf system) to include large sections of raw sewage - Oops, I ### mean, shell code - in the final configuration script. ### ### Usage: configure config_name ### ### If configure succeeds, it leaves its status in config.status. ### If configure fails after disturbing the status quo, ### config.status is removed. ### Remove any more than one leading "." element from the path name. ### If we don't remove them, then another "./" will be prepended to ### the file name each time we use config.status, and the program name ### will get larger and larger. This wouldn't be a problem, except ### that since progname gets recorded in all the Makefiles this script ### produces, move-if-change thinks they're different when they're ### not. ### ### It would be nice if we could put the ./ in a \( \) group and then ### apply the * operator to that, so we remove as many leading ./././'s ### as are present, but some seds (like Ultrix's sed) don't allow you to ### apply * to a \( \) group. Bleah. progname="`echo $0 | sed 's:^\./\./:\./:'`" ### Establish some default values. run_in_place= single_tree= prefix='/usr/local' exec_prefix='${prefix}' bindir='${exec_prefix}/bin' datadir='${prefix}/lib' statedir='${prefix}/lib' libdir='${exec_prefix}/lib' mandir='${prefix}/man/man1' infodir='${prefix}/info' lispdir='${datadir}/emacs/${version}/lisp' locallisppath='${datadir}/emacs/site-lisp' lisppath='${locallisppath}:${lispdir}' etcdir='${datadir}/emacs/${version}/etc' lockdir='${statedir}/emacs/lock' archlibdir='${libdir}/emacs/${version}/${configuration}' # We cannot use this variable in the case statement below, because many # /bin/sh's have broken semantics for "case". Unfortunately, you must # actually edit the clause itself. # path_options="prefix | exec_prefix | bindir | libdir | etcdir | datadir" # path_options="$path_options | archlibdir | statedir | mandir | infodir" # path_options="$path_options | lispdir | lockdir | lisppath | locallisppath" #### Usage messages. short_usage="Usage: ${progname} CONFIGURATION [-OPTION[=VALUE] ...] Set compilation and installation parameters for GNU Emacs, and report. CONFIGURATION specifies the machine and operating system to build for. --with-x Support the X Window System. --with-x=no Don't support X. --x-includes=DIR Search for X header files in DIR. --x-libraries=DIR Search for X libraries in DIR. --with-gcc Use GCC to compile Emacs. --with-gcc=no Don't use GCC to compile Emacs. --run-in-place Use libraries and data files directly out of the source tree. --single-tree=DIR Has the effect of creating a directory tree at DIR which looks like: .../DIR/bin/CONFIGNAME (emacs, etags, etc.) .../DIR/bin/CONFIGNAME/etc (movemail, etc.) .../DIR/common/lisp (emacs' lisp files) .../DIR/common/site-lisp (local lisp files) .../DIR/common/lib (DOC, TUTORIAL, etc.) .../DIR/common/lock (lockfiles) --srcdir=DIR Look for the Emacs source files in DIR. --prefix=DIR Install files below DIR. Defaults to \`${prefix}'. You may also specify any of the \`path' variables found in Makefile.in, including --bindir, --libdir, --etcdir, --infodir, and so on. This allows you to override a single default location when configuring. If successful, ${progname} leaves its status in config.status. If unsuccessful after disturbing the status quo, it removes config.status." #### Option processing. ### Record all the arguments, so we can save them in config.status. arguments="$@" ### Shell Magic: Quote the quoted arguments in ARGUMENTS. At a later date, ### in order to get the arguments back in $@, we have to do an ### `eval set x "$quoted_arguments"; shift'. quoted_arguments= for i in "$@"; do quoted_arguments="$quoted_arguments '$i'" done ### Don't use shift -- that destroys the argument list, which autoconf needs ### to produce config.status. It turns out that "set - ${arguments}" doesn't ### work portably. ### However, it also turns out that many shells cannot expand ${10} at all. ### So using an index variable doesn't work either. It is possible to use ### some shell magic to make 'set x "$arguments"; shift' work portably. while [ $# != 0 ]; do arg="$1"; shift case "${arg}" in ## Anything starting with a hyphen we assume is an option. -* ) ## Separate the switch name from the value it's being given. case "${arg}" in -*=*) opt=`echo ${arg} | sed 's:^-*\([^=]*\)=.*$:\1:'` val=`echo ${arg} | sed 's:^-*[^=]*=\(.*\)$:\1:'` valomitted=no ;; -*) ## If FOO is a boolean argument, --FOO is equivalent to ## --FOO=yes. Otherwise, the value comes from the next ## argument - see below. opt=`echo ${arg} | sed 's:^-*\(.*\)$:\1:'` val="yes" valomitted=yes ;; esac ## Change `-' in the option name to `_'. optname="${opt}" opt="`echo ${opt} | tr - _`" ## Process the option. case "${opt}" in ## Has the user specified which window systems they want to support? "with_x" | "with_x11" | "with_x10" ) ## Make sure the value given was either "yes" or "no". case "${val}" in y | ye | yes ) val=yes ;; n | no ) val=no ;; * ) (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. Set it to either \`yes' or \`no'." echo "${short_usage}") >&2 exit 1 ;; esac eval "${opt}=\"${val}\"" ;; ## Has the user specified whether or not they want GCC? "with_gcc" | "with_gnu_cc" ) ## Make sure the value given was either "yes" or "no". case "${val}" in y | ye | yes ) val=yes ;; n | no ) val=no ;; * ) (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. Set it to either \`yes' or \`no'." echo "${short_usage}") >&2 exit 1 ;; esac eval "${opt}=\"${val}\"" ;; ## Has the user specified a source directory? "srcdir" ) ## If the value was omitted, get it from the next argument. if [ "${valomitted}" = "yes" ]; then ## Get the next argument from the argument list, if there is one. if [ $# = 0 ]; then (echo "${progname}: You must give a value for the \`--${optname}' option, as in \`--${optname}=FOO'." echo "${short_usage}") >&2 exit 1 fi val="$1"; shift fi srcdir="${val}" ;; ## Has the user tried to tell us where the X files are? ## I think these are dopey, but no less than three alpha ## testers, at large sites, have said they have their X files ## installed in odd places. "x_includes" ) ## If the value was omitted, get it from the next argument. if [ "${valomitted}" = "yes" ]; then ## Get the next argument from the argument list, if there is one. if [ $# = 0 ]; then (echo "${progname}: You must give a value for the \`--${optname}' option, as in \`--${optname}=/usr/local/X11/include'." echo "${short_usage}") >&2 exit 1 fi val="$1"; shift fi x_includes="${val}" ;; "x_libraries" ) ## If the value was omitted, get it from the next argument. if [ "${valomitted}" = "yes" ]; then ## Get the next argument from the argument list, if there is one. if [ $# = 0 ]; then (echo "${progname}: You must give a value for the \`--${optname}' option, as in \`--${optname}=/usr/local/X11/lib'." echo "${short_usage}") >&2 exit 1 fi val="$1"; shift fi x_libraries="${val}" ;; ## Should this use the "development configuration"? "run_in_place" ) single_tree= run_in_place=1 ;; ## Should this use the "single tree" configuration? "single_tree" ) run_in_place= single_tree=1 ;; ## Has the user specified one of the path options? prefix | exec_prefix | bindir | libdir | etcdir | datadir | \ archlibdir | statedir | mandir | infodir | lispdir | lockdir | \ lisppath | locallisppath ) ## If the value was omitted, get it from the next argument. if [ "${valomitted}" = "yes" ]; then if [ $# = 0 ]; then (echo \ "$progname: You must give a value for the \`--${optname}' option,"; echo \ "as in \`--${optname}=`eval echo '$'$optname`.'" echo "$short_usage") >&2 exit 1 fi val="$1"; shift fi eval "${opt}=\"${val}\"" eval "${opt}_specified=1" ;; ## Verbose flag, tested by autoconf macros. "verbose" ) verbose=yes ;; ## Has the user asked for some help? "usage" | "help" ) if [ "x$PAGER" = x ] then echo "${short_usage}" | more else echo "${short_usage}" | $PAGER fi exit ;; ## We ignore all other options silently. esac ;; ## Anything not starting with a hyphen we assume is a ## configuration name. *) configuration=${arg} ;; esac done ### Get the arguments back. See the diatribe on Shell Magic above. eval set x "$quoted_arguments"; shift if [ "${configuration}" = "" ]; then echo '- You did not tell me what kind of host system you want to configure. - I will attempt to guess the kind of system this is.' 1>&2 guesssys=`echo ${progname} | sed 's/configure$/config.guess/'` if configuration=`${guesssys}` ; then echo "- Looks like this is a ${configuration}" 1>&2 else echo '- Failed to guess the system type. You need to tell me.' 1>&2 echo "${short_usage}" >&2 exit 1 fi fi #### Decide where the source is. case "${srcdir}" in ## If it's not specified, see if `.' or `..' might work. "" ) confdir=`echo $0 | sed 's|//|/|' | sed 's|/[^/]*$||'` if [ -f $confdir/src/lisp.h -a -f $confdir/lisp/version.el ]; then srcdir="${confdir}" else if [ -f "./src/lisp.h" -a -f "./lisp/version.el" ]; then srcdir='.' else if [ -f "../src/lisp.h" -a -f "../lisp/version.el" ]; then srcdir='..' else (echo "\ ${progname}: Neither the current directory nor its parent seem to contain the Emacs sources. If you do not want to build Emacs in its source tree, you should run \`${progname}' in the directory in which you wish to build Emacs, using its \`--srcdir' option to say where the sources may be found." echo "${short_usage}") >&2 exit 1 fi fi fi ;; ## Otherwise, check if the directory they specified is okay. * ) if [ ! -d "${srcdir}" -o ! -f "${srcdir}/src/lisp.h" -o ! -f "${srcdir}/lisp/version.el" ]; then (echo "\ ${progname}: The directory specified with the \`--srcdir' option, \`${srcdir}', doesn't seem to contain the Emacs sources. You should either run the \`${progname}' script at the top of the Emacs source tree, or use the \`--srcdir' option to specify where the Emacs sources are." echo "${short_usage}") >&2 exit 1 fi ;; esac #### Make srcdir absolute, if it isn't already. It's important to #### avoid running the path through pwd unnecessary, since pwd can #### give you automounter prefixes, which can go away. case "${srcdir}" in /* ) ;; . ) ## We may be able to use the $PWD environment variable to make this ## absolute. But sometimes PWD is inaccurate. if [ "${PWD}" != "" ] && [ "`(cd ${PWD} ; sh -c pwd)`" = "`pwd`" ] ; then srcdir="$PWD" else srcdir="`(cd ${srcdir}; pwd)`" fi ;; * ) srcdir="`(cd ${srcdir}; pwd)`" ;; esac #### Check if the source directory already has a configured system in it. if [ `pwd` != `(cd ${srcdir} && pwd)` ] \ && [ -f "${srcdir}/src/config.h" ] ; then (echo "${progname}: WARNING: The directory tree \`${srcdir}' is being used" echo " as a build directory right now; it has been configured in its own" echo " right. To configure in another directory as well, you MUST" echo " use GNU make. If you do not have GNU make, then you must" echo " now do \`make distclean' in ${srcdir}," echo " and then run ${progname} again.") >&2 extrasub='/^VPATH[ ]*=/c\ vpath %.c $(srcdir)\ vpath %.h $(srcdir)\ vpath %.y $(srcdir)\ vpath %.l $(srcdir)\ vpath %.s $(srcdir)\ vpath %.in $(srcdir)' fi ### Make the necessary directories, if they don't exist. for dir in ./src ./lib-src ./cpp ./oldXMenu ./etc ; do if [ ! -d ${dir} ]; then mkdir ${dir} fi done #### Given the configuration name, set machfile and opsysfile to the #### names of the m/*.h and s/*.h files we should use. ### Canonicalize the configuration name. echo "Checking the configuration name." if canonical=`${srcdir}/config.sub "${configuration}"` ; then : ; else exit $? fi ### If you add support for a new configuration, add code to this ### switch statement to recognize your configuration name and select ### the appropriate operating system and machine description files. ### You would hope that you could choose an m/*.h file pretty much ### based on the machine portion of the configuration name, and an s- ### file based on the operating system portion. However, it turns out ### that each m/*.h file is pretty manufacturer-specific - for ### example, apollo.h, hp9000s300.h, mega68k, news.h, and tad68k are ### all 68000 machines; mips.h, pmax.h, and news-risc are all MIPS ### machines. So we basically have to have a special case for each ### configuration name. ### ### As far as handling version numbers on operating systems is ### concerned, make sure things will fail in a fixable way. If ### /etc/MACHINES doesn't say anything about version numbers, be ### prepared to handle anything reasonably. If version numbers ### matter, be sure /etc/MACHINES says something about it. ### ### Eric Raymond says we should accept strings like "sysvr4" to mean ### "System V Release 4"; he writes, "The old convention encouraged ### confusion between `system' and `release' levels'." machine='' opsys='' unported='false' case "${canonical}" in ## Alliant machines ## Strictly speaking, we need the version of the alliant operating ## system to choose the right machine file, but currently the ## configuration name doesn't tell us enough to choose the right ## one; we need to give alliants their own operating system name to ## do this right. When someone cares, they can help us. fx80-alliant-* ) machine=alliant4 opsys=bsd4-2 ;; i860-alliant-* ) machine=alliant-2800 opsys=bsd4-3 ;; ## Altos 3068 m68*-altos-sysv* ) machine=altos opsys=usg5-2 ;; ## Amdahl UTS 580-amdahl-sysv* ) machine=amdahl opsys=usg5-2-2 ;; ## Appallings - I mean, Apollos - running Domain m68*-apollo* ) machine=apollo opsys=bsd4-2 ;; ## AT&T 3b2, 3b5, 3b15, 3b20 we32k-att-sysv* ) machine=att3b opsys=usg5-2-2 ;; ## AT&T 3b1 - The Mighty Unix PC! m68*-att-sysv* ) machine=7300 opsys=usg5-2-2 ;; ## Bull dpx2 m68*-bull-sysv3* ) machine=dpx2 opsys=usg5-3 ;; ## Bull sps7 m68*-bull-sysv2* ) machine=sps7 opsys=usg5-2 ;; ## CCI 5/32, 6/32 -- see "Tahoe". ## Celerity ## I don't know what configuration name to use for this; config.sub ## doesn't seem to know anything about it. Hey, Celerity users, get ## in touch with us! celerity-celerity-bsd* ) machine=celerity opsys=bsd4-2 ;; ## Clipper ## What operating systems does this chip run that Emacs has been ## tested on? clipper-* ) machine=clipper ## We'll use the catch-all code at the bottom to guess the ## operating system. ;; ## Convex *-convex-bsd* ) machine=convex opsys=bsd4-3 ;; ## Cubix QBx/386 i386-cubix-sysv* ) machine=intel386 opsys=usg5-3 ;; ## Cydra 5 cydra*-cydrome-sysv* ) machine=cydra5 opsys=usg5-3 ;; ## Data General AViiON Machines m88k-dg-dgux* ) machine=aviion opsys=dgux ;; ## DECstations mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0* | mips-dec-bsd4.2* ) machine=pmax opsys=bsd4-2 ;; mips-dec-ultrix* | mips-dec-bsd* ) machine=pmax opsys=bsd4-3 ;; mips-dec-osf* ) machine=pmax opsys=osf1 ;; ## Motorola Delta machines m68*-motorola-sysv* ) machine=delta opsys=usg5-3 ;; m88k-motorola-sysv4* ) machine=delta88k opsys=usg5-4 ;; m88k-motorola-sysv* | m88k-motorola-m88kbcs* ) machine=delta88k opsys=usg5-3 ;; ## Dual machines m68*-dual-sysv* ) machine=dual opsys=usg5-2 ;; m68*-dual-uniplus* ) machine=dual opsys=unipl5-2 ;; ## Elxsi 6400 elxsi-elxsi-sysv* ) machine=elxsi opsys=usg5-2 ;; ## Encore machines ns16k-encore-bsd* ) machine=ns16000 opsys=umax ;; ## The GEC 93 - apparently, this port isn't really finished yet. ## Gould Power Node and NP1 pn-gould-bsd4.2* ) machine=gould opsys=bsd4-2 ;; pn-gould-bsd4.3* ) machine=gould opsys=bsd4-3 ;; np1-gould-bsd* ) machine=gould-np1 opsys=bsd4-3 ;; ## Honeywell XPS100 xps*-honeywell-sysv* ) machine=xps100 opsys=usg5-2 ;; ## HP 9000 series 200 or 300 m68*-hp-bsd* ) machine=hp9000s300 opsys=bsd4-3 ;; m68*-hp-netbsd* ) machine=hp9000s300 opsys=netbsd ;; ## HP/UX 7, 8 and 9 are supported on these machines. m68*-hp-hpux* ) case "`uname -r`" in ## Someone's system reports A.B8.05 for this. ## I wonder what other possibilities there are. *.B8.* ) machine=hp9000s300 opsys=hpux8 ;; *.08.* ) machine=hp9000s300 opsys=hpux8 ;; *.09.* ) machine=hp9000s300 opsys=hpux9 ;; *) machine=hp9000s300 opsys=hpux ;; esac ;; ## HP 9000 series 700 and 800, running HP/UX hppa*-hp-hpux7* ) machine=hp9000s800 opsys=hpux ;; hppa*-hp-hpux8* ) machine=hp9000s800 opsys=hpux8 ;; hppa*-hp-hpux9* ) machine=hp9000s800 opsys=hpux9 ;; ## HP 9000 series 700 and 800, running HP/UX hppa*-hp-hpux* ) ## Cross-compilation? Nah! case "`uname -r`" in ## Someone's system reports A.B8.05 for this. ## I wonder what other possibilities there are. *.B8.* ) machine=hp9000s800 opsys=hpux8 ;; *.08.* ) machine=hp9000s800 opsys=hpux8 ;; *.09.* ) machine=hp9000s800 opsys=hpux9 ;; *) machine=hp9000s800 opsys=hpux ;; esac ;; ## Orion machines orion-orion-bsd* ) machine=orion opsys=bsd4-2 ;; clipper-orion-bsd* ) machine=orion105 opsys=bsd4-2 ;; ## IBM machines i386-ibm-aix1.1* ) machine=ibmps2-aix opsys=usg5-2-2 ;; i386-ibm-aix1.[23]* | i386-ibm-aix* ) machine=ibmps2-aix opsys=usg5-3 ;; i370-ibm-aix*) machine=ibm370aix opsys=usg5-3 ;; rs6000-ibm-aix3.1* ) machine=ibmrs6000 opsys=aix3-1 ;; rs6000-ibm-aix3.2* | rs6000-ibm-aix* ) machine=ibmrs6000 opsys=aix3-2 ;; romp-ibm-bsd4.3* ) machine=ibmrt opsys=bsd4-3 ;; romp-ibm-bsd4.2* ) machine=ibmrt opsys=bsd4-2 ;; romp-ibm-aos4.3* ) machine=ibmrt opsys=bsd4-3 ;; romp-ibm-aos4.2* ) machine=ibmrt opsys=bsd4-2 ;; romp-ibm-aos* ) machine=ibmrt opsys=bsd4-3 ;; romp-ibm-bsd* ) machine=ibmrt opsys=bsd4-3 ;; romp-ibm-aix* ) machine=ibmrt-aix opsys=usg5-2-2 ;; ## Integrated Solutions `Optimum V' m68*-isi-bsd4.2* ) machine=isi-ov opsys=bsd4-2 ;; m68*-isi-bsd4.3* ) machine=isi-ov opsys=bsd4-3 ;; ## Intel 386 machines where we do care about the manufacturer i[34]86-intsys-sysv* ) machine=is386 opsys=usg5-2-2 ;; ## Prime EXL i386-prime-sysv* ) machine=i386 opsys=usg5-3 ;; ## Sequent Symmetry i386-sequent-bsd* ) machine=symmetry opsys=bsd4-3 ;; ## Unspecified sysv on an ncr machine defaults to svr4. i[34]86-ncr-sysv* ) machine=intel386 opsys=usg5-4 ;; ## Intel 860 i860-*-sysvr4* ) machine=i860 opsys=usg5-4 ;; ## Silicon Graphics machines ## Iris 2500 and Iris 2500 Turbo (aka the Iris 3030) m68*-sgi-iris3.5* ) machine=irist opsys=iris3-5 ;; m68*-sgi-iris3.6* | m68*-sgi-iris*) machine=irist opsys=iris3-6 ;; ## Iris 4D mips-sgi-irix3.* ) machine=iris4d opsys=irix3-3 ;; mips-sgi-irix5.* ) machine=iris4d opsys=irix5-0 ;; mips-sgi-irix4.* | mips-sgi-irix* ) machine=iris4d opsys=irix4-0 ;; ## Masscomp machines m68*-masscomp-rtu* ) machine=masscomp opsys=rtu ;; ## Megatest machines m68*-megatest-bsd* ) machine=mega68 opsys=bsd4-2 ;; ## Workstations sold by MIPS ## This is not necessarily all workstations using the MIPS processor - ## Irises are produced by SGI, and DECstations by DEC. ## etc/MACHINES lists mips.h and mips4.h as possible machine files, ## and usg5-2-2 and bsd4-3 as possible OS files. The only guidance ## it gives for choosing between the alternatives seems to be "Use ## -machine=mips4 for RISCOS version 4; use -opsystem=bsd4-3 with ## the BSD world." I'll assume that these are instructions for ## handling two odd situations, and that every other situation ## should use mips.h and usg5-2-2, they being listed first. mips-mips-usg* ) machine=mips4 ## Fall through to the general code at the bottom to decide on the OS. ;; mips-mips-riscos4* ) machine=mips4 opsys=bsd4-3 ;; mips-mips-bsd* ) machine=mips opsys=bsd4-3 ;; mips-mips-* ) machine=mips opsys=usg5-2-2 ;; ## NeXT m68*-next-mach* | m68*-next-bsd* ) machine=next opsys=mach2 ;; ## The complete machine from National Semiconductor ns32k-ns-genix* ) machine=ns32000 opsys=usg5-2 ;; ## NCR machines m68*-ncr-sysv2* | m68*-ncr-sysvr2* ) machine=tower32 opsys=usg5-2-2 ;; m68*-ncr-sysv3* | m68*-ncr-sysvr3* ) machine=tower32v3 opsys=usg5-3 ;; ## Nixdorf Targon 31 m68*-nixdorf-sysv* ) machine=targon31 opsys=usg5-2-2 ;; ## Nu (TI or LMI) m68*-nu-sysv* ) machine=nu opsys=usg5-2 ;; ## Plexus m68*-plexus-sysv* ) machine=plexus opsys=usg5-2 ;; ## Pyramid machines ## I don't really have any idea what sort of processor the Pyramid has, ## so I'm assuming it is its own architecture. pyramid-pyramid-bsd* ) machine=pyramid opsys=bsd4-2 ;; ## Sequent Balance ns32k-sequent-bsd4.2* ) machine=sequent opsys=bsd4-2 ;; ns32k-sequent-bsd4.3* ) machine=sequent opsys=bsd4-3 ;; ## SONY machines m68*-sony-bsd4.2* ) machine=news opsys=bsd4-2 ;; m68*-sony-bsd4.3* ) machine=news opsys=bsd4-3 ;; m68*-sony-newsos3*) machine=news opsys=bsd4-3 ;; mips-sony-bsd* ) machine=news-risc opsys=bsd4-3 ;; ## Stride m68*-stride-sysv* ) machine=stride opsys=usg5-2 ;; ## Suns *-sun-sunos* | *-sun-bsd* | *-sun-solaris* ) case "${canonical}" in m68*-sunos1* ) machine=sun1 ;; m68*-sunos2* ) machine=sun2 ;; m68* ) machine=sun3 ;; i[34]86* ) machine=sun386 ;; sparc* ) machine=sparc ;; * ) unported=true ;; esac case "${canonical}" in ## The Sun386 didn't get past 4.0. i386-*-sunos4 ) opsys=sunos4-0 ;; *-sunos4.0* ) opsys=sunos4-0 ;; *-sunos4.1.3* ) opsys=sunos4-1-3 ;; *-sunos4* | *-sunos ) opsys=sunos4-1 ;; *-sunos5* | *-solaris* ) opsys=sol2 ;; * ) opsys=bsd4-2 ;; esac ;; ## Tadpole 68k m68*-tadpole-sysv* ) machine=tad68k opsys=usg5-3 ;; ## Tahoe machines tahoe-tahoe-bsd4.2* ) machine=tahoe opsys=bsd4-2 ;; tahoe-tahoe-bsd4.3* ) machine=tahoe opsys=bsd4-3 ;; ## Tandem Integrity S2 mips-tandem-sysv* ) machine=tandem-s2 opsys=usg5-3 ;; ## Tektronix XD88 m88k-tektronix-sysv3* ) machine=tekxd88 opsys=usg5-3 ;; ## Tektronix 16000 box (6130?) ns16k-tektronix-bsd* ) machine=ns16000 opsys=bsd4-2 ;; ## Tektronix 4300 ## src/m/tek4300.h hints that this is a m68k machine. m68*-tektronix-bsd* ) machine=tek4300 opsys=bsd4-3 ;; ## Titan P2 or P3 ## We seem to have lost the machine-description file titan.h! titan-titan-sysv* ) machine=titan opsys=usg5-3 ;; ## Ustation E30 (SS5E) m68*-unisys-uniplus* ) machine=ustation opsystem=unipl5-2 ;; ## Vaxen. vax-dec-* ) machine=vax case "${canonical}" in *-bsd4.1* ) opsys=bsd4-1 ;; *-bsd4.2* | *-ultrix[0-3].* | *-ultrix4.0* ) opsys=bsd4-2 ;; *-bsd4.3* | *-ultrix* ) opsys=bsd4-3 ;; *-bsd386* ) opsys=bsd386 ;; *-sysv[01]* | *-sysvr[01]* ) opsys=usg5-0 ;; *-sysv2* | *-sysvr2* ) opsys=usg5-2 ;; *-vms* ) opsys=vms ;; * ) unported=true esac ;; ## Whitechapel MG1 ns16k-whitechapel-* ) machine=mg1 ## We don't know what sort of OS runs on these; we'll let the ## operating system guessing code below try. ;; ## Wicat m68*-wicat-sysv* ) machine=wicat opsys=usg5-2 ;; ## Intel 386 machines where we don't care about the manufacturer i[34]86-*-* ) machine=intel386 case "${canonical}" in *-isc1.* | *-isc2.[01]* ) opsys=386-ix ;; *-isc2.2* ) opsys=isc2-2 ;; *-isc* ) opsys=isc3-0 ;; *-esix5* ) opsys=esix5r4 ;; *-esix* ) opsys=esix ;; *-xenix* ) opsys=xenix ;; *-linux* ) opsys=linux ;; *-sco3.2v4* ) opsys=sco4 ;; *-bsd386* ) opsys=bsd386 ;; *-386bsd* ) opsys=386bsd ;; *-netbsd* ) opsys=netbsd ;; ## Otherwise, we'll fall through to the generic opsys code at the bottom. esac ;; * ) unported=true ;; esac ### If the code above didn't choose an operating system, just choose ### an operating system based on the configuration name. You really ### only want to use this when you have no idea what the right ### operating system is; if you know what operating systems a machine ### runs, it's cleaner to make it explicit in the case statement ### above. if [ x"${opsys}" = x ]; then case "${canonical}" in *-bsd4.[01] ) opsys=bsd4-1 ;; *-bsd4.2 ) opsys=bsd4-2 ;; *-bsd4.3 ) opsys=bsd4-3 ;; *-sysv0 | *-sysvr0 ) opsys=usg5-0 ;; *-sysv2 | *-sysvr2 ) opsys=usg5-2 ;; *-sysv2.2 | *-sysvr2.2 ) opsys=usg5-2-2 ;; *-sysv3 | *-sysvr3 ) opsys=usg5-3 ;; *-sysv4 | *-sysvr4 ) opsys=usg5-4 ;; *-sysv4.2 | *-sysvr4.2 ) opsys=usg5-4-2 ;; * ) unported=true ;; esac fi if $unported ; then (echo "${progname}: Emacs hasn't been ported to \`${canonical}' systems." echo "${progname}: Check \`etc/MACHINES' for recognized configuration names." ) >&2 exit 1 fi machfile="m/${machine}.h" opsysfile="s/${opsys}.h" trap 'rm -fr conftest* confdefs* core; exit 1' 1 3 15 trap 'rm -f confdefs*' 0 # NLS nuisances. # These must not be set unconditionally because not all systems understand # e.g. LANG=C (notably SCO). if test "${LC_ALL+set}" = 'set' ; then LC_ALL=C; export LC_ALL; fi if test "${LANG+set}" = 'set' ; then LANG=C; export LANG; fi rm -f conftest* confdefs.h # AIX cpp loses on an empty file, so make sure it contains at least a newline. echo > confdefs.h compile='${CC-cc} $CFLAGS conftest.c -o conftest $LIBS >/dev/null 2>&1' # A filename unique to this package, relative to the directory that # configure is in, which we can look for to find out if srcdir is correct. unique_file=lisp # Find the source files, if location was not specified. if test -z "$srcdir"; then srcdirdefaulted=yes # Try the directory containing this script, then `..'. prog=$0 confdir=`echo $prog|sed 's%/[^/][^/]*$%%'` test "X$confdir" = "X$prog" && confdir=. srcdir=$confdir if test ! -r $srcdir/$unique_file; then srcdir=.. fi fi if test ! -r $srcdir/$unique_file; then if test x$srcdirdefaulted = xyes; then echo "configure: Can not find sources in \`${confdir}' or \`..'." 1>&2 else echo "configure: Can not find sources in \`${srcdir}'." 1>&2 fi exit 1 fi # Preserve a srcdir of `.' to avoid automounter screwups with pwd. # But we can't avoid them for `..', to make subdirectories work. case $srcdir in .|/*|~*) ;; *) srcdir=`cd $srcdir; pwd` ;; # Make relative path absolute. esac # Save the original args to write them into config.status later. configure_args="$*" #### Choose a compiler. case ${with_gcc} in "yes" ) CC="gcc" GCC=1 ;; "no" ) CC="cc" ;; * ) if test -z "$CC"; then # Extract the first word of `gcc', so it can be a program name with args. set dummy gcc; word=$2 echo checking for $word IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:" for dir in $PATH; do test -z "$dir" && dir=. if test -f $dir/$word; then CC="gcc" break fi done IFS="$saveifs" fi test -z "$CC" && CC="cc" test -n "$CC" && test -n "$verbose" && echo " setting CC to $CC" # Find out if we are using GNU C, under whatever name. cat > conftest.c < conftest.out 2>&1 if egrep yes conftest.out >/dev/null 2>&1; then GCC=1 # For later tests. fi rm -f conftest* esac #### Some other nice autoconf tests. If you add a test here which #### should make an entry in src/config.h, don't forget to add an #### #undef clause to src/config.h.in for autoconf to modify. echo checking for ln -s rm -f conftestdata if ln -s X conftestdata 2>/dev/null then rm -f conftestdata LN_S="ln -s" else LN_S=ln fi echo checking how to run the C preprocessor if test -z "$CPP"; then # This must be in double quotes, not single quotes, because CPP may get # substituted into the Makefile and ``${CC-cc}'' will simply confuse # make. It must be expanded now. CPP="${CC-cc} -E" cat > conftest.c < Syntax Error EOF err=`eval "($CPP conftest.c >/dev/null) 2>&1"` if test -z "$err"; then : else rm -rf conftest* CPP=/lib/cpp fi rm -f conftest* fi test ".${verbose}" != "." && echo " setting CPP to $CPP" # Make sure to not get the incompatible SysV /etc/install and # /usr/sbin/install, which might be in PATH before a BSD-like install, # or the SunOS /usr/etc/install directory, or the AIX /bin/install, # or the AFS install, which mishandles nonexistent args, or # /usr/ucb/install on SVR4, which tries to use the nonexistent group # `staff'. On most BSDish systems install is in /usr/bin, not /usr/ucb # anyway. Sigh. if test "z${INSTALL}" = "z" ; then echo checking for install IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:" for dir in $PATH; do test -z "$dir" && dir=. case $dir in /etc|/usr/sbin|/usr/etc|/usr/afsws/bin|/usr/ucb) ;; *) if test -f $dir/installbsd; then INSTALL="$dir/installbsd -c" # OSF1 INSTALL_PROGRAM='$(INSTALL)' INSTALL_DATA='$(INSTALL) -m 644' break fi if test -f $dir/install; then if grep dspmsg $dir/install >/dev/null 2>&1; then : # AIX else INSTALL="$dir/install -c" INSTALL_PROGRAM='$(INSTALL)' INSTALL_DATA='$(INSTALL) -m 644' break fi fi ;; esac done IFS="$saveifs" fi if test -z "$INSTALL"; then if test -f ${srcdir}/install.sh; then # We want the top-level source directory, not the subdir's srcdir, # so expand srcdir now rather than in the Makefile. INSTALL="${srcdir}/install.sh -c" else echo "warning: ${srcdir}/install.sh not found; using cp" INSTALL=cp fi fi test -n "$verbose" && echo " setting INSTALL to $INSTALL" INSTALL_PROGRAM=${INSTALL_PROGRAM-'$(INSTALL)'} test -n "$verbose" && echo " setting INSTALL_PROGRAM to $INSTALL_PROGRAM" INSTALL_DATA=${INSTALL_DATA-'$(INSTALL)'} test -n "$verbose" && echo " setting INSTALL_DATA to $INSTALL_DATA" for p in 'bison -y' byacc do if test -z "$YACC"; then # Extract the first word of `$p', so it can be a program name with args. set dummy $p; word=$2 echo checking for $word IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:" for dir in $PATH; do test -z "$dir" && dir=. if test -f $dir/$word; then YACC="$p" break fi done IFS="$saveifs" fi test -n "$YACC" && test -n "$verbose" && echo " setting YACC to $YACC" test -n "$YACC" && break done test -n "$YACC" || YACC="yacc" for hdr in sys/timeb.h sys/time.h unistd.h do trhdr=HAVE_`echo $hdr | tr '[a-z]./' '[A-Z]__'` echo checking for ${hdr} cat > conftest.c < EOF err=`eval "($CPP conftest.c >/dev/null) 2>&1"` if test -z "$err"; then rm -rf conftest* { test -n "$verbose" && \ echo " defining ${trhdr}" echo "#define" ${trhdr} 1 >> confdefs.h DEFS="$DEFS -D${trhdr}=1" SEDDEFS="${SEDDEFS}\${SEDdA}${trhdr}\${SEDdB}${trhdr}\${SEDdC}1\${SEDdD} \${SEDuA}${trhdr}\${SEDuB}${trhdr}\${SEDuC}1\${SEDuD} \${SEDeA}${trhdr}\${SEDeB}${trhdr}\${SEDeC}1\${SEDeD} " } fi rm -f conftest* done echo checking for ANSI C header files cat > conftest.c < #include #include #include EOF err=`eval "($CPP conftest.c >/dev/null) 2>&1"` if test -z "$err"; then rm -rf conftest* # SunOS 4.x string.h does not declare mem*, contrary to ANSI. echo '#include "confdefs.h" #include ' > conftest.c eval "$CPP conftest.c > conftest.out 2>&1" if egrep "memchr" conftest.out >/dev/null 2>&1; then rm -rf conftest* # SGI's /bin/cc from Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. cat > conftest.c < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') #define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #define XOR(e,f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF eval $compile if test -s conftest && (./conftest; exit) 2>/dev/null; then { test -n "$verbose" && \ echo " defining STDC_HEADERS" echo "#define" STDC_HEADERS 1 >> confdefs.h DEFS="$DEFS -DSTDC_HEADERS=1" SEDDEFS="${SEDDEFS}\${SEDdA}STDC_HEADERS\${SEDdB}STDC_HEADERS\${SEDdC}1\${SEDdD} \${SEDuA}STDC_HEADERS\${SEDuB}STDC_HEADERS\${SEDuC}1\${SEDuD} \${SEDeA}STDC_HEADERS\${SEDeB}STDC_HEADERS\${SEDeC}1\${SEDeD} " } fi rm -fr conftest* fi rm -f conftest* fi rm -f conftest* echo checking for whether time.h and sys/time.h may both be included cat > conftest.c < #include #include int main() { exit(0); } int t() { struct tm *tp; } EOF if eval $compile; then rm -rf conftest* { test -n "$verbose" && \ echo " defining TIME_WITH_SYS_TIME" echo "#define" TIME_WITH_SYS_TIME 1 >> confdefs.h DEFS="$DEFS -DTIME_WITH_SYS_TIME=1" SEDDEFS="${SEDDEFS}\${SEDdA}TIME_WITH_SYS_TIME\${SEDdB}TIME_WITH_SYS_TIME\${SEDdC}1\${SEDdD} \${SEDuA}TIME_WITH_SYS_TIME\${SEDuB}TIME_WITH_SYS_TIME\${SEDuC}1\${SEDuD} \${SEDeA}TIME_WITH_SYS_TIME\${SEDeB}TIME_WITH_SYS_TIME\${SEDeC}1\${SEDeD} " } fi rm -f conftest* echo checking for return type of signal handlers cat > conftest.c < #include #ifdef signal #undef signal #endif extern void (*signal ()) (); int main() { exit(0); } int t() { int i; } EOF if eval $compile; then rm -rf conftest* { test -n "$verbose" && \ echo " defining" RETSIGTYPE to be void echo "#define" RETSIGTYPE void >> confdefs.h DEFS="$DEFS -DRETSIGTYPE=void" SEDDEFS="${SEDDEFS}\${SEDdA}RETSIGTYPE\${SEDdB}RETSIGTYPE\${SEDdC}void\${SEDdD} \${SEDuA}RETSIGTYPE\${SEDuB}RETSIGTYPE\${SEDuC}void\${SEDuD} \${SEDeA}RETSIGTYPE\${SEDeB}RETSIGTYPE\${SEDeC}void\${SEDeD} " } else rm -rf conftest* { test -n "$verbose" && \ echo " defining" RETSIGTYPE to be int echo "#define" RETSIGTYPE int >> confdefs.h DEFS="$DEFS -DRETSIGTYPE=int" SEDDEFS="${SEDDEFS}\${SEDdA}RETSIGTYPE\${SEDdB}RETSIGTYPE\${SEDdC}int\${SEDdD} \${SEDuA}RETSIGTYPE\${SEDuB}RETSIGTYPE\${SEDuC}int\${SEDuD} \${SEDeA}RETSIGTYPE\${SEDeB}RETSIGTYPE\${SEDeC}int\${SEDeD} " } fi rm -f conftest* echo checking for struct tm in time.h cat > conftest.c < #include int main() { exit(0); } int t() { struct tm *tp; tp->tm_sec; } EOF if eval $compile; then : else rm -rf conftest* { test -n "$verbose" && \ echo " defining TM_IN_SYS_TIME" echo "#define" TM_IN_SYS_TIME 1 >> confdefs.h DEFS="$DEFS -DTM_IN_SYS_TIME=1" SEDDEFS="${SEDDEFS}\${SEDdA}TM_IN_SYS_TIME\${SEDdB}TM_IN_SYS_TIME\${SEDdC}1\${SEDdD} \${SEDuA}TM_IN_SYS_TIME\${SEDuB}TM_IN_SYS_TIME\${SEDuC}1\${SEDuD} \${SEDeA}TM_IN_SYS_TIME\${SEDeB}TM_IN_SYS_TIME\${SEDeC}1\${SEDeD} " } fi rm -f conftest* decl='#include ' case "$DEFS" in *TM_IN_SYS_TIME*) decl="$decl #include " ;; *) decl="$decl #include " ;; esac echo checking for tm_zone in struct tm cat > conftest.c <> confdefs.h DEFS="$DEFS -DHAVE_TM_ZONE=1" SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_TM_ZONE\${SEDdB}HAVE_TM_ZONE\${SEDdC}1\${SEDdD} \${SEDuA}HAVE_TM_ZONE\${SEDuB}HAVE_TM_ZONE\${SEDuC}1\${SEDuD} \${SEDeA}HAVE_TM_ZONE\${SEDeB}HAVE_TM_ZONE\${SEDeC}1\${SEDeD} " } else rm -rf conftest* no_tm_zone=1 fi rm -f conftest* if test -n "$no_tm_zone"; then echo checking for tzname cat > conftest.c < #ifndef tzname /* For SGI. */ extern char *tzname[]; /* RS6000 and others want it this way. */ #endif int main() { exit(0); } int t() { atoi(*tzname); } EOF if eval $compile; then rm -rf conftest* { test -n "$verbose" && \ echo " defining HAVE_TZNAME" echo "#define" HAVE_TZNAME 1 >> confdefs.h DEFS="$DEFS -DHAVE_TZNAME=1" SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_TZNAME\${SEDdB}HAVE_TZNAME\${SEDdC}1\${SEDdD} \${SEDuA}HAVE_TZNAME\${SEDuB}HAVE_TZNAME\${SEDuC}1\${SEDuD} \${SEDeA}HAVE_TZNAME\${SEDeB}HAVE_TZNAME\${SEDeC}1\${SEDeD} " } fi rm -f conftest* fi prog='/* Ultrix mips cc rejects this. */ typedef int charset[2]; const charset x; /* SunOS 4.1.1 cc rejects this. */ char const *const *ccp; char **p; /* AIX XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; ccp = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++ccp; p = (char**) ccp; ccp = (char const *const *) p; { /* SCO 3.2v4 cc rejects this. */ char *t; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25,17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* AIX XL C 1.02.0.0 rejects this saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; }; struct s *b; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; }' echo checking for lack of working const cat > conftest.c <> confdefs.h DEFS="$DEFS -Dconst=" SEDDEFS="${SEDDEFS}\${SEDdA}const\${SEDdB}const\${SEDdC}\${SEDdD} \${SEDuA}const\${SEDuB}const\${SEDuC}\${SEDuD} \${SEDeA}const\${SEDeB}const\${SEDeC}\${SEDeD} " } fi rm -f conftest* echo checking for long file names some_dir_failed=false # Test for long file names in all the places we know might matter: # . the current directory, where building will happen # /tmp where it might want to write temporary files # /var/tmp likewise # /usr/tmp likewise # $prefix/lib where we will be installing things # $exec_prefix/lib likewise # eval it to expand exec_prefix. for dir in `eval echo . /tmp /var/tmp /usr/tmp $prefix/lib $exec_prefix/lib` ; do test -d $dir || continue test -w $dir || continue # It's less confusing to not echo anything here. (echo 1 > $dir/conftest9012345) 2>/dev/null (echo 2 > $dir/conftest9012346) 2>/dev/null val=`cat $dir/conftest9012345 2>/dev/null` test -f $dir/conftest9012345 && test "$val" = 1 || some_dir_failed=true rm -f $dir/conftest9012345 $dir/conftest9012346 2> /dev/null done $some_dir_failed || { test -n "$verbose" && \ echo " defining HAVE_LONG_FILE_NAMES" echo "#define" HAVE_LONG_FILE_NAMES 1 >> confdefs.h DEFS="$DEFS -DHAVE_LONG_FILE_NAMES=1" SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_LONG_FILE_NAMES\${SEDdB}HAVE_LONG_FILE_NAMES\${SEDdC}1\${SEDdD} \${SEDuA}HAVE_LONG_FILE_NAMES\${SEDuB}HAVE_LONG_FILE_NAMES\${SEDuC}1\${SEDuD} \${SEDeA}HAVE_LONG_FILE_NAMES\${SEDeB}HAVE_LONG_FILE_NAMES\${SEDeC}1\${SEDeD} " } #### Choose a window system. echo "Checking window system." window_system='' case "${with_x}" in yes ) window_system=${window_system}x11 ;; no ) window_system=${window_system}none esac case "${with_x11}" in yes ) window_system=${window_system}x11 ;; esac case "${with_x10}" in yes ) window_system=${window_system}x10 ;; esac case "${window_system}" in "none" | "x11" | "x10" ) ;; "" ) # --x-includes or --x-libraries implies --with-x11. if [ -n "${x_includes}" ] || [ -n "${x_libraries}" ]; then window_system=x11 else echo " No window system specified. Looking for X11." # If the user didn't specify a window system and we found X11, use it. if [ -r /usr/lib/libX11.a \ -o -d /usr/include/X11 \ -o -d /usr/X386/include \ -o -d ${x_includes}/X11 ]; then window_system=x11 fi fi ;; * ) echo "Don't specify a window system more than once." >&2 exit 1 ;; esac case "${window_system}" in "" | "x11" ) ### If the user hasn't specified where we should find X, try ### letting autoconf figure that out. if [ -z "${x_includes}" ] && [ -z "${x_libraries}" ]; then # If we find X, set shell vars x_includes and x_libraries to the paths. no_x=true echo checking for X include and library files with xmkmf rm -fr conftestdir if mkdir conftestdir; then cd conftestdir cat > Imakefile <<'EOF' acfindx: @echo 'im_incroot="$(INCROOT)"; im_usrlibdir="$(USRLIBDIR)"; im_libdir="$(LIBDIR)"' EOF if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then no_x= # GNU make sometimes prints "make[1]: Entering...", which would confuse us. eval `make acfindx | grep -v make` # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. if test ! -f $im_usrlibdir/libX11.a && test -f $im_libdir/libX11.a; then im_usrlibdir=$im_libdir fi case "$im_incroot" in /usr/include) ;; *) x_includes="$im_incroot" ;; esac case "$im_usrlibdir" in /usr/lib | /lib) ;; *) x_libraries="$im_usrlibdir" ;; esac fi cd .. rm -fr conftestdir fi if test -z "$im_usrlibdir"; then echo checking for X include and library files directly if test ".$x_direct_test_library" = . ; then x_direct_test_library=Xt fi cat > conftest.c < EOF err=`eval "($CPP conftest.c >/dev/null) 2>&1"` if test -z "$err"; then rm -rf conftest* no_x= else rm -rf conftest* for dir in \ /usr/local/include \ /usr/unsupported/include \ /usr/x386/include \ /usr/local/x11r5/include \ /usr/include/X11R6 \ /usr/include/X11R5 \ /usr/include/X11R4 \ /usr/X11R6/include \ /usr/X11R5/include \ /usr/X11/include \ /usr/openwin/include \ /usr/openwin/share/include \ /usr/lpp/Xamples/include \ /usr/athena/include \ ; \ do if test -r $dir/X11/Intrinsic.h; then x_includes=$dir; no_x= break fi done fi rm -f conftest* # Check for the libraries. First see if replacing the `include' by # `lib' works. LIBS_save="${LIBS}" LIBS="${LIBS} -l"$x_direct_test_library"" have_lib="" echo checking for -l"$x_direct_test_library" cat > conftest.c < ${tempcname} # The value of CPP is a quoted variable reference, so we need to do this # to get its actual value... CPP=`eval "echo $CPP"` eval `${CPP} -Isrc ${tempcname} \ | grep 'configure___' \ | sed -e 's/^configure___ \([^=]*=\)\(.*\)$/\1"\2"/'` rm ${tempcname} ### Compute the unexec source name from the object name. UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`" # Do the opsystem or machine files prohibit the use of the GNU malloc? # Assume not, until told otherwise. GNU_MALLOC=yes if [ "${system_malloc}" = "yes" ]; then GNU_MALLOC=no GNU_MALLOC_reason=" (The GNU allocators don't work with this system configuration.)" fi if [ x"${REL_ALLOC}" = x ]; then REL_ALLOC=${GNU_MALLOC} fi LISP_FLOAT_TYPE=yes #### Add the libraries to LIBS and check for some functions. DEFS="$c_switch_system $DEFS" LIBS="$libsrc_libs" LIBS_save="${LIBS}" LIBS="${LIBS} -ldnet" have_lib="" echo checking for -ldnet cat > conftest.c <> confdefs.h DEFS="$DEFS -DHAVE_LIBDNET=1" SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_LIBDNET\${SEDdB}HAVE_LIBDNET\${SEDdC}1\${SEDdD} \${SEDuA}HAVE_LIBDNET\${SEDuB}HAVE_LIBDNET\${SEDuC}1\${SEDuD} \${SEDeA}HAVE_LIBDNET\${SEDeB}HAVE_LIBDNET\${SEDeC}1\${SEDeD} " } LIBS="${LIBS} -ldnet" fi LIBS_save="${LIBS}" LIBS="${LIBS} -lXbsd" have_lib="" echo checking for -lXbsd cat > conftest.c < conftest.c < int main() { exit(0); } int t() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_${func}) || defined (__stub___${func}) choke me #else /* Override any gcc2 internal prototype to avoid an error. */ extern char ${func}(); ${func}(); #endif } EOF if eval $compile; then rm -rf conftest* { test -n "$verbose" && \ echo " defining ${trfunc}" echo "#define" ${trfunc} 1 >> confdefs.h DEFS="$DEFS -D${trfunc}=1" SEDDEFS="${SEDDEFS}\${SEDdA}${trfunc}\${SEDdB}${trfunc}\${SEDdC}1\${SEDdD} \${SEDuA}${trfunc}\${SEDuB}${trfunc}\${SEDuC}1\${SEDuD} \${SEDeA}${trfunc}\${SEDeB}${trfunc}\${SEDeC}1\${SEDeD} " } fi rm -f conftest* done fi # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo checking for working alloca.h cat > conftest.c < int main() { exit(0); } int t() { char *p = alloca(2 * sizeof(int)); } EOF if eval $compile; then rm -rf conftest* { test -n "$verbose" && \ echo " defining HAVE_ALLOCA_H" echo "#define" HAVE_ALLOCA_H 1 >> confdefs.h DEFS="$DEFS -DHAVE_ALLOCA_H=1" SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_ALLOCA_H\${SEDdB}HAVE_ALLOCA_H\${SEDdC}1\${SEDdD} \${SEDuA}HAVE_ALLOCA_H\${SEDuB}HAVE_ALLOCA_H\${SEDuC}1\${SEDuD} \${SEDeA}HAVE_ALLOCA_H\${SEDeB}HAVE_ALLOCA_H\${SEDeC}1\${SEDeD} " } fi rm -f conftest* decl="#ifdef __GNUC__ #define alloca __builtin_alloca #else #if HAVE_ALLOCA_H #include #else #ifdef _AIX #pragma alloca #else char *alloca (); #endif #endif #endif " echo checking for alloca cat > conftest.c < conftest.c < conftest.out 2>&1" if egrep "winnitude" conftest.out >/dev/null 2>&1; then rm -rf conftest* echo checking for _getb67 cat > conftest.c < int main() { exit(0); } int t() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub__getb67) || defined (__stub____getb67) choke me #else /* Override any gcc2 internal prototype to avoid an error. */ extern char _getb67(); _getb67(); #endif } EOF if eval $compile; then rm -rf conftest* { test -n "$verbose" && \ echo " defining" CRAY_STACKSEG_END to be _getb67 echo "#define" CRAY_STACKSEG_END _getb67 >> confdefs.h DEFS="$DEFS -DCRAY_STACKSEG_END=_getb67" SEDDEFS="${SEDDEFS}\${SEDdA}CRAY_STACKSEG_END\${SEDdB}CRAY_STACKSEG_END\${SEDdC}_getb67\${SEDdD} \${SEDuA}CRAY_STACKSEG_END\${SEDuB}CRAY_STACKSEG_END\${SEDuC}_getb67\${SEDuD} \${SEDeA}CRAY_STACKSEG_END\${SEDeB}CRAY_STACKSEG_END\${SEDeC}_getb67\${SEDeD} " } else rm -rf conftest* echo checking for GETB67 cat > conftest.c < int main() { exit(0); } int t() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_GETB67) || defined (__stub___GETB67) choke me #else /* Override any gcc2 internal prototype to avoid an error. */ extern char GETB67(); GETB67(); #endif } EOF if eval $compile; then rm -rf conftest* { test -n "$verbose" && \ echo " defining" CRAY_STACKSEG_END to be GETB67 echo "#define" CRAY_STACKSEG_END GETB67 >> confdefs.h DEFS="$DEFS -DCRAY_STACKSEG_END=GETB67" SEDDEFS="${SEDDEFS}\${SEDdA}CRAY_STACKSEG_END\${SEDdB}CRAY_STACKSEG_END\${SEDdC}GETB67\${SEDdD} \${SEDuA}CRAY_STACKSEG_END\${SEDuB}CRAY_STACKSEG_END\${SEDuC}GETB67\${SEDuD} \${SEDeA}CRAY_STACKSEG_END\${SEDeB}CRAY_STACKSEG_END\${SEDeC}GETB67\${SEDeD} " } else rm -rf conftest* echo checking for getb67 cat > conftest.c < int main() { exit(0); } int t() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_getb67) || defined (__stub___getb67) choke me #else /* Override any gcc2 internal prototype to avoid an error. */ extern char getb67(); getb67(); #endif } EOF if eval $compile; then rm -rf conftest* { test -n "$verbose" && \ echo " defining" CRAY_STACKSEG_END to be getb67 echo "#define" CRAY_STACKSEG_END getb67 >> confdefs.h DEFS="$DEFS -DCRAY_STACKSEG_END=getb67" SEDDEFS="${SEDDEFS}\${SEDdA}CRAY_STACKSEG_END\${SEDdB}CRAY_STACKSEG_END\${SEDdC}getb67\${SEDdD} \${SEDuA}CRAY_STACKSEG_END\${SEDuB}CRAY_STACKSEG_END\${SEDuC}getb67\${SEDuD} \${SEDeA}CRAY_STACKSEG_END\${SEDeB}CRAY_STACKSEG_END\${SEDeC}getb67\${SEDeD} " } fi rm -f conftest* fi rm -f conftest* fi rm -f conftest* fi rm -f conftest* fi rm -f conftest* if test -n "$alloca_missing"; then # The SVR3 libPW and SVR4 libucb both contain incompatible functions # that cause trouble. Some versions do not even contain alloca or # contain a buggy version. If you still want to use their alloca, # use ar to extract alloca.o from them instead of compiling alloca.c. ALLOCA=alloca.o { test -n "$verbose" && \ echo " defining C_ALLOCA" echo "#define" C_ALLOCA 1 >> confdefs.h DEFS="$DEFS -DC_ALLOCA=1" SEDDEFS="${SEDDEFS}\${SEDdA}C_ALLOCA\${SEDdB}C_ALLOCA\${SEDdC}1\${SEDdD} \${SEDuA}C_ALLOCA\${SEDuB}C_ALLOCA\${SEDuC}1\${SEDuD} \${SEDeA}C_ALLOCA\${SEDeB}C_ALLOCA\${SEDeC}1\${SEDeD} " } echo 'checking stack direction for C alloca' echo checking whether cross-compiling # If we cannot run a trivial program, we must be cross compiling. cat > conftest.c </dev/null; then : else cross_compiling=1 fi rm -fr conftest* if test -n "$cross_compiling" then { test -n "$verbose" && \ echo " defining" STACK_DIRECTION to be 0 echo "#define" STACK_DIRECTION 0 >> confdefs.h DEFS="$DEFS -DSTACK_DIRECTION=0" SEDDEFS="${SEDDEFS}\${SEDdA}STACK_DIRECTION\${SEDdB}STACK_DIRECTION\${SEDdC}0\${SEDdD} \${SEDuA}STACK_DIRECTION\${SEDuB}STACK_DIRECTION\${SEDuC}0\${SEDuD} \${SEDeA}STACK_DIRECTION\${SEDeB}STACK_DIRECTION\${SEDeC}0\${SEDeD} " } else cat > conftest.c < addr) ? 1 : -1; } main () { exit (find_stack_direction() < 0); } EOF eval $compile if test -s conftest && (./conftest; exit) 2>/dev/null; then { test -n "$verbose" && \ echo " defining" STACK_DIRECTION to be 1 echo "#define" STACK_DIRECTION 1 >> confdefs.h DEFS="$DEFS -DSTACK_DIRECTION=1" SEDDEFS="${SEDDEFS}\${SEDdA}STACK_DIRECTION\${SEDdB}STACK_DIRECTION\${SEDdC}1\${SEDdD} \${SEDuA}STACK_DIRECTION\${SEDuB}STACK_DIRECTION\${SEDuC}1\${SEDuD} \${SEDeA}STACK_DIRECTION\${SEDeB}STACK_DIRECTION\${SEDeC}1\${SEDeD} " } else { test -n "$verbose" && \ echo " defining" STACK_DIRECTION to be -1 echo "#define" STACK_DIRECTION -1 >> confdefs.h DEFS="$DEFS -DSTACK_DIRECTION=-1" SEDDEFS="${SEDDEFS}\${SEDdA}STACK_DIRECTION\${SEDdB}STACK_DIRECTION\${SEDdC}-1\${SEDdD} \${SEDuA}STACK_DIRECTION\${SEDuB}STACK_DIRECTION\${SEDuC}-1\${SEDuD} \${SEDeA}STACK_DIRECTION\${SEDeB}STACK_DIRECTION\${SEDeC}-1\${SEDeD} " } fi fi rm -fr conftest* fi # logb and frexp are found in -lm on most systems. LIBS_save="${LIBS}" LIBS="${LIBS} -lm" have_lib="" echo checking for -lm cat > conftest.c <> confdefs.h DEFS="$DEFS -DHAVE_LIBM=1" SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_LIBM\${SEDdB}HAVE_LIBM\${SEDdC}1\${SEDdD} \${SEDuA}HAVE_LIBM\${SEDuB}HAVE_LIBM\${SEDuC}1\${SEDuD} \${SEDeA}HAVE_LIBM\${SEDeB}HAVE_LIBM\${SEDeC}1\${SEDeD} " } LIBS="${LIBS} -lm" fi for func in gettimeofday gethostname dup2 rename closedir mkdir rmdir random bcopy logb frexp ftime res_init do trfunc=HAVE_`echo $func | tr '[a-z]' '[A-Z]'` echo checking for ${func} cat > conftest.c < int main() { exit(0); } int t() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_${func}) || defined (__stub___${func}) choke me #else /* Override any gcc2 internal prototype to avoid an error. */ extern char ${func}(); ${func}(); #endif } EOF if eval $compile; then rm -rf conftest* { test -n "$verbose" && \ echo " defining ${trfunc}" echo "#define" ${trfunc} 1 >> confdefs.h DEFS="$DEFS -D${trfunc}=1" SEDDEFS="${SEDDEFS}\${SEDdA}${trfunc}\${SEDdB}${trfunc}\${SEDdC}1\${SEDdD} \${SEDuA}${trfunc}\${SEDuB}${trfunc}\${SEDuC}1\${SEDuD} \${SEDeA}${trfunc}\${SEDeB}${trfunc}\${SEDeC}1\${SEDeD} " } fi rm -f conftest* done ok_so_far=true echo checking for socket cat > conftest.c < int main() { exit(0); } int t() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_socket) || defined (__stub___socket) choke me #else /* Override any gcc2 internal prototype to avoid an error. */ extern char socket(); socket(); #endif } EOF if eval $compile; then : else rm -rf conftest* ok_so_far= fi rm -f conftest* if test -n "$ok_so_far"; then echo checking for netinet/in.h cat > conftest.c < EOF err=`eval "($CPP conftest.c >/dev/null) 2>&1"` if test -z "$err"; then : else rm -rf conftest* ok_so_far= fi rm -f conftest* fi if test -n "$ok_so_far"; then echo checking for arpa/inet.h cat > conftest.c < EOF err=`eval "($CPP conftest.c >/dev/null) 2>&1"` if test -z "$err"; then : else rm -rf conftest* ok_so_far= fi rm -f conftest* fi if test -n "$ok_so_far"; then { test -n "$verbose" && \ echo " defining HAVE_INET_SOCKETS" echo "#define" HAVE_INET_SOCKETS 1 >> confdefs.h DEFS="$DEFS -DHAVE_INET_SOCKETS=1" SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_INET_SOCKETS\${SEDdB}HAVE_INET_SOCKETS\${SEDdC}1\${SEDdD} \${SEDuA}HAVE_INET_SOCKETS\${SEDuB}HAVE_INET_SOCKETS\${SEDuC}1\${SEDuD} \${SEDeA}HAVE_INET_SOCKETS\${SEDeB}HAVE_INET_SOCKETS\${SEDeC}1\${SEDeD} " } fi #### Find out which version of Emacs this is. version=`grep 'defconst[ ]*emacs-version' ${srcdir}/lisp/version.el \ | sed -e 's/^.*"\([0-9][0-9]*\.[0-9][0-9]*\)\..*$/\1/'` if [ x"${version}" = x ]; then echo "${progname}: can't find current emacs version in \`${srcdir}/lisp/version.el'." >&2 exit 1 fi if [ -f /usr/lpp/X11/bin/smt.exp ]; then { test -n "$verbose" && \ echo " defining HAVE_AIX_SMT_EXP" echo "#define" HAVE_AIX_SMT_EXP 1 >> confdefs.h DEFS="$DEFS -DHAVE_AIX_SMT_EXP=1" SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_AIX_SMT_EXP\${SEDdB}HAVE_AIX_SMT_EXP\${SEDdC}1\${SEDdD} \${SEDuA}HAVE_AIX_SMT_EXP\${SEDuB}HAVE_AIX_SMT_EXP\${SEDuC}1\${SEDuD} \${SEDeA}HAVE_AIX_SMT_EXP\${SEDeB}HAVE_AIX_SMT_EXP\${SEDeC}1\${SEDeD} " } fi #### Specify what sort of things we'll be editing into Makefile and config.h. ### Use configuration here uncanonicalized to avoid exceeding size limits. { test -n "$verbose" && \ echo " defining" config_machfile to be "\"${machfile}\"" echo "#define" config_machfile "\"${machfile}\"" >> confdefs.h DEFS="$DEFS -Dconfig_machfile="\"${machfile}\""" SEDDEFS="${SEDDEFS}\${SEDdA}config_machfile\${SEDdB}config_machfile\${SEDdC}"\"${machfile}\""\${SEDdD} \${SEDuA}config_machfile\${SEDuB}config_machfile\${SEDuC}"\"${machfile}\""\${SEDuD} \${SEDeA}config_machfile\${SEDeB}config_machfile\${SEDeC}"\"${machfile}\""\${SEDeD} " } { test -n "$verbose" && \ echo " defining" config_opsysfile to be "\"${opsysfile}\"" echo "#define" config_opsysfile "\"${opsysfile}\"" >> confdefs.h DEFS="$DEFS -Dconfig_opsysfile="\"${opsysfile}\""" SEDDEFS="${SEDDEFS}\${SEDdA}config_opsysfile\${SEDdB}config_opsysfile\${SEDdC}"\"${opsysfile}\""\${SEDdD} \${SEDuA}config_opsysfile\${SEDuB}config_opsysfile\${SEDuC}"\"${opsysfile}\""\${SEDuD} \${SEDeA}config_opsysfile\${SEDeB}config_opsysfile\${SEDeC}"\"${opsysfile}\""\${SEDeD} " } { test -n "$verbose" && \ echo " defining" LD_SWITCH_X_SITE to be ${LD_SWITCH_X_SITE} echo "#define" LD_SWITCH_X_SITE ${LD_SWITCH_X_SITE} >> confdefs.h DEFS="$DEFS -DLD_SWITCH_X_SITE=${LD_SWITCH_X_SITE}" SEDDEFS="${SEDDEFS}\${SEDdA}LD_SWITCH_X_SITE\${SEDdB}LD_SWITCH_X_SITE\${SEDdC}${LD_SWITCH_X_SITE}\${SEDdD} \${SEDuA}LD_SWITCH_X_SITE\${SEDuB}LD_SWITCH_X_SITE\${SEDuC}${LD_SWITCH_X_SITE}\${SEDuD} \${SEDeA}LD_SWITCH_X_SITE\${SEDeB}LD_SWITCH_X_SITE\${SEDeC}${LD_SWITCH_X_SITE}\${SEDeD} " } { test -n "$verbose" && \ echo " defining" C_SWITCH_X_SITE to be ${C_SWITCH_X_SITE} echo "#define" C_SWITCH_X_SITE ${C_SWITCH_X_SITE} >> confdefs.h DEFS="$DEFS -DC_SWITCH_X_SITE=${C_SWITCH_X_SITE}" SEDDEFS="${SEDDEFS}\${SEDdA}C_SWITCH_X_SITE\${SEDdB}C_SWITCH_X_SITE\${SEDdC}${C_SWITCH_X_SITE}\${SEDdD} \${SEDuA}C_SWITCH_X_SITE\${SEDuB}C_SWITCH_X_SITE\${SEDuC}${C_SWITCH_X_SITE}\${SEDuD} \${SEDeA}C_SWITCH_X_SITE\${SEDeB}C_SWITCH_X_SITE\${SEDeC}${C_SWITCH_X_SITE}\${SEDeD} " } { test -n "$verbose" && \ echo " defining" UNEXEC_SRC to be ${UNEXEC_SRC} echo "#define" UNEXEC_SRC ${UNEXEC_SRC} >> confdefs.h DEFS="$DEFS -DUNEXEC_SRC=${UNEXEC_SRC}" SEDDEFS="${SEDDEFS}\${SEDdA}UNEXEC_SRC\${SEDdB}UNEXEC_SRC\${SEDdC}${UNEXEC_SRC}\${SEDdD} \${SEDuA}UNEXEC_SRC\${SEDuB}UNEXEC_SRC\${SEDuC}${UNEXEC_SRC}\${SEDuD} \${SEDeA}UNEXEC_SRC\${SEDeB}UNEXEC_SRC\${SEDeC}${UNEXEC_SRC}\${SEDeD} " } if [ "${HAVE_X_WINDOWS}" = "yes" ] ; then { test -n "$verbose" && \ echo " defining HAVE_X_WINDOWS" echo "#define" HAVE_X_WINDOWS 1 >> confdefs.h DEFS="$DEFS -DHAVE_X_WINDOWS=1" SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_X_WINDOWS\${SEDdB}HAVE_X_WINDOWS\${SEDdC}1\${SEDdD} \${SEDuA}HAVE_X_WINDOWS\${SEDuB}HAVE_X_WINDOWS\${SEDuC}1\${SEDuD} \${SEDeA}HAVE_X_WINDOWS\${SEDeB}HAVE_X_WINDOWS\${SEDeC}1\${SEDeD} " } fi if [ "${HAVE_X11}" = "yes" ] ; then { test -n "$verbose" && \ echo " defining HAVE_X11" echo "#define" HAVE_X11 1 >> confdefs.h DEFS="$DEFS -DHAVE_X11=1" SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_X11\${SEDdB}HAVE_X11\${SEDdC}1\${SEDdD} \${SEDuA}HAVE_X11\${SEDuB}HAVE_X11\${SEDuC}1\${SEDuD} \${SEDeA}HAVE_X11\${SEDeB}HAVE_X11\${SEDeC}1\${SEDeD} " } fi if [ "${HAVE_XFREE386}" = "yes" ] ; then { test -n "$verbose" && \ echo " defining HAVE_XFREE386" echo "#define" HAVE_XFREE386 1 >> confdefs.h DEFS="$DEFS -DHAVE_XFREE386=1" SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_XFREE386\${SEDdB}HAVE_XFREE386\${SEDdC}1\${SEDdD} \${SEDuA}HAVE_XFREE386\${SEDuB}HAVE_XFREE386\${SEDuC}1\${SEDuD} \${SEDeA}HAVE_XFREE386\${SEDeB}HAVE_XFREE386\${SEDeC}1\${SEDeD} " } fi if [ "${HAVE_X_MENU}" = "yes" ] ; then { test -n "$verbose" && \ echo " defining HAVE_X_MENU" echo "#define" HAVE_X_MENU 1 >> confdefs.h DEFS="$DEFS -DHAVE_X_MENU=1" SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_X_MENU\${SEDdB}HAVE_X_MENU\${SEDdC}1\${SEDdD} \${SEDuA}HAVE_X_MENU\${SEDuB}HAVE_X_MENU\${SEDuC}1\${SEDuD} \${SEDeA}HAVE_X_MENU\${SEDeB}HAVE_X_MENU\${SEDeC}1\${SEDeD} " } fi if [ "${GNU_MALLOC}" = "yes" ] ; then { test -n "$verbose" && \ echo " defining GNU_MALLOC" echo "#define" GNU_MALLOC 1 >> confdefs.h DEFS="$DEFS -DGNU_MALLOC=1" SEDDEFS="${SEDDEFS}\${SEDdA}GNU_MALLOC\${SEDdB}GNU_MALLOC\${SEDdC}1\${SEDdD} \${SEDuA}GNU_MALLOC\${SEDuB}GNU_MALLOC\${SEDuC}1\${SEDuD} \${SEDeA}GNU_MALLOC\${SEDeB}GNU_MALLOC\${SEDeC}1\${SEDeD} " } fi if [ "${REL_ALLOC}" = "yes" ] ; then { test -n "$verbose" && \ echo " defining REL_ALLOC" echo "#define" REL_ALLOC 1 >> confdefs.h DEFS="$DEFS -DREL_ALLOC=1" SEDDEFS="${SEDDEFS}\${SEDdA}REL_ALLOC\${SEDdB}REL_ALLOC\${SEDdC}1\${SEDdD} \${SEDuA}REL_ALLOC\${SEDuB}REL_ALLOC\${SEDuC}1\${SEDuD} \${SEDeA}REL_ALLOC\${SEDeB}REL_ALLOC\${SEDeC}1\${SEDeD} " } fi if [ "${LISP_FLOAT_TYPE}" = "yes" ] ; then { test -n "$verbose" && \ echo " defining LISP_FLOAT_TYPE" echo "#define" LISP_FLOAT_TYPE 1 >> confdefs.h DEFS="$DEFS -DLISP_FLOAT_TYPE=1" SEDDEFS="${SEDDEFS}\${SEDdA}LISP_FLOAT_TYPE\${SEDdB}LISP_FLOAT_TYPE\${SEDdC}1\${SEDdD} \${SEDuA}LISP_FLOAT_TYPE\${SEDuB}LISP_FLOAT_TYPE\${SEDuC}1\${SEDuD} \${SEDeA}LISP_FLOAT_TYPE\${SEDeB}LISP_FLOAT_TYPE\${SEDeC}1\${SEDeD} " } fi # ====================== Developer's configuration ======================= # The following assignments make sense if you're running Emacs on a single # machine, one version at a time, and you want changes to the lisp and etc # directories in the source tree to show up immediately in your working # environment. It saves a great deal of disk space by not duplicating the # lisp and etc directories. if [ "$run_in_place" = "1" ]; then lispdir='${srcdir}/lisp' locallisppath='${srcdir}/site-lisp' etcdir='${srcdir}/etc' lockdir='${srcdir}/lock' archlibdir='${srcdir}/lib-src' infodir='${srcdir}/info' elif [ "$single_tree" = "1" ]; then if [ "$exec_prefix_specified" = "" ]; then exec_prefix='${prefix}' fi if [ "$bindir_specified" = "" ]; then bindir='${exec_prefix}/bin/${configuration}' fi if [ "$datadir_specified" = "" ]; then datadir='${prefix}/common' fi if [ "$statedir_specified" = "" ]; then statedir='${prefix}/common' fi if [ "$libdir_specified" = "" ]; then libdir='${bindir}' fi if [ "$lispdir_specified" = "" ]; then lispdir='${prefix}/common/lisp' fi if [ "$locallisppath_specified" = "" ]; then locallisppath='${prefix}/common/site-lisp' fi if [ "$lockdir_specified" = "" ]; then lockdir='${prefix}/common/lock' fi if [ "$archlibdir_specified" = "" ]; then archlibdir='${libdir}/etc' fi if [ "$etcdir_specified" = "" ]; then etcdir='${prefix}/common/data' fi fi #### Report on what we decided to do. echo " Configured for \`${canonical}'. Where should the build process find the source code? ${srcdir} What operating system and machine description files should Emacs use? \`${opsysfile}' and \`${machfile}' What compiler should emacs be built with? ${CC} ${CFLAGS} Should Emacs use the GNU version of malloc? ${GNU_MALLOC}${GNU_MALLOC_reason} Should Emacs use the relocating allocator for buffers? ${REL_ALLOC} What window system should Emacs use? ${window_system}${x_includes+ Where do we find X Windows header files? }${x_includes}${x_libraries+ Where do we find X Windows libraries? }${x_libraries} " # Remove any trailing slashes in these variables. test -n "${prefix}" && prefix=`echo "${prefix}" | sed 's,\([^/]\)/*$,\1,'` test -n "${exec_prefix}" && exec_prefix=`echo "${exec_prefix}" | sed 's,\([^/]\)/*$,\1,'` # Set default prefixes. if test -n "$prefix"; then test -z "$exec_prefix" && exec_prefix='${prefix}' prsub="s%^prefix\\([ ]*\\)=\\([ ]*\\).*$%prefix\\1=\\2$prefix%" fi if test -n "$exec_prefix"; then prsub="$prsub s%^exec_prefix\\([ ]*\\)=\\([ ]*\\).*$%exec_prefix\\1=\\2$exec_prefix%" fi # Quote sed substitution magic chars in DEFS. cat >conftest.def < config.status </dev/null | sed 1q`: # # $0 $configure_args for arg do case "\$arg" in -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) echo running \${CONFIG_SHELL-/bin/sh} $0 $configure_args exec \${CONFIG_SHELL-/bin/sh} $0 $configure_args ;; *) echo "Usage: config.status --recheck" 2>&1; exit 1 ;; esac done trap 'rm -fr Makefile lib-src/Makefile oldXMenu/Makefile src/Makefile.in src/config.h conftest*; exit 1' 1 3 15 CC='$CC' LN_S='$LN_S' CPP='$CPP' INSTALL='$INSTALL' INSTALL_PROGRAM='$INSTALL_PROGRAM' INSTALL_DATA='$INSTALL_DATA' YACC='$YACC' ALLOCA='$ALLOCA' configuration='$configuration' version='$version' srcdir='$srcdir' prefix='$prefix' exec_prefix='$exec_prefix' bindir='$bindir' datadir='$datadir' statedir='$statedir' libdir='$libdir' mandir='$mandir' infodir='$infodir' lispdir='$lispdir' locallisppath='$locallisppath' lisppath='$lisppath' etcdir='$etcdir' lockdir='$lockdir' archlibdir='$archlibdir' c_switch_system='$c_switch_system' libsrc_libs='$libsrc_libs' LD_SWITCH_X_SITE='$LD_SWITCH_X_SITE' C_SWITCH_X_SITE='$C_SWITCH_X_SITE' CFLAGS='$CFLAGS' LIBS='$LIBS' prefix='$prefix' exec_prefix='$exec_prefix' prsub='$prsub' extrasub='$extrasub' EOF cat >> config.status <<\EOF top_srcdir=$srcdir CONFIG_FILES=${CONFIG_FILES-"Makefile lib-src/Makefile oldXMenu/Makefile src/Makefile.in"} for file in .. ${CONFIG_FILES}; do if test "x$file" != x..; then srcdir=$top_srcdir # Remove last slash and all that follows it. Not all systems have dirname. dir=`echo $file|sed 's%/[^/][^/]*$%%'` if test "$dir" != "$file"; then test "$top_srcdir" != . && srcdir=$top_srcdir/$dir test ! -d "$dir" && mkdir "$dir" fi echo creating "$file" rm -f "$file" comment_str="Generated automatically from `echo $file|sed 's|.*/||'`.in by configure." case "$file" in *.c | *.h | *.C | *.cc | *.m ) echo "/* $comment_str */" > "$file" ;; * ) echo "# $comment_str" > "$file" ;; esac sed -e " $prsub $extrasub s%@CC@%$CC%g s%@LN_S@%$LN_S%g s%@CPP@%$CPP%g s%@INSTALL@%$INSTALL%g s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g s%@INSTALL_DATA@%$INSTALL_DATA%g s%@YACC@%$YACC%g s%@ALLOCA@%$ALLOCA%g s%@configuration@%$configuration%g s%@version@%$version%g s%@srcdir@%$srcdir%g s%@prefix@%$prefix%g s%@exec_prefix@%$exec_prefix%g s%@bindir@%$bindir%g s%@datadir@%$datadir%g s%@statedir@%$statedir%g s%@libdir@%$libdir%g s%@mandir@%$mandir%g s%@infodir@%$infodir%g s%@lispdir@%$lispdir%g s%@locallisppath@%$locallisppath%g s%@lisppath@%$lisppath%g s%@etcdir@%$etcdir%g s%@lockdir@%$lockdir%g s%@archlibdir@%$archlibdir%g s%@c_switch_system@%$c_switch_system%g s%@libsrc_libs@%$libsrc_libs%g s%@LD_SWITCH_X_SITE@%$LD_SWITCH_X_SITE%g s%@C_SWITCH_X_SITE@%$C_SWITCH_X_SITE%g s%@CFLAGS@%$CFLAGS%g s%@LIBS@%$LIBS%g s%@DEFS@%-DHAVE_CONFIG_H%" $top_srcdir/${file}.in >> $file fi; done CONFIG_HEADERS=${CONFIG_HEADERS-"src/config.h"} for file in .. ${CONFIG_HEADERS}; do if test "x$file" != x..; then echo creating $file # These sed commands are put into SEDDEFS when defining a macro. # They are broken into pieces to make the sed script easier to manage. # They are passed to sed as "A NAME B NAME C VALUE D", where NAME # is the cpp macro being defined and VALUE is the value it is being given. # Each defining turns into a single global substitution command. # Hopefully no one uses "!" as a variable value. # Other candidates for the sed separators, like , and @, do get used. # # SEDd sets the value in "#define NAME VALUE" lines. SEDdA='s!^\([ ]*\)#\([ ]*define[ ][ ]*\)' SEDdB='\([ ][ ]*\)[^ ]*!\1#\2' SEDdC='\3' SEDdD='!g' # SEDu turns "#undef NAME" with trailing blanks into "#define NAME VALUE". SEDuA='s!^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' SEDuB='\([ ]\)!\1#\2define\3' SEDuC=' ' SEDuD='\4!g' # SEDe turns "#undef NAME" without trailing blanks into "#define NAME VALUE". SEDeA='s!^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' SEDeB='$!\1#\2define\3' SEDeC=' ' SEDeD='!g' rm -f conftest.sed EOF # Turn off quoting long enough to insert the sed commands. rm -f conftest.sh cat > conftest.sh < conftest.s1 # Like head -20. sed 1,${maxshlines}d conftest.sh > conftest.s2 # Like tail +21. # Write a limited-size here document to append to conftest.sed. echo 'cat >> conftest.sed <> config.status cat conftest.s1 >> config.status echo 'CONFEOF' >> config.status rm -f conftest.s1 conftest.sh mv conftest.s2 conftest.sh done rm -f conftest.sh # Now back to your regularly scheduled config.status. cat >> config.status <<\EOF # This sed command replaces #undef's with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it in # src/config.h. cat >> conftest.sed <<\CONFEOF s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, CONFEOF rm -f conftest.h # Break up the sed commands because old seds have small limits. maxsedlines=20 cp $top_srcdir/$file.in conftest.h1 while : do lines=`grep -c . conftest.sed` if test -z "$lines" || test "$lines" -eq 0; then break; fi rm -f conftest.s1 conftest.s2 conftest.h2 sed ${maxsedlines}q conftest.sed > conftest.s1 # Like head -20. sed 1,${maxsedlines}d conftest.sed > conftest.s2 # Like tail +21. sed -f conftest.s1 < conftest.h1 > conftest.h2 rm -f conftest.s1 conftest.h1 conftest.sed mv conftest.h2 conftest.h1 mv conftest.s2 conftest.sed done rm -f conftest.sed conftest.h echo "/* $file. Generated automatically by configure. */" > conftest.h cat conftest.h1 >> conftest.h rm -f conftest.h1 if cmp -s $file conftest.h 2>/dev/null; then # The file exists and we would not be changing it. echo "$file is unchanged" rm -f conftest.h else rm -f $file mv conftest.h $file fi fi; done exit 0 EOF chmod +x config.status ${CONFIG_SHELL-/bin/sh} config.status # Build src/Makefile from ${srcdir}/src/Makefile.in. This must be done # after src/config.h is built, since we rely on that file. Only do the # build if "config.status" is present, since it's non-presence indicates # an error occured. status=$? if [ ! -f ./config.status ]; then exit $status fi topsrcdir=${srcdir} # We discard all lines in Makefile.in that start with `# Generated' or /**/# # because some cpps get confused by them. # Really we should preserve them somehow into Makefile, # but that is beyond my level of shell programming. makefile_command='echo "creating src/Makefile"; topsrcdir='"${topsrcdir}"'; ( cd ./src; rm -f junk.c; sed -e '\''s/^# Generated.*//'\'' -e '\''s%/\*\*/#.*%%'\'' < Makefile.in > junk.c; eval `echo ${CPP} -I. -I${topsrcdir}/src ${CPPFLAGS} junk.c \>junk.cpp`; < junk.cpp '\ ' sed -e '\''s/^#.*//'\'' '\ ' -e '\''s/^[ \f\t][ \f\t]*$//'\'' '\ ' -e '\''s/^ / /'\'' '\ ' | sed -n -e '\''/^..*$/p'\'' '\ ' > Makefile.new; chmod 444 Makefile.new; mv -f Makefile.new Makefile; rm -f junk.c junk.cpp; )' eval `echo $makefile_command` # AC-OUTPUT has created `config.status' already. We need to add the above # commands to re-create `src/Makefile', and we need to insert them before # the final "exit 0" which appears at the end of `config.status'. config.new echo $makefile_command >>config.new echo exit 0 >>config.new mv -f config.new config.status chmod +x config.status # Don't let the fact that we just rewrote config.status make Makefile think # that it is now newer. We have just rewritten all of the Makefiles as well. MFS="Makefile src/Makefile src/Makefile.in lib-src/Makefile oldXMenu/Makefile" for file in $MFS; do chmod a+w $file; touch $file; chmod 444 $file done exit 0