Switch to unified view

a b/unac/config.guess
1
#! /bin/sh
2
# Attempt to guess a canonical system name.
3
#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4
#   2000, 2001, 2002 Free Software Foundation, Inc.
5
6
timestamp='2002-05-29'
7
8
# This file is free software; you can redistribute it and/or modify it
9
# under the terms of the GNU General Public License as published by
10
# the Free Software Foundation; either version 2 of the License, or
11
# (at your option) any later version.
12
#
13
# This program is distributed in the hope that it will be useful, but
14
# WITHOUT ANY WARRANTY; without even the implied warranty of
15
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16
# General Public License for more details.
17
#
18
# You should have received a copy of the GNU General Public License
19
# along with this program; if not, write to the Free Software
20
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21
#
22
# As a special exception to the GNU General Public License, if you
23
# distribute this file as part of a program that contains a
24
# configuration script generated by Autoconf, you may include it under
25
# the same distribution terms that you use for the rest of that program.
26
27
# Originally written by Per Bothner <per@bothner.com>.
28
# Please send patches to <config-patches@gnu.org>.  Submit a context
29
# diff and a properly formatted ChangeLog entry.
30
#
31
# This script attempts to guess a canonical system name similar to
32
# config.sub.  If it succeeds, it prints the system name on stdout, and
33
# exits with 0.  Otherwise, it exits with 1.
34
#
35
# The plan is that this can be called by configure scripts if you
36
# don't specify an explicit build system type.
37
38
me=`echo "$0" | sed -e 's,.*/,,'`
39
40
usage="\
41
Usage: $0 [OPTION]
42
43
Output the configuration name of the system \`$me' is run on.
44
45
Operation modes:
46
  -h, --help         print this help, then exit
47
  -t, --time-stamp   print date of last modification, then exit
48
  -v, --version      print version number, then exit
49
50
Report bugs and patches to <config-patches@gnu.org>."
51
52
version="\
53
GNU config.guess ($timestamp)
54
55
Originally written by Per Bothner.
56
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
57
Free Software Foundation, Inc.
58
59
This is free software; see the source for copying conditions.  There is NO
60
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
61
62
help="
63
Try \`$me --help' for more information."
64
65
# Parse command line
66
while test $# -gt 0 ; do
67
  case $1 in
68
    --time-stamp | --time* | -t )
69
       echo "$timestamp" ; exit 0 ;;
70
    --version | -v )
71
       echo "$version" ; exit 0 ;;
72
    --help | --h* | -h )
73
       echo "$usage"; exit 0 ;;
74
    -- )     # Stop option processing
75
       shift; break ;;
76
    - )   # Use stdin as input.
77
       break ;;
78
    -* )
79
       echo "$me: invalid option $1$help" >&2
80
       exit 1 ;;
81
    * )
82
       break ;;
83
  esac
84
done
85
86
if test $# != 0; then
87
  echo "$me: too many arguments$help" >&2
88
  exit 1
89
fi
90
91
92
dummy=dummy-$$
93
trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
94
95
# CC_FOR_BUILD -- compiler used by this script.
96
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
97
# use `HOST_CC' if defined, but it is deprecated.
98
99
set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
100
 ,,)    echo "int dummy(){}" > $dummy.c ;
101
  for c in cc gcc c89 c99 ; do
102
    ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
103
    if test $? = 0 ; then
104
       CC_FOR_BUILD="$c"; break ;
105
    fi ;
106
  done ;
107
  rm -f $dummy.c $dummy.o $dummy.rel ;
108
  if test x"$CC_FOR_BUILD" = x ; then
109
    CC_FOR_BUILD=no_compiler_found ;
110
  fi
111
  ;;
112
 ,,*)   CC_FOR_BUILD=$CC ;;
113
 ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
114
esac'
115
116
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
117
# (ghazi@noc.rutgers.edu 1994-08-24)
118
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
119
  PATH=$PATH:/.attbin ; export PATH
120
fi
121
122
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
123
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
124
UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
125
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
126
127
# Note: order is significant - the case branches are not exclusive.
128
129
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
130
    *:NetBSD:*:*)
131
  # NetBSD (nbsd) targets should (where applicable) match one or
132
  # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
133
  # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
134
  # switched to ELF, *-*-netbsd* would select the old
135
  # object file format.  This provides both forward
136
  # compatibility and a consistent mechanism for selecting the
137
  # object file format.
138
  #
139
  # Note: NetBSD doesn't particularly care about the vendor
140
  # portion of the name.  We always set it to "unknown".
141
  sysctl="sysctl -n hw.machine_arch"
142
  UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
143
      /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
144
  case "${UNAME_MACHINE_ARCH}" in
145
      armeb) machine=armeb-unknown ;;
146
      arm*) machine=arm-unknown ;;
147
      sh3el) machine=shl-unknown ;;
148
      sh3eb) machine=sh-unknown ;;
149
      *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
150
  esac
151
  # The Operating System including object format, if it has switched
152
  # to ELF recently, or will in the future.
153
  case "${UNAME_MACHINE_ARCH}" in
154
      arm*|i386|m68k|ns32k|sh3*|sparc|vax)
155
      eval $set_cc_for_build
156
      if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
157
          | grep __ELF__ >/dev/null
158
      then
159
          # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
160
          # Return netbsd for either.  FIX?
161
          os=netbsd
162
      else
163
          os=netbsdelf
164
      fi
165
      ;;
166
      *)
167
          os=netbsd
168
      ;;
169
  esac
170
  # The OS release
171
  release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
172
  # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
173
  # contains redundant information, the shorter form:
174
  # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
175
  echo "${machine}-${os}${release}"
176
  exit 0 ;;
177
    amiga:OpenBSD:*:*)
178
  echo m68k-unknown-openbsd${UNAME_RELEASE}
179
  exit 0 ;;
180
    arc:OpenBSD:*:*)
181
  echo mipsel-unknown-openbsd${UNAME_RELEASE}
182
  exit 0 ;;
183
    hp300:OpenBSD:*:*)
