config.guess 39 KB

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