configure1.in 47.4 KB
Newer Older
1
dnl This is an autoconf script.
2 3
dnl To rebuild the `configure' script from this, execute the command
dnl 	autoconf
4
dnl in the directory containing this script.
5
[#!/bin/sh
6
#### Configuration script for GNU Emacs
Roland McGrath's avatar
Roland McGrath committed
7
#### Copyright (C) 1992, 1994 Free Software Foundation, Inc.
8
#### This script requires autoconf version 1.9 or later.
9

10 11 12 13 14
### 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
15
### in the this directory.
16

17 18 19 20
### 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
Roland McGrath's avatar
Roland McGrath committed
21
### the Free Software Foundation; either version 2, or (at your option)
22 23 24 25 26 27 28 29 30 31 32
### 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.

33 34
### Since Emacs has configuration requirements that autoconf can't
### meet, this file is an unholy marriage of custom-baked
Jim Blandy's avatar
Jim Blandy committed
35
### configuration code and autoconf macros.
36 37 38 39
###
### 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.
40 41 42 43 44 45 46
###
### 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.

47 48 49 50 51 52 53
### 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.
54 55 56 57 58
###
### 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.
59
progname="`echo $0 | sed 's:^\./\./:\./:'`"
Jim Blandy's avatar
Jim Blandy committed
60 61


62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
### 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}'
Karl Heuer's avatar
Karl Heuer committed
79
docdir='${datadir}/emacs/${version}/etc'
80

81 82 83 84 85 86 87 88
# On Sun systems, people sometimes set up the variable CPP
# with a value that is a directory, not an executable at all.
# Detect that case, and ignore that value.
if [ "x$CPP" != x ] && [ -d "$CPP" ];
then
  CPP=
fi

89 90 91 92 93 94 95
# 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"

96 97
#### Usage messages.

98
short_usage="Usage: ${progname} CONFIGURATION [-OPTION[=VALUE] ...]
99

Jim Blandy's avatar
Jim Blandy committed
100
Set compilation and installation parameters for GNU Emacs, and report.
101
CONFIGURATION specifies the machine and operating system to build for.
102
--with-x		Support the X Window System.
103
--with-x=no		Don't support X.
104 105
--with-x-toolkit	Use an X toolkit.
--with-x-toolkit=no	Don't use an X toolkit.
106 107
--with-gcc		Use GCC to compile Emacs.
--with-gcc=no		Don't use GCC to compile Emacs.
108 109
--x-includes=DIR 	Search for X header files in DIR.
--x-libraries=DIR	Search for X libraries in DIR.
110 111
--run-in-place		Use libraries and data files directly out of the 
			source tree.
112 113 114 115 116 117 118 119 120 121 122 123 124 125
--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.
126

Jim Blandy's avatar
Jim Blandy committed
127
If successful, ${progname} leaves its status in config.status.  If
128 129 130 131
unsuccessful after disturbing the status quo, it removes config.status."


#### Option processing.
Jim Blandy's avatar
Jim Blandy committed
132

133
### Record all the arguments, so we can save them in config.status.
134
arguments="$@"
Jim Blandy's avatar
Jim Blandy committed
135

136 137 138 139 140 141 142 143
### 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

144 145 146
### 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.
147 148 149 150 151
### 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
Jim Blandy's avatar
Jim Blandy committed
152
  case "${arg}" in
153 154 155 156

    ## Anything starting with a hyphen we assume is an option.
    -* )
      ## Separate the switch name from the value it's being given.
Jim Blandy's avatar
Jim Blandy committed
157
      case "${arg}" in
Richard M. Stallman's avatar
Richard M. Stallman committed
158
        -*=*)
159
	  opt=`echo ${arg} | sed 's:^-*\([^=]*\)=.*$:\1:'`
Richard M. Stallman's avatar
Richard M. Stallman committed
160
	  val=`echo ${arg} | sed 's:^-*[^=]*=\(.*\)$:\1:'`
Jim Blandy's avatar
Jim Blandy committed
161 162
	  valomitted=no
	;;
Richard M. Stallman's avatar
Richard M. Stallman committed
163
        -*)
164 165 166
          ## If FOO is a boolean argument, --FOO is equivalent to
          ## --FOO=yes.  Otherwise, the value comes from the next
          ## argument - see below.
167
	  opt=`echo ${arg} | sed 's:^-*\(.*\)$:\1:'`
Jim Blandy's avatar
Jim Blandy committed
168 169 170 171 172
          val="yes"
          valomitted=yes
        ;;
      esac

173
      ## Change `-' in the option name to `_'.
