Commit 9ec10b2f authored by David J. MacKenzie's avatar David J. MacKenzie
Browse files

Initial revision

parent dca46072
dnl This is an autoconf script.
dnl To rebuild the `configure' script from this, execute the command
dnl autoconf
dnl in the directory containing this script.
AC_PREREQ(1.106)dnl
AC_INIT(src/lisp.h)
AC_CONFIG_HEADER(src/config.h)
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}'
docdir='${datadir}/emacs/${version}/etc'
AC_ARG_WITH(x10,
[ --with-x10 Support the X Window System version 10])
AC_ARG_WITH(x,
[ --with-x Support the X Window System version 11])
AC_ARG_WITH(x11,
[ --with-x11 Support the X Window System version 11])
AC_ARG_WITH(x-toolkit,
[ --with-x-toolkit=KIT Use an X toolkit (KIT = lucid or athena)],
[ case "${withval}" in
y | ye | yes ) val=athena ;;
n | no ) val=no ;;
l | lu | luc | luci | lucid ) val=lucid ;;
a | at | ath | athe | athena ) val=athena ;;
# These don't currently work.
# m | mo | mot | moti | motif ) val=motif ;;
# o | op | ope | open | open- | open-l | open-lo \
# | open-loo | open-look ) val=open-look ;;
* )
[#] AC_MSG_ERROR([the \`--with-x-toolkit' option is supposed to have a value
[#]which is \`yes', \`no', \`lucid', \`athena', \`motif' or \`open-look'.])
AC_MSG_ERROR([the \`--with-x-toolkit' option is supposed to have a value
which is \`yes', \`no', \`lucid', or \`athena'.
Currently, \`yes', \`athena' and \`lucid' are synonyms.])
;;
esac
with_x_toolkit=$val
])
AC_ARG_WITH(gcc,
[ --with-gcc Use GCC to compile Emacs])
AC_ARG_ENABLE(in-place,
[ --enable-in-place Use libraries and data files directly out of the
source tree])
AC_ARG_ENABLE(single-tree,
[ --enable-single-tree Create 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)])
#### 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 test "${PWD}" != "" && test "`(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 test `pwd` != `(cd ${srcdir} && pwd)` \
&& test -f "${srcdir}/src/config.h" ; then
AC_MSG_WARN([The directory tree \`${srcdir}' is being used
as a build directory right now; it has been configured in its own
right. To configure in another directory as well, you MUST
use GNU make. If you do not have GNU make, then you must
now do \`make distclean' in ${srcdir},
and then run $0 again.])
extrasub='/^VPATH[ ]*=/c\
vpath %.c $(srcdir)\
vpath %.h $(srcdir)\
vpath %.y $(srcdir)\
vpath %.l $(srcdir)\
vpath %.s $(srcdir)\
vpath %.in $(srcdir)'
fi
#### 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.
AC_CANONICAL_HOST
canonical=$host
changequote(, )dnl
### 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=no
case "${canonical}" in
## NetBSD ports
*-*-netbsd* )
opsys=netbsd
case "${canonical}" in
i[345]86-*-netbsd*) machine=intel386 ;;
m68k-*-netbsd*)
# This is somewhat bogus.
machine=hp9000s300 ;;
mips-*-netbsd*) machine=pmax ;;
ns32k-*-netbsd*) machine=ns32000 ;;
sparc-*-netbsd*) machine=sparc ;;
esac
;;
## 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 dpx20
rs6000-bull-bosx* )
machine=ibmrs6000 opsys=aix3-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* | *-convex-convexos* )
machine=convex opsys=bsd4-3
## Prevents suprious white space in makefiles - d.m.cooke@larc.nasa.gov
NON_GNU_CPP="cc -E -P"
;;
## Cubix QBx/386
i[345]86-cubix-sysv* )
machine=intel386 opsys=usg5-3
;;
## Cydra 5
cydra*-cydrome-sysv* )
machine=cydra5 opsys=usg5-3
;;
## Data General AViiON Machines
m88k-dg-dgux5.4R3* | m88k-dg-dgux5.4.3* )
machine=aviion opsys=dgux5-4r3
;;
m88k-dg-dgux5.4R2* | m88k-dg-dgux5.4.2* )
machine=aviion opsys=dgux5-4r2
;;
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
m68k-motorola-sysv* | m68000-motorola-sysv* )
machine=delta opsys=usg5-3
if test -z "`type gnucc | grep 'not found'`"
then CC=gnucc
else
if test -z "`type gcc | grep 'not found'`"
then CC=gcc
else CC=cc
fi
fi
;;
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
;;
## Harris Night Hawk machines running CX/UX (a 5000 looks just like a 4000
## as far as Emacs is concerned).
m88k-harris-cxux* )
# Build needs to be different on 7.0 and later releases
case "`uname -r`" in
[56].[0-9] ) machine=nh4000 opsys=cxux ;;
[7].[0-9] ) machine=nh4000 opsys=cxux7 ;;
esac
;;
## Harris ecx or gcx running CX/UX (Series 1200, Series 3000)
m68k-harris-cxux* )
machine=nh3000 opsys=cxux
;;
## Honeywell XPS100
xps*-honeywell-sysv* )
machine=xps100 opsys=usg5-2
;;
## HP 9000 series 200 or 300
m68*-hp-bsd* )
machine=hp9000s300 opsys=bsd4-3
;;
## 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=hp800 opsys=hpux
;;
hppa*-hp-hpux8* )
machine=hp800 opsys=hpux8
;;
hppa*-hp-hpux9shr* )
machine=hp800 opsys=hpux9shr
;;
hppa*-hp-hpux9* )
machine=hp800 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=hp800 opsys=hpux8 ;;
*.08.* ) machine=hp800 opsys=hpux8 ;;
*.09.* ) machine=hp800 opsys=hpux9 ;;
*) machine=hp800 opsys=hpux ;;
esac
;;
## Orion machines
orion-orion-bsd* )
machine=orion opsys=bsd4-2
;;
clipper-orion-bsd* )
machine=orion105 opsys=bsd4-2
;;
## IBM machines
i[345]86-ibm-aix1.1* )
machine=ibmps2-aix opsys=usg5-2-2
;;
i[345]86-ibm-aix1.[23]* | i[345]86-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.5)
machine=ibmrs6000 opsys=aix3-2-5
;;
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[345]86-intsys-sysv* )
machine=is386 opsys=usg5-2-2
;;
## Prime EXL
i[345]86-prime-sysv* )
machine=i386 opsys=usg5-3
;;
## Sequent Symmetry
i[345]86-sequent-bsd* )
machine=symmetry opsys=bsd4-3
;;
## Unspecified sysv on an ncr machine defaults to svr4.2.
## (Plain usg5-4 doesn't turn on POSIX signals, which we need.)
i[345]86-ncr-sysv* )
machine=intel386 opsys=usg5-4-2
;;
## Intel 860
i860-*-sysv4* )
machine=i860 opsys=usg5-4
NON_GNU_CC="/bin/cc" # Ie, not the one in /usr/ucb/cc.
NON_GNU_CPP="/usr/ccs/lib/cpp" # cc -E tokenizes macro expansion.
;;
## 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
NON_GNU_CC="cc -systype bsd43"
NON_GNU_CPP="cc -systype bsd43 -E"
;;
mips-mips-bsd* )
machine=mips opsys=bsd4-3
;;
mips-mips-* )
machine=mips opsys=usg5-2-2
;;
## NeXT
m68*-next-* | i[345]86-next-* )
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
;;
## Siemens Nixdorf
mips-siemens-sysv* )
machine=mips-siemens opsys=usg5-4
NON_GNU_CC=/usr/ccs/bin/cc
NON_GNU_CPP=/usr/ccs/lib/cpp
;;
## 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
;;
## 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* | mips-sony-newsos4* )
machine=news-risc opsys=bsd4-3
;;
mips-sony-newsos* )
machine=news-risc opsys=newsos5
;;
## Stride
m68*-stride-sysv* )
machine=stride opsys=usg5-2
;;
## Suns
*-sun-sunos* | *-sun-bsd* | *-sun-solaris* | i[345]86-*-solaris2* | i[345]86-*-sunos5* )
case "${canonical}" in
m68*-sunos1* ) machine=sun1 ;;
m68*-sunos2* ) machine=sun2 ;;
m68* ) machine=sun3 ;;
i[345]86-sun-sunos[34]* ) machine=sun386 ;;
i[345]86-*-* ) machine=intel386 ;;
sparc* ) machine=sparc ;;
* ) unported=yes ;;
esac
case "${canonical}" in
## The Sun386 didn't get past 4.0.
i[345]86-*-sunos4 ) opsys=sunos4-0 ;;
*-sunos4.0* ) opsys=sunos4-0 ;;
*-sunos4.1.3* ) opsys=sunos4-1-3
NON_GCC_TEST_OPTIONS=-Bstatic
GCC_TEST_OPTIONS=-static
;;
*-sunos4shr* ) opsys=sunos4shr ;;
*-sunos4* | *-sunos ) opsys=sunos4-1
NON_GCC_TEST_OPTIONS=-Bstatic
GCC_TEST_OPTIONS=-static
;;
*-sunos5.3* | *-solaris2.3* )
opsys=sol2-3
NON_GNU_CPP=/usr/ccs/lib/cpp
;;
*-sunos5.4* | *-solaris2.4* )
opsys=sol2-4
NON_GNU_CPP=/usr/ccs/lib/cpp
;;
*-sunos5* | *-solaris* )
opsys=sol2
NON_GNU_CPP=/usr/ccs/lib/cpp
;;
* ) 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