184
  echo m68k-unknown-openbsd${UNAME_RELEASE}
185
  exit 0 ;;
186
    mac68k:OpenBSD:*:*)
187
  echo m68k-unknown-openbsd${UNAME_RELEASE}
188
  exit 0 ;;
189
    macppc:OpenBSD:*:*)
190
  echo powerpc-unknown-openbsd${UNAME_RELEASE}
191
  exit 0 ;;
192
    mvme68k:OpenBSD:*:*)
193
  echo m68k-unknown-openbsd${UNAME_RELEASE}
194
  exit 0 ;;
195
    mvme88k:OpenBSD:*:*)
196
  echo m88k-unknown-openbsd${UNAME_RELEASE}
197
  exit 0 ;;
198
    mvmeppc:OpenBSD:*:*)
199
  echo powerpc-unknown-openbsd${UNAME_RELEASE}
200
  exit 0 ;;
201
    pmax:OpenBSD:*:*)
202
  echo mipsel-unknown-openbsd${UNAME_RELEASE}
203
  exit 0 ;;
204
    sgi:OpenBSD:*:*)
205
  echo mipseb-unknown-openbsd${UNAME_RELEASE}
206
  exit 0 ;;
207
    sun3:OpenBSD:*:*)
208
  echo m68k-unknown-openbsd${UNAME_RELEASE}
209
  exit 0 ;;
210
    wgrisc:OpenBSD:*:*)
211
  echo mipsel-unknown-openbsd${UNAME_RELEASE}
212
  exit 0 ;;
213
    *:OpenBSD:*:*)
214
  echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
215
  exit 0 ;;
216
    alpha:OSF1:*:*)
217
  if test $UNAME_RELEASE = "V4.0"; then
218
      UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
219
  fi
220
  # A Vn.n version is a released version.
221
  # A Tn.n version is a released field test version.
222
  # A Xn.n version is an unreleased experimental baselevel.
223
  # 1.2 uses "1.2" for uname -r.
224
  cat <<EOF >$dummy.s
225
  .data
226
\$Lformat:
227
  .byte 37,100,45,37,120,10,0 # "%d-%x\n"
228
229
  .text
230
  .globl main
231
  .align 4
232
  .ent main
233
main:
234
  .frame \$30,16,\$26,0
235
  ldgp \$29,0(\$27)
236
  .prologue 1
237
  .long 0x47e03d80 # implver \$0
238
  lda \$2,-1
239
  .long 0x47e20c21 # amask \$2,\$1
240
  lda \$16,\$Lformat
241
  mov \$0,\$17
242
  not \$1,\$18
243
  jsr \$26,printf
244
  ldgp \$29,0(\$26)
245
  mov 0,\$16
246
  jsr \$26,exit
247
  .end main
248
EOF
249
  eval $set_cc_for_build
250
  $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
251
  if test "$?" = 0 ; then
252
      case `./$dummy` in
253
          0-0)
254
              UNAME_MACHINE="alpha"
255
              ;;
256
          1-0)
257
              UNAME_MACHINE="alphaev5"
258
              ;;
259
          1-1)
260
              UNAME_MACHINE="alphaev56"
261
              ;;
262
          1-101)
263
              UNAME_MACHINE="alphapca56"
264
              ;;
265
          2-303)
266
              UNAME_MACHINE="alphaev6"
267
              ;;
268
          2-307)
269
              UNAME_MACHINE="alphaev67"
270
              ;;
271
          2-1307)
272
              UNAME_MACHINE="alphaev68"
273
              ;;
274
      esac
275
  fi
276
  rm -f $dummy.s $dummy
277
  echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
278
  exit 0 ;;
279
    Alpha\ *:Windows_NT*:*)
280
  # How do we know it's Interix rather than the generic POSIX subsystem?
281
  # Should we change UNAME_MACHINE based on the output of uname instead
282
  # of the specific Alpha model?
283
  echo alpha-pc-interix
284
  exit 0 ;;
285
    21064:Windows_NT:50:3)
286
  echo alpha-dec-winnt3.5
287
  exit 0 ;;
288
    Amiga*:UNIX_System_V:4.0:*)
289
  echo m68k-unknown-sysv4
290
  exit 0;;
291
    *:[Aa]miga[Oo][Ss]:*:*)
292
  echo ${UNAME_MACHINE}-unknown-amigaos
293
  exit 0 ;;
294
    *:[Mm]orph[Oo][Ss]:*:*)
295
  echo ${UNAME_MACHINE}-unknown-morphos
296
  exit 0 ;;
297
    *:OS/390:*:*)
298
  echo i370-ibm-openedition
299
  exit 0 ;;
300
    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
301
  echo arm-acorn-riscix${UNAME_RELEASE}
302
  exit 0;;
303
    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
304
  echo hppa1.1-hitachi-hiuxmpp
305
  exit 0;;
306
    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
307
  # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
308
  if test "`(/bin/universe) 2>/dev/null`" = att ; then
309
      echo pyramid-pyramid-sysv3
310
  else
311
      echo pyramid-pyramid-bsd
312
  fi
313
  exit 0 ;;
314
    NILE*:*:*:dcosx)
315
  echo pyramid-pyramid-svr4
316
  exit 0 ;;
317
    sun4H:SunOS:5.*:*)
318
  echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
319
  exit 0 ;;
320
    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
321
  echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
322
  exit 0 ;;
323
    i86pc:SunOS:5.*:*)
324
  echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
325
  exit 0 ;;
326
    sun4*:SunOS:6*:*)
327
  # According to config.sub, this is the proper way to canonicalize
328
  # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
329
  # it's likely to be more like Solaris than SunOS4.
330
  echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
331
  exit 0 ;;
332
    sun4*:SunOS:*:*)
333
  case "`/usr/bin/arch -k`" in
334
      Series*|S4*)
335
      UNAME_RELEASE=`uname -v`
336
      ;;
337
  esac
338
  # Japanese Language versions have a version number like `4.1.3-JL'.
339
  echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
340
  exit 0 ;;