Jim Blandy's avatar
Jim Blandy committed
174
      optname="${opt}"
175 176
      opt="`echo ${opt} | tr - _`"

177 178
      ## Process the option.
      case "${opt}" in
Jim Blandy's avatar
Jim Blandy committed
179

180 181 182
        ## 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".
Jim Blandy's avatar
Jim Blandy committed
183 184 185 186
	  case "${val}" in
	    y | ye | yes )	val=yes ;;
	    n | no )		val=no  ;;
	    * )
Jim Blandy's avatar
Jim Blandy committed
187
	      (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value.
188 189
Set it to either \`yes' or \`no'."
	       echo "${short_usage}") >&2
Jim Blandy's avatar
Jim Blandy committed
190 191 192
	      exit 1
	    ;;
	  esac
193
          eval "${opt}=\"${val}\""
Jim Blandy's avatar
Jim Blandy committed
194
        ;;
195

196 197 198 199 200 201 202
        ## Has the user specified which toolkit they want to support?
        "with_x_toolkit" )
	  case "${val}" in
	    y | ye | yes )	val=athena ;;
	    n | no )		val=no  ;;
	    l | lu | luc | luci | lucid )	val=lucid ;;
	    a | at | ath | athe | athena )	val=athena ;;
203 204 205 206
# 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 ;;
207
	    * )
208 209 210 211
	      (
#echo "${progname}: the \`--${optname}' option is supposed to have a value
#which is \`yes', \`no', \`lucid', \`athena', \`motif' or \`open-look'."
echo "${progname}: the \`--${optname}' option is supposed to have a value
212 213
which is \`yes', \`no', \`lucid', or \`athena'.
Currently, \`yes', \`athena' and \`lucid' are synonyms."
214 215 216 217 218 219 220
	       echo "${short_usage}") >&2
	      exit 1
	    ;;
	  esac
          eval "${opt}=\"${val}\""
        ;;

221
	## Has the user specified whether or not they want GCC?
222
	"with_gcc" | "with_gnu_cc" )
223 224 225 226 227
	  ## Make sure the value given was either "yes" or "no".
	  case "${val}" in
	    y | ye | yes )	val=yes ;;
	    n | no )		val=no  ;;
	    * )
Jim Blandy's avatar
Jim Blandy committed
228
	      (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value.
229 230 231 232 233 234 235 236
Set it to either \`yes' or \`no'."
	       echo "${short_usage}") >&2
	      exit 1
	    ;;
	  esac
          eval "${opt}=\"${val}\""
        ;;

237 238 239
        ## Has the user specified a source directory?
	"srcdir" )
	  ## If the value was omitted, get it from the next argument.
Jim Blandy's avatar
Jim Blandy committed
240
	  if [ "${valomitted}" = "yes" ]; then
241
	    ## Get the next argument from the argument list, if there is one.
242
            if [ $# = 0 ]; then
Jim Blandy's avatar
Jim Blandy committed
243 244
	      (echo "${progname}: You must give a value for the \`--${optname}' option, as in
    \`--${optname}=FOO'."
245
	       echo "${short_usage}") >&2
Jim Blandy's avatar
Jim Blandy committed
246 247
	      exit 1
	    fi
248
	    val="$1"; shift
Jim Blandy's avatar
Jim Blandy committed
249
	  fi
250 251 252
          srcdir="${val}"
	;;

253 254 255 256
	## 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.
Jim Blandy's avatar
Jim Blandy committed
257
	"x_includes" )
258 259 260
	  ## 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.
261
            if [ $# = 0 ]; then
Jim Blandy's avatar
Jim Blandy committed
262
	      (echo "${progname}: You must give a value for the \`--${optname}' option, as in
263
    \`--${optname}=/usr/local/X11/include'."
264 265 266
	       echo "${short_usage}") >&2
	      exit 1
	    fi
267
            val="$1"; shift
268 269 270
	  fi
	  x_includes="${val}"
        ;;
Jim Blandy's avatar
Jim Blandy committed
271
	"x_libraries" )
272 273 274
	  ## 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.
275
            if [ $# = 0 ]; then
Jim Blandy's avatar
Jim Blandy committed
276
	      (echo "${progname}: You must give a value for the \`--${optname}' option, as in
277
    \`--${optname}=/usr/local/X11/lib'."
278 279 280
	       echo "${short_usage}") >&2
	      exit 1
	    fi
281
            val="$1"; shift
282 283 284 285
	  fi
	  x_libraries="${val}"
        ;;

286
	## Should this use the "development" file organization?
287
	"run_in_place" )
288 289
	  single_tree=
	  run_in_place=1
290 291
	;;

292
        ## Should this use the "single tree" file organization?
293 294 295 296 297
	"single_tree" )
	   run_in_place=
	   single_tree=1
	;;

298 299 300
	## Has the user specified one of the path options?
	prefix | exec_prefix | bindir | libdir | etcdir | datadir | \
	archlibdir | statedir | mandir | infodir | lispdir | lockdir | \
301
	lisppath | locallisppath | docdir )
302 303
	   ## If the value was omitted, get it from the next argument.
	   if [ "${valomitted}" = "yes" ]; then
304
	      if [ $# = 0 ]; then
305 306 307 308 309 310 311
		 (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
312
	      val="$1"; shift
313
	   fi
314 315
	   eval "${opt}=\"${val}\""
	   eval "${opt}_specified=1"
316
	;;
317

318 319 320 321 322
	## Verbose flag, tested by autoconf macros.
	"verbose" )
	  verbose=yes
	;;

323 324
	## Has the user asked for some help?
	"usage" | "help" )
325 326 327 328 329 330
	  if [ "x$PAGER" = x ]
	  then
	    echo "${short_usage}" | more
	  else
	    echo "${short_usage}" | $PAGER
	  fi
331 332
	  exit
	;;
Jim Blandy's avatar
Jim Blandy committed
333

334 335
        ## We ignore all other options silently.
      esac
Jim Blandy's avatar
Jim Blandy committed
336
    ;;
337 338 339

    ## Anything not starting with a hyphen we assume is a
    ## configuration name.
Jim Blandy's avatar
Jim Blandy committed
340
    *)
341
      configuration=${arg}
Jim Blandy's avatar
Jim Blandy committed
342
    ;;
343

Jim Blandy's avatar
Jim Blandy committed
344 345 346
  esac
done

347 348 349
### Get the arguments back.  See the diatribe on Shell Magic above.
eval set x "$quoted_arguments"; shift

350
if [ "${configuration}" = "" ]; then
Jim Blandy's avatar
Jim Blandy committed
351 352 353 354 355 356 357
  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
358
    echo "${short_usage}" >&2
Jim Blandy's avatar
Jim Blandy committed
359 360
    exit 1
  fi
361 362 363 364 365
fi

#### Decide where the source is.
case "${srcdir}" in

366
  ## If it's not specified, see if  `.' or `..' might work.
367
  "" )
