config.guess
上传用户:sorock1981
上传日期:2007-01-06
资源大小:73k
文件大小:16k
源码类别:

图片显示

开发平台:

Unix_Linux

  1. #! /bin/sh
  2. # Attempt to guess a canonical system name.
  3. #   Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
  4. #
  5. # This file is free software; you can redistribute it and/or modify it
  6. # under the terms of the GNU General Public License as published by
  7. # the Free Software Foundation; either version 2 of the License, or
  8. # (at your option) any later version.
  9. #
  10. # This program is distributed in the hope that it will be useful, but
  11. # WITHOUT ANY WARRANTY; without even the implied warranty of
  12. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13. # General Public License for more details.
  14. #
  15. # You should have received a copy of the GNU General Public License
  16. # along with this program; if not, write to the Free Software
  17. # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  18. #
  19. # As a special exception to the GNU General Public License, if you
  20. # distribute this file as part of a program that contains a
  21. # configuration script generated by Autoconf, you may include it under
  22. # the same distribution terms that you use for the rest of that program.
  23. # Written by Per Bothner <bothner@cygnus.com>.
  24. # The master version of this file is at the FSF in /home/gd/gnu/lib.
  25. #
  26. # This script attempts to guess a canonical system name similar to
  27. # config.sub.  If it succeeds, it prints the system name on stdout, and
  28. # exits with 0.  Otherwise, it exits with 1.
  29. #
  30. # The plan is that this can be called by configure scripts if you
  31. # don't specify an explicit system type (host/target name).
  32. #
  33. # Only a few systems have been added to this list; please add others
  34. # (but try to keep the structure clean).
  35. #
  36. # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
  37. # (ghazi@noc.rutgers.edu 8/24/94.)
  38. if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
  39. PATH=$PATH:/.attbin ; export PATH
  40. fi
  41. UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
  42. UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
  43. UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
  44. UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
  45. trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
  46. # Note: order is significant - the case branches are not exclusive.
  47. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
  48.     alpha:OSF1:V*:*)
  49. # After 1.2, OSF1 uses "V1.3" for uname -r.
  50. echo alpha-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^V//'`
  51. exit 0 ;;
  52.     alpha:OSF1:*:*)
  53. # 1.2 uses "1.2" for uname -r.
  54. echo alpha-dec-osf${UNAME_RELEASE}
  55.         exit 0 ;;
  56.     21064:Windows_NT:50:3)
  57. echo alpha-dec-winnt3.5
  58. exit 0 ;;
  59.     amiga:NetBSD:*:*)
  60.       echo m68k-cbm-netbsd${UNAME_RELEASE}
  61.       exit 0 ;;
  62.     amiga:OpenBSD:*:*)
  63.       echo m68k-cbm-openbsd${UNAME_RELEASE}
  64.       exit 0 ;;
  65.     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
  66. echo arm-acorn-riscix${UNAME_RELEASE}
  67. exit 0;;
  68.     Pyramid*:OSx*:*:*)
  69. if test "`(/bin/universe) 2>/dev/null`" = att ; then
  70. echo pyramid-pyramid-sysv3
  71. else
  72. echo pyramid-pyramid-bsd
  73. fi
  74. exit 0 ;;
  75.     sun4*:SunOS:5.*:*)
  76. echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  77. exit 0 ;;
  78.     i86pc:SunOS:5.*:*)
  79. echo i386-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  80. exit 0 ;;
  81.     sun4*:SunOS:6*:*)
  82. # According to config.sub, this is the proper way to canonicalize
  83. # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
  84. # it's likely to be more like Solaris than SunOS4.
  85. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  86. exit 0 ;;
  87.     sun4*:SunOS:*:*)
  88. case "`/usr/bin/arch -k`" in
  89.     Series*|S4*)
  90. UNAME_RELEASE=`uname -v`
  91. ;;
  92. esac
  93. # Japanese Language versions have a version number like `4.1.3-JL'.
  94. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
  95. exit 0 ;;
  96.     sun3*:SunOS:*:*)
  97. echo m68k-sun-sunos${UNAME_RELEASE}
  98. exit 0 ;;
  99.     atari*:NetBSD:*:*)
  100. echo m68k-atari-netbsd${UNAME_RELEASE}
  101. exit 0 ;;
  102.     atari*:OpenBSD:*:*)
  103. echo m68k-atari-openbsd${UNAME_RELEASE}
  104. exit 0 ;;
  105.     sun3*:NetBSD:*:*)
  106. echo m68k-sun-netbsd${UNAME_RELEASE}
  107. exit 0 ;;
  108.     sun3*:OpenBSD:*:*)
  109. echo m68k-sun-openbsd${UNAME_RELEASE}
  110. exit 0 ;;
  111.     mac68k:NetBSD:*:*)
  112. echo m68k-apple-netbsd${UNAME_RELEASE}
  113. exit 0 ;;
  114.     mac68k:OpenBSD:*:*)
  115. echo m68k-apple-openbsd${UNAME_RELEASE}
  116. exit 0 ;;
  117.     RISC*:ULTRIX:*:*)
  118. echo mips-dec-ultrix${UNAME_RELEASE}
  119. exit 0 ;;
  120.     VAX*:ULTRIX*:*:*)
  121. echo vax-dec-ultrix${UNAME_RELEASE}
  122. exit 0 ;;
  123.     mips:*:4*:UMIPS)
  124. echo mips-mips-riscos4sysv
  125. exit 0 ;;
  126.     mips:*:5*:RISCos)
  127. echo mips-mips-riscos${UNAME_RELEASE}
  128. exit 0 ;;
  129.     m88k:CX/UX:7*:*)
  130. echo m88k-harris-cxux7
  131. exit 0 ;;
  132.     m88k:*:4*:R4*)
  133. echo m88k-motorola-sysv4
  134. exit 0 ;;
  135.     m88k:*:3*:R3*)
  136. echo m88k-motorola-sysv3
  137. exit 0 ;;
  138.     AViiON:dgux:*:*)
  139. if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx 
  140.      -o ${TARGET_BINARY_INTERFACE}x = x ] ; then
  141. echo m88k-dg-dgux${UNAME_RELEASE}
  142. else
  143. echo m88k-dg-dguxbcs${UNAME_RELEASE}
  144. fi
  145.   exit 0 ;;
  146.     M88*:DolphinOS:*:*) # DolphinOS (SVR3)
  147. echo m88k-dolphin-sysv3
  148. exit 0 ;;
  149.     M88*:*:R3*:*)
  150. # Delta 88k system running SVR3
  151. echo m88k-motorola-sysv3
  152. exit 0 ;;
  153.     XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
  154. echo m88k-tektronix-sysv3
  155. exit 0 ;;
  156.     Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
  157. echo m68k-tektronix-bsd
  158. exit 0 ;;
  159.     *:IRIX*:*:*)
  160. echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
  161. exit 0 ;;
  162.    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
  163. echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
  164. exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
  165.     i[34]86:AIX:*:*)
  166. echo i386-ibm-aix
  167. exit 0 ;;
  168.     *:AIX:2:3)
  169. if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
  170. sed 's/^ //' << EOF >dummy.c
  171. #include <sys/systemcfg.h>
  172. main()
  173. {
  174. if (!__power_pc())
  175. exit(1);
  176. puts("powerpc-ibm-aix3.2.5");
  177. exit(0);
  178. }
  179. EOF
  180. ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
  181. rm -f dummy.c dummy
  182. echo rs6000-ibm-aix3.2.5
  183. elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
  184. echo rs6000-ibm-aix3.2.4
  185. else
  186. echo rs6000-ibm-aix3.2
  187. fi
  188. exit 0 ;;
  189.     *:AIX:*:4)
  190. if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
  191. IBM_ARCH=rs6000
  192. else
  193. IBM_ARCH=powerpc
  194. fi
  195. if [ -x /usr/bin/oslevel ] ; then
  196. IBM_REV=`/usr/bin/oslevel`
  197. else
  198. IBM_REV=4.${UNAME_RELEASE}
  199. fi
  200. echo ${IBM_ARCH}-ibm-aix${IBM_REV}
  201. exit 0 ;;
  202.     *:AIX:*:*)
  203. echo rs6000-ibm-aix
  204. exit 0 ;;
  205.     ibmrt:4.4BSD:*|romp-ibm:BSD:*)
  206. echo romp-ibm-bsd4.4
  207. exit 0 ;;
  208.     ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC NetBSD and
  209. echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to 
  210. exit 0 ;;                           # report: romp-ibm BSD 4.3
  211.     *:BOSX:*:*)
  212. echo rs6000-bull-bosx
  213. exit 0 ;;
  214.     DPX/2?00:B.O.S.:*:*)
  215. echo m68k-bull-sysv3
  216. exit 0 ;;
  217.     9000/[34]??:4.3bsd:1.*:*)
  218. echo m68k-hp-bsd
  219. exit 0 ;;
  220.     hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
  221. echo m68k-hp-bsd4.4
  222. exit 0 ;;
  223.     9000/[3478]??:HP-UX:*:*)
  224. case "${UNAME_MACHINE}" in
  225.     9000/31? )            HP_ARCH=m68000 ;;
  226.     9000/[34]?? )         HP_ARCH=m68k ;;
  227.     9000/7?? | 9000/8?[79] ) HP_ARCH=hppa1.1 ;;
  228.     9000/8?? )            HP_ARCH=hppa1.0 ;;
  229. esac
  230. HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
  231. echo ${HP_ARCH}-hp-hpux${HPUX_REV}
  232. exit 0 ;;
  233.     3050*:HI-UX:*:*)
  234. sed 's/^ //' << EOF >dummy.c
  235. #include <unistd.h>
  236. int
  237. main ()
  238. {
  239.   long cpu = sysconf (_SC_CPU_VERSION);
  240.   /* The order matters, because CPU_IS_HP_MC68K erroneously returns
  241.      true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
  242.      results, however.  */
  243.   if (CPU_IS_PA_RISC (cpu))
  244.     {
  245.       switch (cpu)
  246. {
  247.   case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
  248.   case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
  249.   case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
  250.   default: puts ("hppa-hitachi-hiuxwe2"); break;
  251. }
  252.     }
  253.   else if (CPU_IS_HP_MC68K (cpu))
  254.     puts ("m68k-hitachi-hiuxwe2");
  255.   else puts ("unknown-hitachi-hiuxwe2");
  256.   exit (0);
  257. }
  258. EOF
  259. ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
  260. rm -f dummy.c dummy
  261. echo unknown-hitachi-hiuxwe2
  262. exit 0 ;;
  263.     9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
  264. echo hppa1.1-hp-bsd
  265. exit 0 ;;
  266.     9000/8??:4.3bsd:*:*)
  267. echo hppa1.0-hp-bsd
  268. exit 0 ;;
  269.     hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
  270. echo hppa1.1-hp-osf
  271. exit 0 ;;
  272.     hp8??:OSF1:*:*)
  273. echo hppa1.0-hp-osf
  274. exit 0 ;;
  275.     parisc*:Lites*:*:*)
  276. echo hppa1.1-hp-lites
  277. exit 0 ;;
  278.     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
  279. echo c1-convex-bsd
  280.         exit 0 ;;
  281.     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
  282. if getsysinfo -f scalar_acc
  283. then echo c32-convex-bsd
  284. else echo c2-convex-bsd
  285. fi
  286.         exit 0 ;;
  287.     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
  288. echo c34-convex-bsd
  289.         exit 0 ;;
  290.     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
  291. echo c38-convex-bsd
  292.         exit 0 ;;
  293.     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
  294. echo c4-convex-bsd
  295.         exit 0 ;;
  296.     CRAY*X-MP:*:*:*)
  297. echo xmp-cray-unicos
  298.         exit 0 ;;
  299.     CRAY*Y-MP:*:*:*)
  300. echo ymp-cray-unicos${UNAME_RELEASE}
  301. exit 0 ;;
  302.     CRAY*C90:*:*:*)
  303. echo c90-cray-unicos${UNAME_RELEASE}
  304. exit 0 ;;
  305.     CRAY-2:*:*:*)
  306. echo cray2-cray-unicos
  307.         exit 0 ;;
  308.     hp3[0-9][05]:NetBSD:*:*)
  309. echo m68k-hp-netbsd${UNAME_RELEASE}
  310. exit 0 ;;
  311.     hp3[0-9][05]:OpenBSD:*:*)
  312. echo m68k-hp-openbsd${UNAME_RELEASE}
  313. exit 0 ;;
  314.     i[34]86:BSD/386:*:* | *:BSD/OS:*:*)
  315. echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
  316. exit 0 ;;
  317.     *:FreeBSD:*:*)
  318. echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
  319. exit 0 ;;
  320.     *:NetBSD:*:*)
  321. echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/./'`
  322. exit 0 ;;
  323.     *:OpenBSD:*:*)
  324. echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/./'`
  325. exit 0 ;;
  326.     *:GNU:*:*)
  327. echo `echo ${UNAME_MACHINE}|sed -e 's,/.*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
  328. exit 0 ;;
  329.     *:Linux:*:*)
  330. # The BFD linker knows what the default object file format is, so
  331. # first see if it will tell us.
  332. ld_help_string=`ld --help 2>&1`
  333. if echo $ld_help_string | grep >/dev/null 2>&1 "supported emulations: elf_i[345]86"; then
  334.   echo "${UNAME_MACHINE}-unknown-linux" ; exit 0
  335. elif echo $ld_help_string | grep >/dev/null 2>&1 "supported emulations: i[345]86linux"; then
  336.   echo "${UNAME_MACHINE}-unknown-linuxaout" ; exit 0
  337. elif echo $ld_help_string | grep >/dev/null 2>&1 "supported emulations: i[345]86coff"; then
  338.   echo "${UNAME_MACHINE}-unknown-linuxcoff" ; exit 0
  339. elif test "${UNAME_MACHINE}" = "alpha" ; then
  340.   echo alpha-unknown-linux ; exit 0
  341. else
  342.   # Either a pre-BFD a.out linker (linuxoldld) or one that does not give us
  343.   # useful --help.  Gcc wants to distinguish between linuxoldld and linuxaout.
  344.   test ! -d /usr/lib/ldscripts/. 
  345.     && echo "${UNAME_MACHINE}-unknown-linuxoldld" && exit 0
  346.   # Determine whether the default compiler is a.out or elf
  347.   cat >dummy.c <<EOF
  348. main(argc, argv)
  349. int argc;
  350. char *argv[];
  351. {
  352. #ifdef __ELF__
  353.   printf ("%s-unknown-linuxn", argv[1]);
  354. #else
  355.   printf ("%s-unknown-linuxaoutn", argv[1]);
  356. #endif
  357.   return 0;
  358. }
  359. EOF
  360.   ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
  361.   rm -f dummy.c dummy
  362. fi ;;
  363. # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.  earlier versions
  364. # are messed up and put the nodename in both sysname and nodename.
  365.     i[34]86:DYNIX/ptx:4*:*)
  366. echo i386-sequent-sysv4
  367. exit 0 ;;
  368.     i[34]86:*:4.*:* | i[34]86:SYSTEM_V:4.*:*)
  369. if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
  370. echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
  371. else
  372. echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}
  373. fi
  374. exit 0 ;;
  375.     i[34]86:*:3.2:*)
  376. if test -f /usr/options/cb.name; then
  377. UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
  378. echo ${UNAME_MACHINE}-unknown-isc$UNAME_REL
  379. elif /bin/uname -X 2>/dev/null >/dev/null ; then
  380. UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
  381. (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
  382. echo ${UNAME_MACHINE}-unknown-sco$UNAME_REL
  383. else
  384. echo ${UNAME_MACHINE}-unknown-sysv32
  385. fi
  386. exit 0 ;;
  387.     Intel:Mach:3*:*)
  388. echo i386-unknown-mach3
  389. exit 0 ;;
  390.     paragon:*:*:*)
  391. echo i860-intel-osf1
  392. exit 0 ;;
  393.     i860:*:4.*:*) # i860-SVR4
  394. if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
  395.   echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
  396. else # Add other i860-SVR4 vendors below as they are discovered.
  397.   echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
  398. fi
  399. exit 0 ;;
  400.     mini*:CTIX:SYS*5:*)
  401. # "miniframe"
  402. echo m68010-convergent-sysv
  403. exit 0 ;;
  404.     M680[234]0:*:R3V[567]*:*)
  405. test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
  406.     3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0)
  407.         uname -p 2>/dev/null | grep 86 >/dev/null 
  408.           && echo i486-ncr-sysv4.3 && exit 0 ;;
  409.     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
  410.         uname -p 2>/dev/null | grep 86 >/dev/null 
  411.           && echo i486-ncr-sysv4 && exit 0 ;;
  412.     m680[234]0:LynxOS:2.[23]*:*)
  413. echo m68k-lynx-lynxos${UNAME_RELEASE}
  414. exit 0 ;;
  415.     mc68030:UNIX_System_V:4.*:*)
  416. echo m68k-atari-sysv4
  417. exit 0 ;;
  418.     i[34]86:LynxOS:2.[2345]*:*|i[34]86:LynxOS:3.[01]*:*)
  419. echo i386-lynx-lynxos${UNAME_RELEASE}
  420. exit 0 ;;
  421.     TSUNAMI:LynxOS:2.[23]*:*)
  422. echo sparc-lynx-lynxos${UNAME_RELEASE}
  423. exit 0 ;;
  424.     rs6000:LynxOS:2.[23]*:*)
  425. echo rs6000-lynx-lynxos${UNAME_RELEASE}
  426. exit 0 ;;
  427.     RM*:SINIX-*:*:*)
  428. echo mips-sni-sysv4
  429. exit 0 ;;
  430.     *:SINIX-*:*:*)
  431. if uname -p 2>/dev/null >/dev/null ; then
  432. UNAME_MACHINE=`(uname -p) 2>/dev/null`
  433. echo ${UNAME_MACHINE}-sni-sysv4
  434. else
  435. echo ns32k-sni-sysv
  436. fi
  437. exit 0 ;;
  438.     *:Rhapsody:*:*)
  439. echo `arch`-apple-rhapsody${UNAME_RELEASE}
  440. exit 0 ;;
  441. esac
  442. #echo '(No uname command or uname output not recognized.)' 1>&2
  443. #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
  444. cat >dummy.c <<EOF
  445. #ifdef _SEQUENT_
  446. # include <sys/types.h>
  447. # include <sys/utsname.h>
  448. #endif
  449. main ()
  450. {
  451. #if defined (sony)
  452. #if defined (MIPSEB)
  453.   /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
  454.      I don't know....  */
  455.   printf ("mips-sony-bsdn"); exit (0);
  456. #else
  457. #include <sys/param.h>
  458.   printf ("m68k-sony-newsos%sn",
  459. #ifdef NEWSOS4
  460.           "4"
  461. #else
  462.   ""
  463. #endif
  464.          ); exit (0);
  465. #endif
  466. #endif
  467. #if defined (__arm) && defined (__acorn) && defined (__unix)
  468.   printf ("arm-acorn-riscix"); exit (0);
  469. #endif
  470. #if defined (hp300) && !defined (hpux)
  471.   printf ("m68k-hp-bsdn"); exit (0);
  472. #endif
  473. #if defined (NeXT)
  474. #if !defined (__ARCHITECTURE__)
  475. #define __ARCHITECTURE__ "m68k"
  476. #endif
  477.   int version;
  478.   version=`(hostinfo | sed -n 's/.*NeXT Mach ([0-9]*).*/1/p') 2>/dev/null`;
  479.   printf ("%s-next-nextstep%sn", __ARCHITECTURE__,  version==2 ? "2" : "3");
  480.   exit (0);
  481. #endif
  482. #if defined (MULTIMAX) || defined (n16)
  483. #if defined (UMAXV)
  484.   printf ("ns32k-encore-sysvn"); exit (0);
  485. #else
  486. #if defined (CMU)
  487.   printf ("ns32k-encore-machn"); exit (0);
  488. #else
  489.   printf ("ns32k-encore-bsdn"); exit (0);
  490. #endif
  491. #endif
  492. #endif
  493. #if defined (__386BSD__)
  494.   printf ("i386-unknown-bsdn"); exit (0);
  495. #endif
  496. #if defined (sequent)
  497. #if defined (i386)
  498.   printf ("i386-sequent-dynixn"); exit (0);
  499. #endif
  500. #if defined (ns32000)
  501.   printf ("ns32k-sequent-dynixn"); exit (0);
  502. #endif
  503. #endif
  504. #if defined (_SEQUENT_)
  505.     struct utsname un;
  506.     uname(&un);
  507.     if (strncmp(un.version, "V2", 2) == 0) {
  508. printf ("i386-sequent-ptx2n"); exit (0);
  509.     }
  510.     if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
  511. printf ("i386-sequent-ptx1n"); exit (0);
  512.     }
  513.     printf ("i386-sequent-ptxn"); exit (0);
  514. #endif
  515. #if defined (vax)
  516. #if !defined (ultrix)
  517.   printf ("vax-dec-bsdn"); exit (0);
  518. #else
  519.   printf ("vax-dec-ultrixn"); exit (0);
  520. #endif
  521. #endif
  522. #if defined (alliant) && defined (i860)
  523.   printf ("i860-alliant-bsdn"); exit (0);
  524. #endif
  525.   exit (1);
  526. }
  527. EOF
  528. ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
  529. rm -f dummy.c dummy
  530. # Apollos put the system type in the environment.
  531. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
  532. # Convex versions that predate uname can use getsysinfo(1)
  533. if [ -x /usr/convex/getsysinfo ]
  534. then
  535.     case `getsysinfo -f cpu_type` in
  536.     c1*)
  537. echo c1-convex-bsd
  538. exit 0 ;;
  539.     c2*)
  540. if getsysinfo -f scalar_acc
  541. then echo c32-convex-bsd
  542. else echo c2-convex-bsd
  543. fi
  544. exit 0 ;;
  545.     c34*)
  546. echo c34-convex-bsd
  547. exit 0 ;;
  548.     c38*)
  549. echo c38-convex-bsd
  550. exit 0 ;;
  551.     c4*)
  552. echo c4-convex-bsd
  553. exit 0 ;;
  554.     esac
  555. fi
  556. #echo '(Unable to guess system type)' 1>&2
  557. exit 1