341
    sun3*:SunOS:*:*)
342
  echo m68k-sun-sunos${UNAME_RELEASE}
343
  exit 0 ;;
344
    sun*:*:4.2BSD:*)
345
  UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
346
  test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
347
  case "`/bin/arch`" in
348
      sun3)
349
      echo m68k-sun-sunos${UNAME_RELEASE}
350
      ;;
351
      sun4)
352
      echo sparc-sun-sunos${UNAME_RELEASE}
353
      ;;
354
  esac
355
  exit 0 ;;
356
    aushp:SunOS:*:*)
357
  echo sparc-auspex-sunos${UNAME_RELEASE}
358
  exit 0 ;;
359
    # The situation for MiNT is a little confusing.  The machine name
360
    # can be virtually everything (everything which is not
361
    # "atarist" or "atariste" at least should have a processor
362
    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
363
    # to the lowercase version "mint" (or "freemint").  Finally
364
    # the system name "TOS" denotes a system which is actually not
365
    # MiNT.  But MiNT is downward compatible to TOS, so this should
366
    # be no problem.
367
    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
368
        echo m68k-atari-mint${UNAME_RELEASE}
369
  exit 0 ;;
370
    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
371
  echo m68k-atari-mint${UNAME_RELEASE}
372
        exit 0 ;;
373
    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
374
        echo m68k-atari-mint${UNAME_RELEASE}
375
  exit 0 ;;
376
    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
377
        echo m68k-milan-mint${UNAME_RELEASE}
378
        exit 0 ;;
379
    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
380
        echo m68k-hades-mint${UNAME_RELEASE}
381
        exit 0 ;;
382
    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
383
        echo m68k-unknown-mint${UNAME_RELEASE}
384
        exit 0 ;;
385
    powerpc:machten:*:*)
386
  echo powerpc-apple-machten${UNAME_RELEASE}
387
  exit 0 ;;
388
    RISC*:Mach:*:*)
389
  echo mips-dec-mach_bsd4.3
390
  exit 0 ;;
391
    RISC*:ULTRIX:*:*)
392
  echo mips-dec-ultrix${UNAME_RELEASE}
393
  exit 0 ;;
394
    VAX*:ULTRIX*:*:*)
395
  echo vax-dec-ultrix${UNAME_RELEASE}
396
  exit 0 ;;
397
    2020:CLIX:*:* | 2430:CLIX:*:*)
398
  echo clipper-intergraph-clix${UNAME_RELEASE}
399
  exit 0 ;;
400
    mips:*:*:UMIPS | mips:*:*:RISCos)
401
  eval $set_cc_for_build
402
  sed 's/^    //' << EOF >$dummy.c
403
#ifdef __cplusplus
404
#include <stdio.h>  /* for printf() prototype */
405
  int main (int argc, char *argv[]) {
406
#else
407
  int main (argc, argv) int argc; char *argv[]; {
408
#endif
409
  #if defined (host_mips) && defined (MIPSEB)
410
  #if defined (SYSTYPE_SYSV)
411
    printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
412
  #endif
413
  #if defined (SYSTYPE_SVR4)
414
    printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
415
  #endif
416
  #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
417
    printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
418
  #endif
419
  #endif
420
    exit (-1);
421
  }
422
EOF
423
  $CC_FOR_BUILD $dummy.c -o $dummy \
424
    && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
425
    && rm -f $dummy.c $dummy && exit 0
426
  rm -f $dummy.c $dummy
427
  echo mips-mips-riscos${UNAME_RELEASE}
428
  exit 0 ;;
429
    Motorola:PowerMAX_OS:*:*)
430
  echo powerpc-motorola-powermax
431
  exit 0 ;;
432
    Night_Hawk:*:*:PowerMAX_OS)
433
  echo powerpc-harris-powermax
434
  exit 0 ;;
435
    Night_Hawk:Power_UNIX:*:*)
436
  echo powerpc-harris-powerunix
437
  exit 0 ;;
438
    m88k:CX/UX:7*:*)
439
  echo m88k-harris-cxux7
440
  exit 0 ;;
441
    m88k:*:4*:R4*)
442
  echo m88k-motorola-sysv4
443
  exit 0 ;;
444
    m88k:*:3*:R3*)
445
  echo m88k-motorola-sysv3
446
  exit 0 ;;
447
    AViiON:dgux:*:*)
448
        # DG/UX returns AViiON for all architectures
449
        UNAME_PROCESSOR=`/usr/bin/uname -p`
450
  if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
451
  then
452
      if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
453
         [ ${TARGET_BINARY_INTERFACE}x = x ]
454
      then
455
      echo m88k-dg-dgux${UNAME_RELEASE}
456
      else
457
      echo m88k-dg-dguxbcs${UNAME_RELEASE}
458
      fi
459
  else
460
      echo i586-dg-dgux${UNAME_RELEASE}
461
  fi
462
  exit 0 ;;
463
    M88*:DolphinOS:*:*)   # DolphinOS (SVR3)
464
  echo m88k-dolphin-sysv3
465
  exit 0 ;;
466
    M88*:*:R3*:*)
467
  # Delta 88k system running SVR3
468
  echo m88k-motorola-sysv3
469
  exit 0 ;;
470
    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
471
  echo m88k-tektronix-sysv3
472
  exit 0 ;;
473
    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
474
  echo m68k-tektronix-bsd
475
  exit 0 ;;
476
    *:IRIX*:*:*)
477
  echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
478
  exit 0 ;;
479
    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
480
  echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
481
  exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
482
    i*86:AIX:*:*)
483
  echo i386-ibm-aix
484
  exit 0 ;;
485
    ia64:AIX:*:*)
486
  if [ -x /usr/bin/oslevel ] ; then
487
      IBM_REV=`/usr/bin/oslevel`
488
  else
489
      IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
490
  fi
491
  echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
492
  exit 0 ;;
493
    *:AIX:2:3)
494
  if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
495
      eval $set_cc_for_build
496
      sed 's/^        //' << EOF >$dummy.c
497
      #include <sys/systemcfg.h>