368 369
    confdir=`echo $0 | sed 's|//|/|' | sed 's|/[^/]*$||'`
    if [ -f $confdir/src/lisp.h -a -f $confdir/lisp/version.el ]; then
370
      srcdir="${confdir}"
371
    else
372
      if [ -f "./src/lisp.h" -a -f "./lisp/version.el" ]; then
373
        srcdir='.'
374
      else
375
        if [ -f "../src/lisp.h" -a -f "../lisp/version.el" ]; then
376
	  srcdir='..'
377 378
        else
	  (echo "\
379 380 381 382 383
${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."
384 385 386
	    echo "${short_usage}") >&2
	  exit 1
        fi
387 388
      fi
    fi
389 390
  ;;

391
  ## Otherwise, check if the directory they specified is okay.
392
  * )
393 394 395 396 397 398 399
    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."
400 401 402 403
       echo "${short_usage}") >&2
      exit 1
    fi
  ;;
404
esac
405

406 407 408 409 410
#### 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
  /* ) ;;
411 412 413
  . )
    ## We may be able to use the $PWD environment variable to make this
    ## absolute.  But sometimes PWD is inaccurate.
414
    if [ "${PWD}" != "" ] && [ "`(cd ${PWD} ; sh -c pwd)`" = "`pwd`" ] ; then
415 416 417
      srcdir="$PWD"
    else
      srcdir="`(cd ${srcdir}; pwd)`"
Jim Blandy's avatar
Jim Blandy committed
418
    fi
419
  ;;
420
  *  ) srcdir="`(cd ${srcdir}; pwd)`" ;;
421 422
esac

423 424 425 426 427 428 429 430 431
#### 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
432 433 434
  extrasub='/^VPATH[	 ]*=/c\
vpath %.c $(srcdir)\
vpath %.h $(srcdir)\
435 436 437
vpath %.y $(srcdir)\
vpath %.l $(srcdir)\
vpath %.s $(srcdir)\
438
vpath %.in $(srcdir)'
439 440
fi

441
### Make the necessary directories, if they don't exist.
442
for dir in ./src ./lib-src ./cpp ./oldXMenu ./lwlib ./etc ; do
443 444 445 446
  if [ ! -d ${dir} ]; then
    mkdir ${dir}
  fi
done
447 448 449 450 451

#### 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.
452
echo "Checking the configuration name"
453
if canonical=`${srcdir}/config.sub "${configuration}"` ; then : ; else
454 455
  exit $?
fi
456

457 458 459 460
### 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.

461 462 463 464 465 466 467 468
### 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.
469
###
470 471 472 473 474
### 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.
475 476 477 478 479
###
### 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'."

480
machine='' opsys='' unported='false'
481
case "${canonical}" in
482

483 484 485 486 487 488 489 490 491 492 493 494 495 496
  ## NetBSD ports
  *-*-netbsd* )
    opsys=netbsd
    case "${canonical}" in
      sparc-*-netbsd*)	machine=sparc ;;
      i386-*-netbsd*)	machine=intel386 ;;
      hp300-*-netbsd* | amiga-*-netbsd* | sun3-*-netbsd* | mac68k-*-netbsd* | da30-*-netbsd*)
			# Yes, this is somewhat bogus.
			machine=hp9000s300 ;;
      pc532-*-netbsd*)	machine=ns32000 ;;
      pmax-*-netbsd*)	machine=pmax ;;
    esac
  ;;

497
  ## Alliant machines
498 499 500 501 502 503
  ## 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-* )
504
    machine=alliant4 opsys=bsd4-2
505 506
  ;;
  i860-alliant-* )
507
    machine=alliant-2800 opsys=bsd4-3
508
  ;;
Jim Blandy's avatar
Jim Blandy committed
509

510 511 512
  ## Altos 3068
  m68*-altos-sysv* )
    machine=altos opsys=usg5-2
513
  ;;
514 515 516 517
    
  ## Amdahl UTS
  580-amdahl-sysv* )
    machine=amdahl opsys=usg5-2-2
518
  ;;
Jim Blandy's avatar
Jim Blandy committed
519

520 521
  ## Appallings - I mean, Apollos - running Domain
  m68*-apollo* )
522
    machine=apollo opsys=bsd4-2
523
  ;;
524 525 526 527 528 529 530 531 532 533 534

  ## 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
  ;;

535 536 537 538 539
  ## Bull dpx20
  rs6000-bull-bosx* )
    machine=ibmrs6000 opsys=aix3-2
  ;;

540 541 542 543 544
  ## Bull dpx2
  m68*-bull-sysv3* )
    machine=dpx2 opsys=usg5-3
  ;;

545
  ## Bull sps7
546
  m68*-bull-sysv2* )
547
    machine=sps7 opsys=usg5-2
548
  ;;
549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569

  ## 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
570
  *-convex-bsd* | *-convex-convexos* )
571
    machine=convex opsys=bsd4-3
Richard M. Stallman's avatar
Richard M. Stallman committed
572 573
    ## Prevents suprious white space in makefiles - d.m.cooke@larc.nasa.gov
    NON_GNU_CPP="cc -E -P"
574 575 576 577 578 579 580 581 582 583 584 585
  ;;

  ## Cubix QBx/386
  i386-cubix-sysv* )
    machine=intel386 opsys=usg5-3
  ;;

  ## Cydra 5
  cydra*-cydrome-sysv* )
    machine=cydra5 opsys=usg5-3
  ;;

586
  ## Data General AViiON Machines
587 588
  m88k-dg-dgux5.4R3* | m88k-dg-dgux5.4.3* )
    machine=aviion opsys=dgux5-4r3
589
  ;;
590 591
  m88k-dg-dgux5.4R2* | m88k-dg-dgux5.4.2* )
    machine=aviion opsys=dgux5-4r2
592
  ;;
593 594 595 596
  m88k-dg-dgux* )
    machine=aviion opsys=dgux
  ;;

597
  ## DECstations
598
  mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0* | mips-dec-bsd4.2* )
599 600 601 602 603 604 605 606 607 608
    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
609
  m68k-motorola-sysv* | m68000-motorola-sysv* )
610
    machine=delta opsys=usg5-3
Richard M. Stallman's avatar
Richard M. Stallman committed
611 612 613 614 615 616 617 618
    if [ -z "`type gnucc | grep 'not found'`" ]
    then CC=gnucc
    else
      if [ -z "`type gcc | grep 'not found'`" ]
      then CC=gcc
      else CC=cc
      fi
    fi
619
  ;;
620 621 622
  m88k-motorola-sysv4* )
    machine=delta88k opsys=usg5-4
  ;;
623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647
  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
648
  pn-gould-bsd4.2* )
649 650
    machine=gould opsys=bsd4-2
  ;;
651
  pn-gould-bsd4.3* )
652 653 654 655 656 657
    machine=gould opsys=bsd4-3
  ;;
  np1-gould-bsd* )
    machine=gould-np1 opsys=bsd4-3
  ;;

658 659 660 661 662 663 664 665 666 667 668 669 670 671
  ## 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
  ;;

672 673 674 675 676 677 678 679 680
  ## Honeywell XPS100
  xps*-honeywell-sysv* )
    machine=xps100 opsys=usg5-2
  ;;

  ## HP 9000 series 200 or 300
  m68*-hp-bsd* )
    machine=hp9000s300 opsys=bsd4-3
  ;;
681
  ## HP/UX 7, 8 and 9 are supported on these machines.
682
  m68*-hp-hpux* )
683
    case "`uname -r`" in
684 685 686
      ## Someone's system reports A.B8.05 for this.
      ## I wonder what other possibilities there are.
      *.B8.* ) machine=hp9000s300 opsys=hpux8 ;;
687 688 689 690
      *.08.* ) machine=hp9000s300 opsys=hpux8 ;;
      *.09.* ) machine=hp9000s300 opsys=hpux9 ;;
      *) machine=hp9000s300 opsys=hpux ;;
    esac
691
  ;;
Jim Blandy's avatar
Jim Blandy committed
692

693
  ## HP 9000 series 700 and 800, running HP/UX
694
  hppa*-hp-hpux7* )
695
    machine=hp800 opsys=hpux
696
  ;;
697
  hppa*-hp-hpux8* )
698
    machine=hp800 opsys=hpux8
699
  ;;
700 701 702
  hppa*-hp-hpux9shr* )
    machine=hp800 opsys=hpux9shr
  ;;
703 704 705
  hppa*-hp-hpux9* )
    machine=hp800 opsys=hpux9
  ;;
706 707

  ## HP 9000 series 700 and 800, running HP/UX
708 709
  hppa*-hp-hpux* )
    ## Cross-compilation?  Nah!
710
    case "`uname -r`" in
711 712
      ## Someone's system reports A.B8.05 for this.
      ## I wonder what other possibilities there are.
713 714 715 716
      *.B8.* ) machine=hp800 opsys=hpux8 ;;
      *.08.* ) machine=hp800 opsys=hpux8 ;;
      *.09.* ) machine=hp800 opsys=hpux9 ;;
      *) machine=hp800 opsys=hpux ;;
717
    esac
718 719 720 721 722 723 724 725 726 727 728
  ;;

  ## Orion machines
  orion-orion-bsd* )
    machine=orion opsys=bsd4-2
  ;;
  clipper-orion-bsd* )
    machine=orion105 opsys=bsd4-2
  ;;

  ## IBM machines
729
  i386-ibm-aix1.1* )
730 731
    machine=ibmps2-aix opsys=usg5-2-2
  ;;
732
  i386-ibm-aix1.[23]* | i386-ibm-aix* )
733 734
    machine=ibmps2-aix opsys=usg5-3
  ;;
735 736 737
  i370-ibm-aix*)
    machine=ibm370aix opsys=usg5-3
  ;;
738
  rs6000-ibm-aix3.1* )
739 740
    machine=ibmrs6000 opsys=aix3-1
  ;;
741 742 743
  rs6000-ibm-aix3.2.5)
    machine=ibmrs6000 opsys=aix3-2-5
  ;;
744
  rs6000-ibm-aix3.2* | rs6000-ibm-aix* )
745 746
    machine=ibmrs6000 opsys=aix3-2
  ;;
747
  romp-ibm-bsd4.3* )
748 749
    machine=ibmrt opsys=bsd4-3
  ;;	
750
  romp-ibm-bsd4.2* )
751 752
    machine=ibmrt opsys=bsd4-2
  ;;
753
  romp-ibm-aos4.3* )
754 755
    machine=ibmrt opsys=bsd4-3
  ;;	
756
  romp-ibm-aos4.2* )
757 758
    machine=ibmrt opsys=bsd4-2
  ;;
759 760 761 762 763 764
  romp-ibm-aos* )
    machine=ibmrt opsys=bsd4-3
  ;;
  romp-ibm-bsd* )
    machine=ibmrt opsys=bsd4-3
  ;;
765 766 767 768 769
  romp-ibm-aix* )
    machine=ibmrt-aix opsys=usg5-2-2
  ;;

  ## Integrated Solutions `Optimum V'
770
  m68*-isi-bsd4.2* )
771 772
    machine=isi-ov opsys=bsd4-2
  ;;
773
  m68*-isi-bsd4.3* )
774 775 776 777 778 779 780
    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
  ;;
781 782 783 784 785 786 787 788 789 790 791

  ## Prime EXL
  i386-prime-sysv* )
    machine=i386 opsys=usg5-3
  ;;

  ## Sequent Symmetry
  i386-sequent-bsd* )
    machine=symmetry opsys=bsd4-3
  ;;

792 793
  ## Unspecified sysv on an ncr machine defaults to svr4.2.
  ## (Plain usg5-4 doesn't turn on POSIX signals, which we need.)
794
  i[34]86-ncr-sysv* )
795
    machine=intel386 opsys=usg5-4-2
796 797
  ;;

798
  ## Intel 860
799
  i860-*-sysv4* )
800
    machine=i860 opsys=usg5-4
801 802
    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.
803 804
  ;;

805
  ## Masscomp machines
806
  m68*-masscomp-rtu* )
807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825
    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.
826 827 828 829
  mips-mips-usg* )
    machine=mips4
    ## Fall through to the general code at the bottom to decide on the OS.
  ;;
830
  mips-mips-riscos4* )
831
    machine=mips4 opsys=bsd4-3
832
    NON_GNU_CC="cc -systype bsd43"
833
    NON_GNU_CPP="cc -systype bsd43 -E"
834 835 836 837 838 839 840 841
  ;;
  mips-mips-bsd* )
    machine=mips opsys=bsd4-3
  ;;
  mips-mips-* )
    machine=mips opsys=usg5-2-2
  ;;

842
  ## NeXT
843
  m68*-next-* | i[34]86-next-* )
844 845 846
    machine=next opsys=mach2
  ;;

847 848 849 850 851 852
  ## The complete machine from National Semiconductor
  ns32k-ns-genix* )
    machine=ns32000 opsys=usg5-2
  ;;

  ## NCR machines
853
  m68*-ncr-sysv2* | m68*-ncr-sysvr2* )
854 855
    machine=tower32 opsys=usg5-2-2
  ;;
856
  m68*-ncr-sysv3* | m68*-ncr-sysvr3* )
857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882
    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
883
  ns32k-sequent-bsd4.2* )
884 885
    machine=sequent opsys=bsd4-2
  ;;
886
  ns32k-sequent-bsd4.3* )
887 888 889
    machine=sequent opsys=bsd4-3
  ;;

Richard M. Stallman's avatar
Richard M. Stallman committed
890 891 892 893
  ## Siemens Nixdorf
  mips-siemens-sysv* )
    machine=mips-siemens opsys=usg5-4
    NON_GNU_CC=/usr/ccs/bin/cc
894
    NON_GNU_CPP=/usr/ccs/lib/cpp
Richard M. Stallman's avatar
Richard M. Stallman committed
895 896 897 898 899 900 901 902 903 904 905
  ;;

  ## 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
906
  mips-sgi-irix3* )
Richard M. Stallman's avatar
Richard M. Stallman committed
907 908
    machine=iris4d opsys=irix3-3
  ;;
909
  mips-sgi-irix5* )
Richard M. Stallman's avatar
Richard M. Stallman committed
910 911
    machine=iris4d opsys=irix5-0
  ;;
912
  mips-sgi-irix4* | mips-sgi-irix* )
Richard M. Stallman's avatar
Richard M. Stallman committed
913 914 915
    machine=iris4d opsys=irix4-0
  ;;

916
  ## SONY machines
917
  m68*-sony-bsd4.2* )
918 919
    machine=news opsys=bsd4-2
  ;;
920 921 922 923
  m68*-sony-bsd4.3* )
    machine=news opsys=bsd4-3
  ;;
  m68*-sony-newsos3*)
924 925
    machine=news opsys=bsd4-3
  ;;
926
  mips-sony-bsd* | mips-sony-newsos4* )
927 928
    machine=news-risc opsys=bsd4-3
  ;;
929
  mips-sony-newsos* )
930
    machine=news-risc opsys=newsos5
931
  ;;
932 933 934 935 936 937 938

  ## Stride
  m68*-stride-sysv* )
    machine=stride opsys=usg5-2
  ;;

  ## Suns
939
  *-sun-sunos* | *-sun-bsd* | *-sun-solaris* | i[34]86-*-solaris2* | i[34]86-*-sunos5* )
940
    case "${canonical}" in
941 942 943
      m68*-sunos1* )	machine=sun1 ;;
      m68*-sunos2* )	machine=sun2 ;;
      m68* )		machine=sun3 ;;
944
      i[34]86-sun-sunos[34]* )	machine=sun386 ;;
945
      i[34]86-*-* )     machine=intel386 ;;
946 947 948
      sparc* )		machine=sparc ;;
      * )		unported=true ;;
    esac
949
    case "${canonical}" in
950 951
      ## The Sun386 didn't get past 4.0.
      i386-*-sunos4	  ) opsys=sunos4-0 ;;
952
      *-sunos4.0*	  ) opsys=sunos4-0 ;;
953 954 955 956
      *-sunos4.1.3*	  ) opsys=sunos4-1-3
		NON_GCC_TEST_OPTIONS=-Bstatic
		GCC_TEST_OPTIONS=-static
		;;
957
      *-sunos4shr*	  ) opsys=sunos4shr ;;
958 959 960 961
      *-sunos4* | *-sunos ) opsys=sunos4-1
		NON_GCC_TEST_OPTIONS=-Bstatic
		GCC_TEST_OPTIONS=-static
		;;
962 963 964 965
      *-sunos5.3* | *-solaris2.3* )
		opsys=sol2-3
		NON_GNU_CPP=/usr/ccs/lib/cpp
		;;
Richard M. Stallman's avatar
Richard M. Stallman committed
966 967 968 969
      *-sunos5.4* | *-solaris2.4* )
		opsys=sol2-4
		NON_GNU_CPP=/usr/ccs/lib/cpp
		;;
970 971 972 973
      *-sunos5* | *-solaris* )
		opsys=sol2
		NON_GNU_CPP=/usr/ccs/lib/cpp
		;;
974
      *			  ) opsys=bsd4-2   ;;
975
    esac
976 977 978 979 980 981 982 983
  ;;

  ## Tadpole 68k
  m68*-tadpole-sysv* )
    machine=tad68k opsys=usg5-3
  ;;

  ## Tahoe machines
984
  tahoe-tahoe-bsd4.2* )
985 986
    machine=tahoe opsys=bsd4-2
  ;;
987
  tahoe-tahoe-bsd4.3* )
988 989 990 991 992 993 994 995
    machine=tahoe opsys=bsd4-3
  ;;

  ## Tandem Integrity S2
  mips-tandem-sysv* )
    machine=tandem-s2 opsys=usg5-3
  ;;

996
  ## Tektronix XD88
997 998
  m88k-tektronix-sysv3* )
  machine=tekxd88 opsys=usg5-3
999 1000
  ;;

1001 1002 1003 1004 1005 1006 1007
  ## 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* )
1008
    machine=tek4300 opsys=bsd4-3
1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024
  ;;

  ## 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
1025
    case "${canonical}" in
1026 1027 1028
      *-bsd4.1* ) 					opsys=bsd4-1 ;;
      *-bsd4.2* | *-ultrix[0-3].* | *-ultrix4.0* )	opsys=bsd4-2 ;;
      *-bsd4.3* | *-ultrix* ) 				opsys=bsd4-3 ;;
1029
      *-bsd386* | *-bsdi* )				opsys=bsd386 ;;
1030 1031 1032 1033
      *-sysv[01]* | *-sysvr[01]* ) 			opsys=usg5-0 ;;
      *-sysv2* | *-sysvr2* )				opsys=usg5-2 ;;
      *-vms* ) 						opsys=vms ;;
      * ) 						unported=true
1034 1035 1036
    esac
  ;;

1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048
  ## 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
  ;;

1049 1050 1051
  ## Intel 386 machines where we don't care about the manufacturer
  i[34]86-*-* )
    machine=intel386
1052
    case "${canonical}" in
1053
      *-isc1.* | *-isc2.[01]* )	opsys=386-ix ;;
1054
      *-isc2.2* )		opsys=isc2-2 ;;
Richard M. Stallman's avatar
Richard M. Stallman committed
1055
      *-isc4.0* )		opsys=isc4-0 ;;
1056
      *-isc* )			opsys=isc3-0 ;;
1057
      *-esix5* )		opsys=esix5r4; NON_GNU_CPP=/usr/lib/cpp ;;
1058 1059 1060 1061
      *-esix* )			opsys=esix ;;
      *-xenix* )		opsys=xenix ;;
      *-linux* )		opsys=linux ;;
      *-sco3.2v4* )		opsys=sco4 ;;
1062
      *-bsd386* | *-bsdi* )	opsys=bsd386 ;;
1063
      *-386bsd* )	        opsys=386bsd ;;
Karl Heuer's avatar
Karl Heuer committed
1064
      *-freebsd* )	        opsys=freebsd ;;
1065
      *-nextstep* )             opsys=mach2 ;;
1066 1067 1068 1069
      ## Otherwise, we'll fall through to the generic opsys code at the bottom.
    esac
  ;;

1070
  * )
1071
    unported=true
1072 1073
  ;;
esac
Jim Blandy's avatar
Jim Blandy committed
1074