config.guess
上传用户:tjfeida
上传日期:2013-03-10
资源大小:1917k
文件大小:38k
源码类别:

Ftp客户端

开发平台:

Visual C++

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