498
499
      main()
500
          {
501
          if (!__power_pc())
502
              exit(1);
503
          puts("powerpc-ibm-aix3.2.5");
504
          exit(0);
505
          }
506
EOF
507
      $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
508
      rm -f $dummy.c $dummy
509
      echo rs6000-ibm-aix3.2.5
510
  elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
511
      echo rs6000-ibm-aix3.2.4
512
  else
513
      echo rs6000-ibm-aix3.2
514
  fi
515
  exit 0 ;;
516
    *:AIX:*:[45])
517
  IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
518
  if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
519
      IBM_ARCH=rs6000
520
  else
521
      IBM_ARCH=powerpc
522
  fi
523
  if [ -x /usr/bin/oslevel ] ; then
524
      IBM_REV=`/usr/bin/oslevel`
525
  else
526
      IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
527
  fi
528
  echo ${IBM_ARCH}-ibm-aix${IBM_REV}
529
  exit 0 ;;
530
    *:AIX:*:*)
531
  echo rs6000-ibm-aix
532
  exit 0 ;;
533
    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
534
  echo romp-ibm-bsd4.4
535
  exit 0 ;;
536
    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
537
  echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
538
  exit 0 ;;                           # report: romp-ibm BSD 4.3
539
    *:BOSX:*:*)
540
  echo rs6000-bull-bosx
541
  exit 0 ;;
542
    DPX/2?00:B.O.S.:*:*)
543
  echo m68k-bull-sysv3
544
  exit 0 ;;
545
    9000/[34]??:4.3bsd:1.*:*)
546
  echo m68k-hp-bsd
547
  exit 0 ;;
548
    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
549
  echo m68k-hp-bsd4.4
550
  exit 0 ;;
551
    9000/[34678]??:HP-UX:*:*)
552
  HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
553
  case "${UNAME_MACHINE}" in
554
      9000/31? )            HP_ARCH=m68000 ;;
555
      9000/[34]?? )         HP_ARCH=m68k ;;
556
      9000/[678][0-9][0-9])
557
      if [ -x /usr/bin/getconf ]; then
558
          sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
559
                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
560
                    case "${sc_cpu_version}" in
561
                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
562
                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
563
                      532)                      # CPU_PA_RISC2_0
564
                        case "${sc_kernel_bits}" in
565
                          32) HP_ARCH="hppa2.0n" ;;
566
                          64) HP_ARCH="hppa2.0w" ;;
567
            '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
568
                        esac ;;
569
                    esac
570
      fi
571
      if [ "${HP_ARCH}" = "" ]; then
572
          eval $set_cc_for_build
573
          sed 's/^              //' << EOF >$dummy.c
574
575
              #define _HPUX_SOURCE
576
              #include <stdlib.h>
577
              #include <unistd.h>
578
579
              int main ()
580
              {
581
              #if defined(_SC_KERNEL_BITS)
582
                  long bits = sysconf(_SC_KERNEL_BITS);
583
              #endif
584
                  long cpu  = sysconf (_SC_CPU_VERSION);
585
586
                  switch (cpu)
587
                  {
588
                  case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
589
                  case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
590
                  case CPU_PA_RISC2_0:
591
              #if defined(_SC_KERNEL_BITS)
592
                      switch (bits)
593
                      {
594
                      case 64: puts ("hppa2.0w"); break;
595
                      case 32: puts ("hppa2.0n"); break;
596
                      default: puts ("hppa2.0"); break;
597
                      } break;
598
              #else  /* !defined(_SC_KERNEL_BITS) */
599
                      puts ("hppa2.0"); break;
600
              #endif
601
                  default: puts ("hppa1.0"); break;
602
                  }
603
                  exit (0);
604
              }
605
EOF
606
          (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`./$dummy`
607
          if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
608
          rm -f $dummy.c $dummy
609
      fi ;;
610
  esac
611
  echo ${HP_ARCH}-hp-hpux${HPUX_REV}
612
  exit 0 ;;
613
    ia64:HP-UX:*:*)
614
  HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
615
  echo ia64-hp-hpux${HPUX_REV}
616
  exit 0 ;;
617
    3050*:HI-UX:*:*)
618
  eval $set_cc_for_build
619
  sed 's/^    //' << EOF >$dummy.c
620
  #include <unistd.h>
621
  int
622
  main ()
623
  {
624
    long cpu = sysconf (_SC_CPU_VERSION);
625
    /* The order matters, because CPU_IS_HP_MC68K erroneously returns
626
       true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
627
       results, however.  */
628
    if (CPU_IS_PA_RISC (cpu))
629
      {
630
        switch (cpu)
631
      {
632
        case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
633
        case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
634
        case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
635
        default: puts ("hppa-hitachi-hiuxwe2"); break;
636
      }
637
      }
638
    else if (CPU_IS_HP_MC68K (cpu))
639
      puts ("m68k-hitachi-hiuxwe2");
640
    else puts ("unknown-hitachi-hiuxwe2");
641
    exit (0);
642
  }
643
EOF
644
  $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
645
  rm -f $dummy.c $dummy
646
  echo unknown-hitachi-hiuxwe2
647
  exit 0 ;;
648
    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
649
  echo hppa1.1-hp-bsd
650
  exit 0 ;;
651
    9000/8??:4.3bsd:*:*)
652
  echo hppa1.0-hp-bsd
653
  exit 0 ;;
654
    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
655
  echo hppa1.0-hp-mpeix
656
  exit 0 ;;
657
    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
658
  echo hppa1.1-hp-osf
659
  exit 0 ;;
660
    hp8??:OSF1:*:*)
661
  echo hppa1.0-hp-osf
662
  exit 0 ;;
663
    i*86:OSF1:*:*)
664
  if [ -x /usr/sbin/sysversion ] ; then
665
      echo ${UNAME_MACHINE}-unknown-osf1mk
666
  else
667
      echo ${UNAME_MACHINE}-unknown-osf1
668
  fi
669
  exit 0 ;;
670
    parisc*:Lites*:*:*)
