~ubuntu-branches/ubuntu/lucid/kkbswitch/lucid

« back to all changes in this revision

Viewing changes to admin/config.guess

  • Committer: Bazaar Package Importer
  • Author(s): Lior Kaplan
  • Date: 2005-09-07 02:01:14 UTC
  • Revision ID: james.westby@ubuntu.com-20050907020114-2wyo9eu21uihq86n
Tags: upstream-1.4.3
ImportĀ upstreamĀ versionĀ 1.4.3

Show diffs side-by-side

added added

removed removed

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