X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/c55f453be0f383d86572a1518a241d545c7f2e2a..e16b32b04560c1456dbdfc05dc0f05907280867c:/configure1.in diff --git a/configure1.in b/configure1.in index f3bace3ed5..23cdd96214 100755 --- a/configure1.in +++ b/configure1.in @@ -36,12 +36,7 @@ dnl explaining how to rebuild it. ### Since Emacs has configuration requirements that autoconf can't ### meet, this file is an unholy marriage of custom-baked -### configuration code and autoconf macros. New versions of autoconf -### could very well break this arrangement. -### -### We omit the invocation of autoconf's initialization function, -### because it produces Bourne shell code to parse arguments, but we -### need to parse our own arguments. +### 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 @@ -76,9 +71,9 @@ 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 the X Window System. ---x-includes=DIR Search for X Window System header files in DIR. ---x-libraries=DIR Search for X Window System libraries in DIR. +--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 @@ -103,9 +98,15 @@ inst_paths='' ### Establish some default values. prefix='/usr/local' - -while [ $# != 0 ]; do - arg="$1" +exec_prefix='${prefix}' + +### 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. +index=0 +while [ $index -lt $# ]; do + index=`expr $index + 1` + arg=`eval echo '$'$index` case "${arg}" in ## Anything starting with a hyphen we assume is an option. @@ -152,7 +153,7 @@ Set it to either \`yes' or \`no'." ;; ## Has the user specified whether or not they want GCC? - "with_gcc" ) + "with_gcc" | "with_gnu_cc" ) ## Make sure the value given was either "yes" or "no". case "${val}" in y | ye | yes ) val=yes ;; @@ -172,13 +173,14 @@ Set it to either \`yes' or \`no'." ## 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 [ $# = 1 ]; then + if [ $index = $# ]; then (echo "${progname}: You must give a value for the \`--${optname}' option, as in \`--${optname}=FOO'." echo "${short_usage}") >&2 exit 1 fi - shift; val="$1" + index=`expr $index + 1` + val=`eval echo '$'$index` fi srcdir="${val}" ;; @@ -191,31 +193,31 @@ Set it to either \`yes' or \`no'." ## 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 [ $# = 1 ]; then + if [ $index = $# ]; then (echo "${progname}: You must give a value for the \`--${optname}' option, as in \`--${optname}=FOO'." echo "${short_usage}") >&2 exit 1 fi - shift; val="$1" + index=`expr $index + 1` + val=`eval echo '$'$index` fi x_includes="${val}" - C_SWITCH_X_SITE="-I${x_includes}" ;; "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 [ $# = 1 ]; then + if [ $index = $# ]; then (echo "${progname}: You must give a value for the \`--${optname}' option, as in \`--${optname}=FOO'." echo "${short_usage}") >&2 exit 1 fi - shift; val="$1" + index=`expr $index + 1` + val=`eval echo '$'$index` fi x_libraries="${val}" - LD_SWITCH_X_SITE="-L${x_libraries}" ;; ## Should this use the "development configuration"? @@ -224,25 +226,53 @@ Set it to either \`yes' or \`no'." inst_paths='#disabled# ' ;; - ## Has the user specifiec an installation prefix? + ## Has the user specified an installation prefix? "prefix" ) ## 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 [ $# = 1 ]; then + if [ $index = $# ]; then (echo "${progname}: You must give a value for the \`--${optname}' option, as in \`--${optname}=FOO'." echo "${short_usage}") >&2 exit 1 fi - shift; val="$1" + index=`expr $index + 1` + val=`eval echo '$'$index` fi prefix="${val}" ;; + ## Has the user specified an installation prefix? + "exec_prefix" ) + ## 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 [ $index = $# ]; then + (echo "${progname}: You must give a value for the \`--${optname}' option, as in + \`--${optname}=FOO'." + echo "${short_usage}") >&2 + exit 1 + fi + index=`expr $index + 1` + val=`eval echo '$'$index` + fi + exec_prefix="${val}" + ;; + + ## Verbose flag, tested by autoconf macros. + "verbose" ) + verbose=yes + ;; + ## Has the user asked for some help? "usage" | "help" ) - echo "${short_usage}" | more + if [ "x$PAGER" = x ] + then + echo "${short_usage}" | more + else + echo "${short_usage}" | $PAGER + fi exit ;; @@ -257,35 +287,45 @@ Set it to either \`yes' or \`no'." ;; esac - shift done if [ "${configuration}" = "" ]; then - (echo "${progname}: You must specify a configuration name as an argument." - echo "${short_usage}") >&2 - exit 1 + 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. "" ) - if [ -f "./src/lisp.h" -a -f "./lisp/version.el" ]; then - srcdir=`pwd` + 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=`(cd .. ; pwd)` + if [ -f "./src/lisp.h" -a -f "./lisp/version.el" ]; then + srcdir='.' else - (echo "\ + 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 + echo "${short_usage}") >&2 + exit 1 + fi fi fi ;; @@ -303,32 +343,55 @@ are." 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} ; pwd)`" = "`pwd`" ] ; then + srcdir="$PWD" + else + srcdir="`(cd ${srcdir}; pwd)`" + fi + ;; + * ) srcdir="`(cd ${srcdir}; pwd)`" ;; esac -### Make the necessary directories, if they don't exist. -if [ ! -d ./src ]; then - mkdir ./src -fi -if [ ! -d ./lib-src ]; then - mkdir ./lib-src -fi -if [ ! -d ./cpp ]; then - mkdir ./cpp -fi -if [ ! -d ./oldXMenu ]; then - mkdir ./oldXMenu -fi -if [ ! -d ./etc ]; then - mkdir ./etc +#### 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 + # We need a multi-line sed script, which cannot go in a makefile. + vpath_sed='-f vpath.sed' +else + # Do the normal substitution for VPATH. This will not crash non-GNU make. + vpath_sed=]'AC_QUOTE_SQUOTE(AC_QUOTE_SQUOTE('-e '\''s|^\(VPATH *=\).*$$|\1 ='\''"${srcdir}/${subdir}|"'))'[ fi +] AC_SUBST(vpath_sed) [ + +### 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 configuration=`${srcdir}/config.sub "${configuration}"` ; then : ; else +if canonical=`${srcdir}/config.sub "${configuration}"` ; then : ; else exit $? fi @@ -356,7 +419,7 @@ fi ### confusion between `system' and `release' levels'." machine='' opsys='' unported='false' -case "${configuration}" in +case "${canonical}" in ## Alliant machines ## Strictly speaking, we need the version of the alliant operating @@ -396,8 +459,13 @@ case "${configuration}" in machine=7300 opsys=usg5-2-2 ;; + ## Bull dpx2 + m68*-bull-sysv3* ) + machine=dpx2 opsys=usg5-3 + ;; + ## Bull sps7 - m68*-bull-sysv* ) + m68*-bull-sysv2* ) machine=sps7 opsys=usg5-2 ;; @@ -435,8 +503,13 @@ case "${configuration}" in 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 ) + mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0* | mips-dec-bsd4.2* ) machine=pmax opsys=bsd4-2 ;; mips-dec-ultrix* | mips-dec-bsd* ) @@ -450,6 +523,9 @@ case "${configuration}" in 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 ;; @@ -475,10 +551,10 @@ case "${configuration}" in ## The GEC 93 - apparently, this port isn't really finished yet. ## Gould Power Node and NP1 - pn-gould-bsd4.2 ) + pn-gould-bsd4.2* ) machine=gould opsys=bsd4-2 ;; - pn-gould-bsd4.3 ) + pn-gould-bsd4.3* ) machine=gould opsys=bsd4-3 ;; np1-gould-bsd* ) @@ -494,23 +570,42 @@ case "${configuration}" in m68*-hp-bsd* ) machine=hp9000s300 opsys=bsd4-3 ;; - ## HP/UX 8 doesn't run on these machines, so use HP/UX 7. + m68*-hp-netbsd* ) + machine=hp9000s300 opsys=netbsd + ;; + ## HP/UX 7, 8 and 9 are supported on these machines. m68*-hp-hpux* ) - machine=hp9000s300 opsys=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 - hppa1.0-hp-hpux* ) - machine=hp9000s800 opsys=hpux.h + hppa*-hp-hpux7* ) + machine=hp9000s800 opsys=hpux ;; - hppa1.1-hp-hpux* ) - machine=hp9000s800 opsys=hpux8.h + 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 -m`" in - 9000/8?? ) machine=hp9000s800 opsys=hpux.h ;; - 9000/7?? ) machine=hp9000s800 opsys=hpux8.h ;; + 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 ;; @@ -523,30 +618,48 @@ case "${configuration}" in ;; ## IBM machines - i386-ibm-aix1.1 ) + i386-ibm-aix1.1* ) machine=ibmps2-aix opsys=usg5-2-2 ;; - i386-ibm-aix1.2 ) + i386-ibm-aix1.[23]* | i386-ibm-aix* ) machine=ibmps2-aix opsys=usg5-3 ;; - rs6000-ibm-aix3.1 ) + i370-ibm-aix*) + machine=ibm370aix opsys=usg5-3 + ;; + rs6000-ibm-aix3.1* ) machine=ibmrs6000 opsys=aix3-1 ;; - rs6000-ibm-aix3.2 | rs6000-ibm-aix* ) + rs6000-ibm-aix3.2* | rs6000-ibm-aix* ) machine=ibmrs6000 opsys=aix3-2 ;; - romp-ibm-bsd* ) + 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 ) + m68*-isi-bsd4.2* ) machine=isi-ov opsys=bsd4-2 ;; - m68*-isi-bsd4.3 ) + m68*-isi-bsd4.3* ) machine=isi-ov opsys=bsd4-3 ;; @@ -554,40 +667,43 @@ case "${configuration}" in i[34]86-intsys-sysv* ) machine=is386 opsys=usg5-2-2 ;; - ## Intel 386 machines where we don't care about the manufacturer - i[34]86-* ) - machine=intel386 - case "${configuration}" 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 ;; - ## Otherwise, we'll fall through to the generic opsys code at the bottom. - esac + + ## Prime EXL + i386-prime-sysv* ) + machine=i386 opsys=usg5-3 + ;; + + ## Sequent Symmetry + i386-sequent-bsd* ) + machine=symmetry opsys=bsd4-3 + ;; + + ## 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 ) + m68*-sgi-iris3.5* ) machine=irist opsys=iris3-5 ;; - m68*-sgi-iris3.6 | m68*-sgi-iris*) + 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 ) + m68*-masscomp-rtu* ) machine=masscomp opsys=rtu ;; @@ -607,8 +723,12 @@ case "${configuration}" in ## 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=usg5-2-2 + machine=mips4 opsys=bsd4-3 ;; mips-mips-bsd* ) machine=mips opsys=bsd4-3 @@ -650,11 +770,6 @@ case "${configuration}" in machine=plexus opsys=usg5-2 ;; - ## Prime EXL - i386-prime-sysv* ) - machine=i386 opsys=usg5-3 - ;; - ## 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. @@ -663,22 +778,21 @@ case "${configuration}" in ;; ## Sequent Balance - ns32k-sequent-bsd4.2 ) + ns32k-sequent-bsd4.2* ) machine=sequent opsys=bsd4-2 ;; - ns32k-sequent-bsd4.3 ) + ns32k-sequent-bsd4.3* ) machine=sequent opsys=bsd4-3 ;; - ## Sequent Symmetry - i386-sequent-bsd* ) - machine=symmetry opsys=bsd4-3 - ;; ## SONY machines - m68*-sony-bsd4.2 ) + m68*-sony-bsd4.2* ) machine=news opsys=bsd4-2 ;; - m68*-sony-bsd4.3 ) + m68*-sony-bsd4.3* ) + machine=news opsys=bsd4-3 + ;; + m68*-sony-newsos3*) machine=news opsys=bsd4-3 ;; mips-sony-bsd* ) @@ -692,7 +806,7 @@ case "${configuration}" in ## Suns *-sun-sunos* | *-sun-bsd* | *-sun-solaris* ) - case "${configuration}" in + case "${canonical}" in m68*-sunos1* ) machine=sun1 ;; m68*-sunos2* ) machine=sun2 ;; m68* ) machine=sun3 ;; @@ -700,8 +814,11 @@ case "${configuration}" in sparc* ) machine=sparc ;; * ) unported=true ;; esac - case "${configuration}" in + 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 ;; @@ -714,10 +831,10 @@ case "${configuration}" in ;; ## Tahoe machines - tahoe-tahoe-bsd4.2 ) + tahoe-tahoe-bsd4.2* ) machine=tahoe opsys=bsd4-2 ;; - tahoe-tahoe-bsd4.3 ) + tahoe-tahoe-bsd4.3* ) machine=tahoe opsys=bsd4-3 ;; @@ -726,6 +843,11 @@ case "${configuration}" in 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 @@ -733,7 +855,7 @@ case "${configuration}" in ## Tektronix 4300 ## src/m/tek4300.h hints that this is a m68k machine. m68*-tektronix-bsd* ) - machine=tex4300 opsys=bsd4-3 + machine=tek4300 opsys=bsd4-3 ;; ## Titan P2 or P3 @@ -750,10 +872,11 @@ case "${configuration}" in ## Vaxen. vax-dec-* ) machine=vax - case "${configuration}" in - *-bsd4.1 ) opsys=bsd4-1 ;; - *-bsd4.2 | *-ultrix[0-3].* | *-ultrix4.0 ) opsys=bsd4-2 ;; - *-bsd4.3 | *-ultrix* ) opsys=bsd4-3 ;; + 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 ;; @@ -773,6 +896,25 @@ case "${configuration}" in 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 ;; @@ -784,8 +926,8 @@ esac ### 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 [ ! "${opsys}" ]; then - case "${configuration}" in +if [ x"${opsys}" = x ]; then + case "${canonical}" in *-bsd4.[01] ) opsys=bsd4-1 ;; *-bsd4.2 ) opsys=bsd4-2 ;; *-bsd4.3 ) opsys=bsd4-3 ;; @@ -794,6 +936,7 @@ if [ ! "${opsys}" ]; then *-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 ;; @@ -801,7 +944,7 @@ if [ ! "${opsys}" ]; then fi if $unported ; then - (echo "${progname}: Emacs hasn't been ported to \`${configuration}' systems." + (echo "${progname}: Emacs hasn't been ported to \`${canonical}' systems." echo "${progname}: Check \`etc/MACHINES' for recognized configuration names." ) >&2 exit 1 @@ -823,11 +966,6 @@ case ${with_gcc} in ] AC_PROG_CC [ esac -CFLAGS='-g' -if test -n "${GCC}"; then - CFLAGS='-g -O' -fi - #### 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. @@ -835,6 +973,8 @@ fi dnl checks for programs AC_LN_S AC_PROG_CPP +AC_PROG_INSTALL +AC_PROG_YACC dnl checks for UNIX variants that set `DEFS' @@ -846,10 +986,6 @@ AC_TIME_WITH_SYS_TIME dnl checks for typedefs AC_RETSIGTYPE -dnl checks for functions -AC_ALLOCA -AC_HAVE_FUNCS(gettimeofday gethostname dup2 rename) - dnl checks for structure members AC_STRUCT_TM AC_TIMEZONE @@ -858,6 +994,7 @@ dnl checks for compiler characteristics AC_CONST dnl checks for operating system services +AC_LONG_FILE_NAMES dnl other checks for UNIX variants [ @@ -888,21 +1025,46 @@ esac case "${window_system}" in "none" | "x11" | "x10" ) ;; "" ) - echo " No window system specifed. Looking for X Windows." - window_system=none - if [ -r /usr/lib/libX11.a \ + # --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 + window_system=x11 + fi fi ;; * ) - echo "Don\'t specify the window system more than once." >&2 + 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 + ] + AC_FIND_X + [ + fi + if [ -n "${x_includes}" ] || [ -n "${x_libraries}" ]; then + window_system=x11 + fi + ;; +esac + +[ -z "${window_system}" ] && window_system=none + +[ -n "${x_libraries}" ] && LD_SWITCH_X_SITE="-L${x_libraries}" +[ -n "${x_includes}" ] && C_SWITCH_X_SITE="-I${x_includes}" + case "${window_system}" in x11 ) HAVE_X_WINDOWS=yes @@ -929,26 +1091,6 @@ case ${HAVE_X11} in ;; esac -### Check for XFree386. It needs special hacks. -lib_havexbsd=no -] -AC_HAVE_LIBRARY( Xbsd , have_libxbsd=yes , have_libxbsd=no ) -[ -if [ -n "${x_libraries}" ] && [ -f ${x_libraries}/libXbsd.a ]; then - have_libxbsd=yes -fi - -case ${window_system} in - x11 ) - if [ -d /usr/X386/include ] && [ "${have_libxbsd}" = "yes" ]; then - HAVE_XFREE386=yes - if [ "${C_SWITCH_X_SITE}" = "" ]; then - C_SWITCH_X_SITE="-I/usr/X386/include" - fi - fi - ;; -esac - #### Extract some information from the operating system and machine files. echo "Examining the machine- and system-dependent files to find out" @@ -972,22 +1114,58 @@ echo ' #ifndef C_SWITCH_SYSTEM #define C_SWITCH_SYSTEM #endif -@configure@ libsrc_libs=LIBS_MACHINE LIBS_SYSTEM -@configure@ c_switch_system=C_SWITCH_SYSTEM +configure___ libsrc_libs=LIBS_MACHINE LIBS_SYSTEM +configure___ c_switch_system=C_SWITCH_SYSTEM + +#ifndef LIB_X11_LIB +#define LIB_X11_LIB -lX11 +#endif + +#ifndef LIBX11_MACHINE +#define LIBX11_MACHINE +#endif + +#ifndef LIBX11_SYSTEM +#define LIBX11_SYSTEM +#endif +configure___ LIBX=LIB_X11_LIB LIBX11_MACHINE LIBX11_SYSTEM + +#ifdef UNEXEC +configure___ unexec=UNEXEC +#else +configure___ unexec=unexec.o +#endif + #ifdef SYSTEM_MALLOC -@configure@ system_malloc=yes +configure___ system_malloc=yes +#else +configure___ system_malloc=no +#endif + +#ifndef C_DEBUG_SWITCH +#define C_DEBUG_SWITCH -g +#endif + +#ifndef C_OPTIMIZE_SWITCH +#define C_OPTIMIZE_SWITCH -O +#endif + +#ifdef __GNUC__ +configure___ CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH #else -@configure@ system_malloc=no +configure___ CFLAGS=C_DEBUG_SWITCH #endif ' > ${tempcname} # The value of CPP is a quoted variable reference, so we need to do this # to get its actual value... -foo=`eval "echo $CPP"` -eval `${foo} ${tempcname} \ - | grep '@configure@' \ - | sed -e 's/^@configure@ \([^=]*=\)\(.*\)$/\1"\2"/'` +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. @@ -998,24 +1176,73 @@ if [ "${system_malloc}" = "yes" ]; then (The GNU allocators don't work with this system configuration.)" fi -if [ ! "${REL_ALLOC}" ]; then +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" + +dnl If found, this defines HAVE_LIBDNET, which m/pmax.h checks, +dnl and also adds -ldnet to LIBS, which Autoconf uses for checks. +AC_HAVE_LIBRARY(-ldnet) + +AC_HAVE_LIBRARY(-lXbsd, LD_SWITCH_X_SITE="$LD_SWITCH_X_SITE -lXbsd") + +echo checking for XFree86 +if test -d /usr/X386/include; then + HAVE_XFREE386=yes + test -z "${C_SWITCH_X_SITE}" && C_SWITCH_X_SITE="-I/usr/X386/include" +fi + +if test "${HAVE_X11}" = "yes"; then + DEFS="$C_SWITCH_X_SITE $DEFS" + LIBS="$LD_SWITCH_X_SITE $LIBX $LIBS" + AC_HAVE_FUNCS(XrmSetDatabase XScreenResourceString XScreenNumberOfScreen) +fi + +AC_ALLOCA + +# logb and frexp are found in -lm on most systems. +AC_HAVE_LIBRARY(-lm) +AC_HAVE_FUNCS(gettimeofday gethostname dup2 rename closedir mkdir rmdir random bcopy logb frexp ftime res_init) + +ok_so_far=true +AC_FUNC_CHECK(socket, , ok_so_far=) +if test -n "$ok_so_far"; then + AC_HEADER_CHECK(netinet/in.h, , ok_so_far=) +fi +if test -n "$ok_so_far"; then + AC_HEADER_CHECK(arpa/inet.h, , ok_so_far=) +fi +if test -n "$ok_so_far"; then + AC_DEFINE(HAVE_INET_SOCKETS) +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 [ ! "${version}" ]; then +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 + ] + AC_DEFINE(HAVE_AIX_SMT_EXP) + [ +fi + #### Specify what sort of things we'll be editing into Makefile and config.h. +### Use configuration here uncanonicalized to avoid exceeding size limits. ] AC_SUBST(configuration) AC_SUBST(version) @@ -1028,11 +1255,13 @@ AC_SUBST(LD_SWITCH_X_SITE) AC_SUBST(C_SWITCH_X_SITE) AC_SUBST(CFLAGS) AC_SUBST(prefix) +AC_SUBST(exec_prefix) AC_DEFINE_UNQUOTED(config_machfile, "\"${machfile}\"") AC_DEFINE_UNQUOTED(config_opsysfile, "\"${opsysfile}\"") AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE, ${LD_SWITCH_X_SITE}) AC_DEFINE_UNQUOTED(C_SWITCH_X_SITE, ${C_SWITCH_X_SITE}) +AC_DEFINE_UNQUOTED(UNEXEC_SRC, ${UNEXEC_SRC}) [ if [ "${HAVE_X_WINDOWS}" = "yes" ] ; then @@ -1061,8 +1290,9 @@ fi #### Report on what we decided to do. echo " -Configured for \`${configuration}'. +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} @@ -1074,8 +1304,10 @@ Configured for \`${configuration}'. " -### Restore the arguments to this script, so autoconf can record them -### in the config.status file. -set - ${arguments} +# 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,'` ] AC_OUTPUT(Makefile)