671
  echo hppa1.1-hp-lites
672
  exit 0 ;;
673
    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
674
  echo c1-convex-bsd
675
        exit 0 ;;
676
    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
677
  if getsysinfo -f scalar_acc
678
  then echo c32-convex-bsd
679
  else echo c2-convex-bsd
680
  fi
681
        exit 0 ;;
682
    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
683
  echo c34-convex-bsd
684
        exit 0 ;;
685
    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
686
  echo c38-convex-bsd
687
        exit 0 ;;
688
    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
689
  echo c4-convex-bsd
690
        exit 0 ;;
691
    CRAY*Y-MP:*:*:*)
692
  echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
693
  exit 0 ;;
694
    CRAY*[A-Z]90:*:*:*)
695
  echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
696
  | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
697
        -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
698
        -e 's/\.[^.]*$/.X/'
699
  exit 0 ;;
700
    CRAY*TS:*:*:*)
701
  echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
702
  exit 0 ;;
703
    CRAY*T3D:*:*:*)
704
  echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
705
  exit 0 ;;
706
    CRAY*T3E:*:*:*)
707
  echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
708
  exit 0 ;;
709
    CRAY*SV1:*:*:*)
710
  echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
711
  exit 0 ;;
712
    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
713
  FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
714
        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
715
        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
716
        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
717
        exit 0 ;;
718
    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
719
  echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
720
  exit 0 ;;
721
    sparc*:BSD/OS:*:*)
722
  echo sparc-unknown-bsdi${UNAME_RELEASE}
723
  exit 0 ;;
724
    *:BSD/OS:*:*)
725
  echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
726
  exit 0 ;;
727
    *:FreeBSD:*:*)
728
  echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
729
  exit 0 ;;
730
    i*:CYGWIN*:*)
731
  echo ${UNAME_MACHINE}-pc-cygwin
732
  exit 0 ;;
733
    i*:MINGW*:*)
734
  echo ${UNAME_MACHINE}-pc-mingw32
735
  exit 0 ;;
736
    i*:PW*:*)
737
  echo ${UNAME_MACHINE}-pc-pw32
738
  exit 0 ;;
739
    x86:Interix*:3*)
740
  echo i386-pc-interix3
741
  exit 0 ;;
742
    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
743
  # How do we know it's Interix rather than the generic POSIX subsystem?
744
  # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
745
  # UNAME_MACHINE based on the output of uname instead of i386?
746
  echo i386-pc-interix
747
  exit 0 ;;
748
    i*:UWIN*:*)
749
  echo ${UNAME_MACHINE}-pc-uwin
750
  exit 0 ;;
751
    p*:CYGWIN*:*)
752
  echo powerpcle-unknown-cygwin
753
  exit 0 ;;
754
    prep*:SunOS:5.*:*)
755
  echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
756
  exit 0 ;;
757
    *:GNU:*:*)
758
  echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
759
  exit 0 ;;
760
    i*86:Minix:*:*)
761
  echo ${UNAME_MACHINE}-pc-minix
762
  exit 0 ;;
763
    arm*:Linux:*:*)
764
  echo ${UNAME_MACHINE}-unknown-linux-gnu
765
  exit 0 ;;
766
    ia64:Linux:*:*)
767
  echo ${UNAME_MACHINE}-unknown-linux-gnu
768
  exit 0 ;;
769
    m68*:Linux:*:*)
770
  echo ${UNAME_MACHINE}-unknown-linux-gnu
771
  exit 0 ;;
772
    mips:Linux:*:*)
773
  eval $set_cc_for_build
774
  sed 's/^    //' << EOF >$dummy.c
775
  #undef CPU
776
  #undef mips
777
  #undef mipsel
778
  #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
779
  CPU=mipsel
780
  #else
781
  #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
782
  CPU=mips
783
  #else
784
  CPU=
785
  #endif
786
  #endif
787
EOF
788
  eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
789
  rm -f $dummy.c
790
  test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
791
  ;;
792
    ppc:Linux:*:*)
793
  echo powerpc-unknown-linux-gnu
794
  exit 0 ;;
795
    ppc64:Linux:*:*)
796
  echo powerpc64-unknown-linux-gnu
797
  exit 0 ;;
798
    alpha:Linux:*:*)
799
  case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
800
    EV5)   UNAME_MACHINE=alphaev5 ;;
801
    EV56)  UNAME_MACHINE=alphaev56 ;;
802
    PCA56) UNAME_MACHINE=alphapca56 ;;
803
    PCA57) UNAME_MACHINE=alphapca56 ;;
804
    EV6)   UNAME_MACHINE=alphaev6 ;;
805
    EV67)  UNAME_MACHINE=alphaev67 ;;
806
    EV68*) UNAME_MACHINE=alphaev68 ;;
807
        esac
808
  objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
809
  if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
810
  echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
811
  exit 0 ;;
812
    parisc:Linux:*:* | hppa:Linux:*:*)
813
  # Look for CPU level
814
  case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
815
    PA7*) echo hppa1.1-unknown-linux-gnu ;;
816
    PA8*) echo hppa2.0-unknown-linux-gnu ;;
817
    *)    echo hppa-unknown-linux-gnu ;;
818
  esac
819
  exit 0 ;;
820
    parisc64:Linux:*:* | hppa64:Linux:*:*)
821
  echo hppa64-unknown-linux-gnu
822
  exit 0 ;;
823
    s390:Linux:*:* | s390x:Linux:*:*)
824
  echo ${UNAME_MACHINE}-ibm-linux
825
  exit 0 ;;
826
    sh*:Linux:*:*)
827
  echo ${UNAME_MACHINE}-unknown-linux-gnu
828
  exit 0 ;;
829
    sparc:Linux:*:* | sparc64:Linux:*:*)
830
  echo ${UNAME_MACHINE}-unknown-linux-gnu
831
  exit 0 ;;
832
    x86_64:Linux:*:*)
833
  echo x86_64-unknown-linux-gnu
834
  exit 0 ;;
835
    i*86:Linux:*:*)
