config.guess
上传用户:ledjyj
上传日期:2014-08-27
资源大小:2639k
文件大小:43k
源码类别:

驱动编程

开发平台:

Unix_Linux

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