836
  # The BFD linker knows what the default object file format is, so
837
  # first see if it will tell us. cd to the root directory to prevent
838
  # problems with other programs or directories called `ld' in the path.
839
  # Set LC_ALL=C to ensure ld outputs messages in English.
840
  ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
841
           | sed -ne '/supported targets:/!d
842
                  s/[     ][  ]*/ /g
843
                  s/.*supported targets: *//
844
                  s/ .*//
845
                  p'`
846
        case "$ld_supported_targets" in
847
    elf32-i386)
848
      TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
849
      ;;
850
    a.out-i386-linux)
851
      echo "${UNAME_MACHINE}-pc-linux-gnuaout"
852
      exit 0 ;;       
853
    coff-i386)
854
      echo "${UNAME_MACHINE}-pc-linux-gnucoff"
855
      exit 0 ;;
856
    "")
857
      # Either a pre-BFD a.out linker (linux-gnuoldld) or
858
      # one that does not give us useful --help.
859
      echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
860
      exit 0 ;;
861
  esac
862
  # Determine whether the default compiler is a.out or elf
863
  eval $set_cc_for_build
864
  sed 's/^    //' << EOF >$dummy.c
865
  #include <features.h>
866
  #ifdef __ELF__
867
  # ifdef __GLIBC__
868
  #  if __GLIBC__ >= 2
869
  LIBC=gnu
870
  #  else
871
  LIBC=gnulibc1
872
  #  endif
873
  # else
874
  LIBC=gnulibc1
875
  # endif
876
  #else
877
  #ifdef __INTEL_COMPILER
878
  LIBC=gnu
879
  #else
880
  LIBC=gnuaout
881
  #endif
882
  #endif
883
EOF
884
  eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
885
  rm -f $dummy.c
886
  test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
887
  test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
888
  ;;
889
    i*86:DYNIX/ptx:4*:*)
890
  # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
891
  # earlier versions are messed up and put the nodename in both
892
  # sysname and nodename.
893
  echo i386-sequent-sysv4
894
  exit 0 ;;
895
    i*86:UNIX_SV:4.2MP:2.*)
896
        # Unixware is an offshoot of SVR4, but it has its own version
897
        # number series starting with 2...
898
        # I am not positive that other SVR4 systems won't match this,
899
  # I just have to hope.  -- rms.
900
        # Use sysv4.2uw... so that sysv4* matches it.
901
  echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
902
  exit 0 ;;
903
    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
904
  UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
905
  if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
906
      echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
907
  else
908
      echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
909
  fi
910
  exit 0 ;;
911
    i*86:*:5:[78]*)
912
  case `/bin/uname -X | grep "^Machine"` in
913
      *486*)       UNAME_MACHINE=i486 ;;
914
      *Pentium)        UNAME_MACHINE=i586 ;;
915
      *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
916
  esac
917
  echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
918
  exit 0 ;;
919
    i*86:*:3.2:*)
920
  if test -f /usr/options/cb.name; then
921
      UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
922
      echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
923
  elif /bin/uname -X 2>/dev/null >/dev/null ; then
924
      UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
925
      (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
926
      (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
927
          && UNAME_MACHINE=i586
928
      (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
929
          && UNAME_MACHINE=i686
930
      (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
931
          && UNAME_MACHINE=i686
932
      echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
933
  else
934
      echo ${UNAME_MACHINE}-pc-sysv32
935
  fi
936
  exit 0 ;;
937
    i*86:*DOS:*:*)
938
  echo ${UNAME_MACHINE}-pc-msdosdjgpp
939
  exit 0 ;;
940
    pc:*:*:*)
941
  # Left here for compatibility:
942
        # uname -m prints for DJGPP always 'pc', but it prints nothing about
943
        # the processor, so we play safe by assuming i386.
944
  echo i386-pc-msdosdjgpp
945
        exit 0 ;;
946
    Intel:Mach:3*:*)
947
  echo i386-pc-mach3
948
  exit 0 ;;
949
    paragon:*:*:*)
950
  echo i860-intel-osf1
951
  exit 0 ;;
952
    i860:*:4.*:*) # i860-SVR4
953
  if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
954
    echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
955
  else # Add other i860-SVR4 vendors below as they are discovered.
956
    echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
957
  fi
958
  exit 0 ;;
959
    mini*:CTIX:SYS*5:*)
960
  # "miniframe"
961
  echo m68010-convergent-sysv
962
  exit 0 ;;
963
    M68*:*:R3V[567]*:*)
964
  test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
965
    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0)
966
  OS_REL=''
967
  test -r /etc/.relid \
968
  && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
969
  /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
970
    && echo i486-ncr-sysv4.3${OS_REL} && exit 0
971
  /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
972
    && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
973
    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
974
        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
975
          && echo i486-ncr-sysv4 && exit 0 ;;
976
    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
977
  echo m68k-unknown-lynxos${UNAME_RELEASE}
978
  exit 0 ;;
979
    mc68030:UNIX_System_V:4.*:*)
980
  echo m68k-atari-sysv4
981
  exit 0 ;;
982
    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
983
  echo i386-unknown-lynxos${UNAME_RELEASE}
984
  exit 0 ;;
985
    TSUNAMI:LynxOS:2.*:*)
986
  echo sparc-unknown-lynxos${UNAME_RELEASE}
987
  exit 0 ;;
988
    rs6000:LynxOS:2.*:*)
989
  echo rs6000-unknown-lynxos${UNAME_RELEASE}
990
  exit 0 ;;
991
    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
992
  echo powerpc-unknown-lynxos${UNAME_RELEASE}
993
  exit 0 ;;
994
    SM[BE]S:UNIX_SV:*:*)
995
  echo mips-dde-sysv${UNAME_RELEASE}
996
  exit 0 ;;
997
    RM*:ReliantUNIX-*:*:*)
998
  echo mips-sni-sysv4
999
  exit 0 ;;
1000
    RM*:SINIX-*:*:*)
1001
  echo mips-sni-sysv4
1002
  exit 0 ;;
1003
    *:SINIX-*:*:*)
1004
  if uname -p 2>/dev/null >/dev/null ; then
1005
      UNAME_MACHINE=`(uname -p) 2>/dev/null`
1006
      echo ${UNAME_MACHINE}-sni-sysv4
1007
  else
1008
      echo ns32k-sni-sysv
1009
  fi
1010
  exit 0 ;;
1011
    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1012
                      # says <Richard.M.Bartel@ccMail.Census.GOV>
1013
        echo i586-unisys-sysv4
1014
        exit 0 ;;
1015
    *:UNIX_System_V:4*:FTX*)
1016
  # From Gerald Hewes <hewes@openmarket.com>.
1017
  # How about differentiating between stratus architectures? -djm
1018
  echo hppa1.1-stratus-sysv4
1019
  exit 0 ;;
1020
    *:*:*:FTX*)
1021
  # From seanf@swdc.stratus.com.
1022
  echo i860-stratus-sysv4
1023
  exit 0 ;;
1024
    *:VOS:*:*)
1025
  # From Paul.Green@stratus.com.
1026
  echo hppa1.1-stratus-vos
1027
  exit 0 ;;
1028
    mc68*:A/UX:*:*)
1029
  echo m68k-apple-aux${UNAME_RELEASE}
1030
  exit 0 ;;
1031
    news*:NEWS-OS:6*:*)
1032
  echo mips-sony-newsos6
1033
  exit 0 ;;
1034
    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1035
  if [ -d /usr/nec ]; then
1036
          echo mips-nec-sysv${UNAME_RELEASE}
1037
  else
1038
          echo mips-unknown-sysv${UNAME_RELEASE}
1039
  fi
1040
        exit 0 ;;
1041
    BeBox:BeOS:*:*)   # BeOS running on hardware made by Be, PPC only.
1042
  echo powerpc-be-beos
1043
  exit 0 ;;
1044
    BeMac:BeOS:*:*)   # BeOS running on Mac or Mac clone, PPC only.
1045
  echo powerpc-apple-beos
1046
  exit 0 ;;
1047
    BePC:BeOS:*:*)    # BeOS running on Intel PC compatible.
1048
  echo i586-pc-beos
1049
  exit 0 ;;
1050
    SX-4:SUPER-UX:*:*)
1051
  echo sx4-nec-superux${UNAME_RELEASE}
1052
  exit 0 ;;
1053
    SX-5:SUPER-UX:*:*)
1054
  echo sx5-nec-superux${UNAME_RELEASE}
1055
  exit 0 ;;
1056
    Power*:Rhapsody:*:*)
1057
  echo powerpc-apple-rhapsody${UNAME_RELEASE}
1058
  exit 0 ;;
1059
    *:Rhapsody:*:*)
1060
  echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1061
  exit 0 ;;
1062
    *:Darwin:*:*)
1063
  echo `uname -p`-apple-darwin${UNAME_RELEASE}
1064
  exit 0 ;;
1065
    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1066
  UNAME_PROCESSOR=`uname -p`
1067
  if test "$UNAME_PROCESSOR" = "x86"; then
1068
      UNAME_PROCESSOR=i386
1069
      UNAME_MACHINE=pc
1070
  fi
1071
  echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1072
  exit 0 ;;
1073
    *:QNX:*:4*)
1074
  echo i386-pc-qnx
1075
  exit 0 ;;
1076
    NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*)
1077
  echo nsr-tandem-nsk${UNAME_RELEASE}
1078
  exit 0 ;;
1079
    *:NonStop-UX:*:*)
1080
  echo mips-compaq-nonstopux
1081
  exit 0 ;;
1082
    BS2000:POSIX*:*:*)
1083
  echo bs2000-siemens-sysv
1084
  exit 0 ;;
1085
    DS/*:UNIX_System_V:*:*)
1086
  echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1087
  exit 0 ;;
1088
    *:Plan9:*:*)
1089
  # "uname -m" is not consistent, so use $cputype instead. 386
1090
  # is converted to i386 for consistency with other x86
1091
  # operating systems.
1092
  if test "$cputype" = "386"; then
1093
      UNAME_MACHINE=i386
1094
  else
1095
      UNAME_MACHINE="$cputype"
1096
  fi
1097
  echo ${UNAME_MACHINE}-unknown-plan9
1098
  exit 0 ;;
1099
    i*86:OS/2:*:*)
1100
  # If we were able to find `uname', then EMX Unix compatibility
1101
  # is probably installed.
1102
  echo ${UNAME_MACHINE}-pc-os2-emx
1103
  exit 0 ;;
1104
    *:TOPS-10:*:*)
1105
  echo pdp10-unknown-tops10
1106
  exit 0 ;;
1107
    *:TENEX:*:*)
1108
  echo pdp10-unknown-tenex
1109
  exit 0 ;;
1110
    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1111
  echo pdp10-dec-tops20
1112
  exit 0 ;;
1113
    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1114
  echo pdp10-xkl-tops20
1115
  exit 0 ;;
1116
    *:TOPS-20:*:*)
1117
  echo pdp10-unknown-tops20
1118
  exit 0 ;;
1119
    *:ITS:*:*)
1120
  echo pdp10-unknown-its
1121
  exit 0 ;;
1122
    i*86:XTS-300:*:STOP)
1123
  echo ${UNAME_MACHINE}-unknown-stop
1124
  exit 0 ;;
1125
    i*86:atheos:*:*)
1126
  echo ${UNAME_MACHINE}-unknown-atheos
1127
  exit 0 ;;
1128
esac
1129
1130
#echo '(No uname command or uname output not recognized.)' 1>&2
1131
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1132
1133
eval $set_cc_for_build
1134
cat >$dummy.c <<EOF
1135
#ifdef _SEQUENT_
1136
# include <sys/types.h>
1137
# include <sys/utsname.h>
1138
#endif
1139
main ()
1140
{
1141
#if defined (sony)
1142
#if defined (MIPSEB)
1143
  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1144
     I don't know....  */
1145
  printf ("mips-sony-bsd\n"); exit (0);
1146
#else
1147
#include <sys/param.h>
1148
  printf ("m68k-sony-newsos%s\n",
1149
#ifdef NEWSOS4
1150
          "4"
1151
#else
1152
    ""
1153
#endif
1154
         ); exit (0);
1155
#endif
1156
#endif
1157
1158
#if defined (__arm) && defined (__acorn) && defined (__unix)
1159
  printf ("arm-acorn-riscix"); exit (0);
1160
#endif
1161
1162
#if defined (hp300) && !defined (hpux)
1163
  printf ("m68k-hp-bsd\n"); exit (0);
1164
#endif
1165
1166
#if defined (NeXT)
1167
#if !defined (__ARCHITECTURE__)
1168
#define __ARCHITECTURE__ "m68k"
1169
#endif
1170
  int version;
1171
  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1172
  if (version < 4)
1173
    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1174
  else
1175
    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1176
  exit (0);
1177
#endif
1178
1179
#if defined (MULTIMAX) || defined (n16)
1180
#if defined (UMAXV)
1181
  printf ("ns32k-encore-sysv\n"); exit (0);
1182
#else
1183
#if defined (CMU)
1184
  printf ("ns32k-encore-mach\n"); exit (0);
1185
#else
1186
  printf ("ns32k-encore-bsd\n"); exit (0);
1187
#endif
1188
#endif
1189
#endif
1190
1191
#if defined (__386BSD__)
1192
  printf ("i386-pc-bsd\n"); exit (0);
1193
#endif
1194
1195
#if defined (sequent)
1196
#if defined (i386)
1197
  printf ("i386-sequent-dynix\n"); exit (0);
1198
#endif
1199
#if defined (ns32000)
1200
  printf ("ns32k-sequent-dynix\n"); exit (0);
1201
#endif
1202
#endif
1203
1204
#if defined (_SEQUENT_)
1205
    struct utsname un;
1206
1207
    uname(&un);
1208
1209
    if (strncmp(un.version, "V2", 2) == 0) {
1210
  printf ("i386-sequent-ptx2\n"); exit (0);
1211
    }
1212
    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1213
  printf ("i386-sequent-ptx1\n"); exit (0);
1214
    }
1215
    printf ("i386-sequent-ptx\n"); exit (0);
1216
1217
#endif
1218
1219
#if defined (vax)
1220
# if !defined (ultrix)
1221
#  include <sys/param.h>
1222
#  if defined (BSD)
1223
#   if BSD == 43
1224
      printf ("vax-dec-bsd4.3\n"); exit (0);
1225
#   else
1226
#    if BSD == 199006
1227
      printf ("vax-dec-bsd4.3reno\n"); exit (0);
1228
#    else
1229
      printf ("vax-dec-bsd\n"); exit (0);
1230
#    endif
1231
#   endif
1232
#  else
1233
    printf ("vax-dec-bsd\n"); exit (0);
1234
#  endif
1235
# else
1236
    printf ("vax-dec-ultrix\n"); exit (0);
1237
# endif
1238
#endif
1239
1240
#if defined (alliant) && defined (i860)
1241
  printf ("i860-alliant-bsd\n"); exit (0);
1242
#endif
1243
1244
  exit (1);
1245
}
1246
EOF
1247
1248
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
1249
rm -f $dummy.c $dummy
1250
1251
# Apollos put the system type in the environment.
1252
1253
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1254
1255
# Convex versions that predate uname can use getsysinfo(1)
1256
1257
if [ -x /usr/convex/getsysinfo ]
1258
then
1259
    case `getsysinfo -f cpu_type` in
1260
    c1*)
1261
  echo c1-convex-bsd
1262
  exit 0 ;;
1263
    c2*)
1264
  if getsysinfo -f scalar_acc
1265
  then echo c32-convex-bsd
1266
  else echo c2-convex-bsd
1267
  fi
1268
  exit 0 ;;
1269
    c34*)
1270
  echo c34-convex-bsd
1271
  exit 0 ;;
1272
    c38*)
1273
  echo c38-convex-bsd
1274
  exit 0 ;;
1275
    c4*)
1276
  echo c4-convex-bsd
1277
  exit 0 ;;
1278
    esac
1279
fi
1280
1281
cat >&2 <<EOF
1282
$0: unable to guess system type
1283
1284
This script, last modified $timestamp, has failed to recognize
1285
the operating system you are using. It is advised that you
1286
download the most up to date version of the config scripts from
1287
1288
    ftp://ftp.gnu.org/pub/gnu/config/
1289
1290
If the version you run ($0) is already up to date, please
1291
send the following data and any information you think might be
1292
pertinent to <config-patches@gnu.org> in order to provide the needed
1293
information to handle your system.
1294
1295
config.guess timestamp = $timestamp
1296
1297
uname -m = `(uname -m) 2>/dev/null || echo unknown`
1298
uname -r = `(uname -r) 2>/dev/null || echo unknown`
1299
uname -s = `(uname -s) 2>/dev/null || echo unknown`
1300
uname -v = `(uname -v) 2>/dev/null || echo unknown`
1301
1302
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1303
/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1304
1305
hostinfo               = `(hostinfo) 2>/dev/null`
1306
/bin/universe          = `(/bin/universe) 2>/dev/null`
1307
/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1308
/bin/arch              = `(/bin/arch) 2>/dev/null`
1309
/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1310
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1311
1312
UNAME_MACHINE = ${UNAME_MACHINE}
1313
UNAME_RELEASE = ${UNAME_RELEASE}
1314
UNAME_SYSTEM  = ${UNAME_SYSTEM}
1315
UNAME_VERSION = ${UNAME_VERSION}
1316
EOF
1317
1318
exit 1
1319
1320
# Local variables:
1321
# eval: (add-hook 'write-file-hooks 'time-stamp)
1322
# time-stamp-start: "timestamp='"
1323
# time-stamp-format: "%:y-%02m-%02d"
1324
# time-stamp-end: "'"
1325
# End: