Artifact 4c3407dabe7f11a360639c4d6ac962549f66c905:


0000: 23 21 20 2f 62 69 6e 2f 73 68 0a 23 20 41 74 74  #! /bin/sh.# Att
0010: 65 6d 70 74 20 74 6f 20 67 75 65 73 73 20 61 20  empt to guess a 
0020: 63 61 6e 6f 6e 69 63 61 6c 20 73 79 73 74 65 6d  canonical system
0030: 20 6e 61 6d 65 2e 0a 23 20 20 20 43 6f 70 79 72   name..#   Copyr
0040: 69 67 68 74 20 28 43 29 20 31 39 39 32 2c 20 31  ight (C) 1992, 1
0050: 39 39 33 2c 20 31 39 39 34 2c 20 31 39 39 35 2c  993, 1994, 1995,
0060: 20 31 39 39 36 2c 20 31 39 39 37 2c 20 31 39 39   1996, 1997, 199
0070: 38 2c 20 31 39 39 39 2c 0a 23 20 20 20 32 30 30  8, 1999,.#   200
0080: 30 2c 20 32 30 30 31 2c 20 32 30 30 32 2c 20 32  0, 2001, 2002, 2
0090: 30 30 33 20 46 72 65 65 20 53 6f 66 74 77 61 72  003 Free Softwar
00a0: 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e  e Foundation, In
00b0: 63 2e 0a 0a 74 69 6d 65 73 74 61 6d 70 3d 27 32  c...timestamp='2
00c0: 30 30 34 2d 30 33 2d 30 33 27 0a 0a 23 20 54 68  004-03-03'..# Th
00d0: 69 73 20 66 69 6c 65 20 69 73 20 66 72 65 65 20  is file is free 
00e0: 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61  software; you ca
00f0: 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69  n redistribute i
0100: 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20  t and/or modify 
0110: 69 74 0a 23 20 75 6e 64 65 72 20 74 68 65 20 74  it.# under the t
0120: 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20  erms of the GNU 
0130: 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c  General Public L
0140: 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73  icense as publis
0150: 68 65 64 20 62 79 0a 23 20 74 68 65 20 46 72 65  hed by.# the Fre
0160: 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64  e Software Found
0170: 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65  ation; either ve
0180: 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c  rsion 2 of the L
0190: 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 28 61 74  icense, or.# (at
01a0: 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e   your option) an
01b0: 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e  y later version.
01c0: 0a 23 0a 23 20 54 68 69 73 20 70 72 6f 67 72 61  .#.# This progra
01d0: 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64  m is distributed
01e0: 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61   in the hope tha
01f0: 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65  t it will be use
0200: 66 75 6c 2c 20 62 75 74 0a 23 20 57 49 54 48 4f  ful, but.# WITHO
0210: 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b  UT ANY WARRANTY;
0220: 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68   without even th
0230: 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e  e implied warran
0240: 74 79 20 6f 66 0a 23 20 4d 45 52 43 48 41 4e 54  ty of.# MERCHANT
0250: 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45  ABILITY or FITNE
0260: 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55  SS FOR A PARTICU
0270: 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65  LAR PURPOSE.  Se
0280: 65 20 74 68 65 20 47 4e 55 0a 23 20 47 65 6e 65  e the GNU.# Gene
0290: 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e  ral Public Licen
02a0: 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61  se for more deta
02b0: 69 6c 73 2e 0a 23 0a 23 20 59 6f 75 20 73 68 6f  ils..#.# You sho
02c0: 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65  uld have receive
02d0: 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20  d a copy of the 
02e0: 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c  GNU General Publ
02f0: 69 63 20 4c 69 63 65 6e 73 65 0a 23 20 61 6c 6f  ic License.# alo
0300: 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f  ng with this pro
0310: 67 72 61 6d 3b 20 69 66 20 6e 6f 74 2c 20 77 72  gram; if not, wr
0320: 69 74 65 20 74 6f 20 74 68 65 20 46 72 65 65 20  ite to the Free 
0330: 53 6f 66 74 77 61 72 65 0a 23 20 46 6f 75 6e 64  Software.# Found
0340: 61 74 69 6f 6e 2c 20 49 6e 63 2e 2c 20 35 39 20  ation, Inc., 59 
0350: 54 65 6d 70 6c 65 20 50 6c 61 63 65 20 2d 20 53  Temple Place - S
0360: 75 69 74 65 20 33 33 30 2c 20 42 6f 73 74 6f 6e  uite 330, Boston
0370: 2c 20 4d 41 20 30 32 31 31 31 2d 31 33 30 37 2c  , MA 02111-1307,
0380: 20 55 53 41 2e 0a 23 0a 23 20 41 73 20 61 20 73   USA..#.# As a s
0390: 70 65 63 69 61 6c 20 65 78 63 65 70 74 69 6f 6e  pecial exception
03a0: 20 74 6f 20 74 68 65 20 47 4e 55 20 47 65 6e 65   to the GNU Gene
03b0: 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e  ral Public Licen
03c0: 73 65 2c 20 69 66 20 79 6f 75 0a 23 20 64 69 73  se, if you.# dis
03d0: 74 72 69 62 75 74 65 20 74 68 69 73 20 66 69 6c  tribute this fil
03e0: 65 20 61 73 20 70 61 72 74 20 6f 66 20 61 20 70  e as part of a p
03f0: 72 6f 67 72 61 6d 20 74 68 61 74 20 63 6f 6e 74  rogram that cont
0400: 61 69 6e 73 20 61 0a 23 20 63 6f 6e 66 69 67 75  ains a.# configu
0410: 72 61 74 69 6f 6e 20 73 63 72 69 70 74 20 67 65  ration script ge
0420: 6e 65 72 61 74 65 64 20 62 79 20 41 75 74 6f 63  nerated by Autoc
0430: 6f 6e 66 2c 20 79 6f 75 20 6d 61 79 20 69 6e 63  onf, you may inc
0440: 6c 75 64 65 20 69 74 20 75 6e 64 65 72 0a 23 20  lude it under.# 
0450: 74 68 65 20 73 61 6d 65 20 64 69 73 74 72 69 62  the same distrib
0460: 75 74 69 6f 6e 20 74 65 72 6d 73 20 74 68 61 74  ution terms that
0470: 20 79 6f 75 20 75 73 65 20 66 6f 72 20 74 68 65   you use for the
0480: 20 72 65 73 74 20 6f 66 20 74 68 61 74 20 70 72   rest of that pr
0490: 6f 67 72 61 6d 2e 0a 0a 23 20 4f 72 69 67 69 6e  ogram...# Origin
04a0: 61 6c 6c 79 20 77 72 69 74 74 65 6e 20 62 79 20  ally written by 
04b0: 50 65 72 20 42 6f 74 68 6e 65 72 20 3c 70 65 72  Per Bothner <per
04c0: 40 62 6f 74 68 6e 65 72 2e 63 6f 6d 3e 2e 0a 23  @bothner.com>..#
04d0: 20 50 6c 65 61 73 65 20 73 65 6e 64 20 70 61 74   Please send pat
04e0: 63 68 65 73 20 74 6f 20 3c 63 6f 6e 66 69 67 2d  ches to <config-
04f0: 70 61 74 63 68 65 73 40 67 6e 75 2e 6f 72 67 3e  patches@gnu.org>
0500: 2e 20 20 53 75 62 6d 69 74 20 61 20 63 6f 6e 74  .  Submit a cont
0510: 65 78 74 0a 23 20 64 69 66 66 20 61 6e 64 20 61  ext.# diff and a
0520: 20 70 72 6f 70 65 72 6c 79 20 66 6f 72 6d 61 74   properly format
0530: 74 65 64 20 43 68 61 6e 67 65 4c 6f 67 20 65 6e  ted ChangeLog en
0540: 74 72 79 2e 0a 23 0a 23 20 54 68 69 73 20 73 63  try..#.# This sc
0550: 72 69 70 74 20 61 74 74 65 6d 70 74 73 20 74 6f  ript attempts to
0560: 20 67 75 65 73 73 20 61 20 63 61 6e 6f 6e 69 63   guess a canonic
0570: 61 6c 20 73 79 73 74 65 6d 20 6e 61 6d 65 20 73  al system name s
0580: 69 6d 69 6c 61 72 20 74 6f 0a 23 20 63 6f 6e 66  imilar to.# conf
0590: 69 67 2e 73 75 62 2e 20 20 49 66 20 69 74 20 73  ig.sub.  If it s
05a0: 75 63 63 65 65 64 73 2c 20 69 74 20 70 72 69 6e  ucceeds, it prin
05b0: 74 73 20 74 68 65 20 73 79 73 74 65 6d 20 6e 61  ts the system na
05c0: 6d 65 20 6f 6e 20 73 74 64 6f 75 74 2c 20 61 6e  me on stdout, an
05d0: 64 0a 23 20 65 78 69 74 73 20 77 69 74 68 20 30  d.# exits with 0
05e0: 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 69 74  .  Otherwise, it
05f0: 20 65 78 69 74 73 20 77 69 74 68 20 31 2e 0a 23   exits with 1..#
0600: 0a 23 20 54 68 65 20 70 6c 61 6e 20 69 73 20 74  .# The plan is t
0610: 68 61 74 20 74 68 69 73 20 63 61 6e 20 62 65 20  hat this can be 
0620: 63 61 6c 6c 65 64 20 62 79 20 63 6f 6e 66 69 67  called by config
0630: 75 72 65 20 73 63 72 69 70 74 73 20 69 66 20 79  ure scripts if y
0640: 6f 75 0a 23 20 64 6f 6e 27 74 20 73 70 65 63 69  ou.# don't speci
0650: 66 79 20 61 6e 20 65 78 70 6c 69 63 69 74 20 62  fy an explicit b
0660: 75 69 6c 64 20 73 79 73 74 65 6d 20 74 79 70 65  uild system type
0670: 2e 0a 0a 6d 65 3d 60 65 63 68 6f 20 22 24 30 22  ...me=`echo "$0"
0680: 20 7c 20 73 65 64 20 2d 65 20 27 73 2c 2e 2a 2f   | sed -e 's,.*/
0690: 2c 2c 27 60 0a 0a 75 73 61 67 65 3d 22 5c 0a 55  ,,'`..usage="\.U
06a0: 73 61 67 65 3a 20 24 30 20 5b 4f 50 54 49 4f 4e  sage: $0 [OPTION
06b0: 5d 0a 0a 4f 75 74 70 75 74 20 74 68 65 20 63 6f  ]..Output the co
06c0: 6e 66 69 67 75 72 61 74 69 6f 6e 20 6e 61 6d 65  nfiguration name
06d0: 20 6f 66 20 74 68 65 20 73 79 73 74 65 6d 20 5c   of the system \
06e0: 60 24 6d 65 27 20 69 73 20 72 75 6e 20 6f 6e 2e  `$me' is run on.
06f0: 0a 0a 4f 70 65 72 61 74 69 6f 6e 20 6d 6f 64 65  ..Operation mode
0700: 73 3a 0a 20 20 2d 68 2c 20 2d 2d 68 65 6c 70 20  s:.  -h, --help 
0710: 20 20 20 20 20 20 20 20 70 72 69 6e 74 20 74 68          print th
0720: 69 73 20 68 65 6c 70 2c 20 74 68 65 6e 20 65 78  is help, then ex
0730: 69 74 0a 20 20 2d 74 2c 20 2d 2d 74 69 6d 65 2d  it.  -t, --time-
0740: 73 74 61 6d 70 20 20 20 70 72 69 6e 74 20 64 61  stamp   print da
0750: 74 65 20 6f 66 20 6c 61 73 74 20 6d 6f 64 69 66  te of last modif
0760: 69 63 61 74 69 6f 6e 2c 20 74 68 65 6e 20 65 78  ication, then ex
0770: 69 74 0a 20 20 2d 76 2c 20 2d 2d 76 65 72 73 69  it.  -v, --versi
0780: 6f 6e 20 20 20 20 20 20 70 72 69 6e 74 20 76 65  on      print ve
0790: 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2c 20 74 68  rsion number, th
07a0: 65 6e 20 65 78 69 74 0a 0a 52 65 70 6f 72 74 20  en exit..Report 
07b0: 62 75 67 73 20 61 6e 64 20 70 61 74 63 68 65 73  bugs and patches
07c0: 20 74 6f 20 3c 63 6f 6e 66 69 67 2d 70 61 74 63   to <config-patc
07d0: 68 65 73 40 67 6e 75 2e 6f 72 67 3e 2e 22 0a 0a  hes@gnu.org>."..
07e0: 76 65 72 73 69 6f 6e 3d 22 5c 0a 47 4e 55 20 63  version="\.GNU c
07f0: 6f 6e 66 69 67 2e 67 75 65 73 73 20 28 24 74 69  onfig.guess ($ti
0800: 6d 65 73 74 61 6d 70 29 0a 0a 4f 72 69 67 69 6e  mestamp)..Origin
0810: 61 6c 6c 79 20 77 72 69 74 74 65 6e 20 62 79 20  ally written by 
0820: 50 65 72 20 42 6f 74 68 6e 65 72 2e 0a 43 6f 70  Per Bothner..Cop
0830: 79 72 69 67 68 74 20 28 43 29 20 31 39 39 32 2c  yright (C) 1992,
0840: 20 31 39 39 33 2c 20 31 39 39 34 2c 20 31 39 39   1993, 1994, 199
0850: 35 2c 20 31 39 39 36 2c 20 31 39 39 37 2c 20 31  5, 1996, 1997, 1
0860: 39 39 38 2c 20 31 39 39 39 2c 20 32 30 30 30 2c  998, 1999, 2000,
0870: 20 32 30 30 31 0a 46 72 65 65 20 53 6f 66 74 77   2001.Free Softw
0880: 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20  are Foundation, 
0890: 49 6e 63 2e 0a 0a 54 68 69 73 20 69 73 20 66 72  Inc...This is fr
08a0: 65 65 20 73 6f 66 74 77 61 72 65 3b 20 73 65 65  ee software; see
08b0: 20 74 68 65 20 73 6f 75 72 63 65 20 66 6f 72 20   the source for 
08c0: 63 6f 70 79 69 6e 67 20 63 6f 6e 64 69 74 69 6f  copying conditio
08d0: 6e 73 2e 20 20 54 68 65 72 65 20 69 73 20 4e 4f  ns.  There is NO
08e0: 0a 77 61 72 72 61 6e 74 79 3b 20 6e 6f 74 20 65  .warranty; not e
08f0: 76 65 6e 20 66 6f 72 20 4d 45 52 43 48 41 4e 54  ven for MERCHANT
0900: 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45  ABILITY or FITNE
0910: 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55  SS FOR A PARTICU
0920: 4c 41 52 20 50 55 52 50 4f 53 45 2e 22 0a 0a 68  LAR PURPOSE."..h
0930: 65 6c 70 3d 22 0a 54 72 79 20 5c 60 24 6d 65 20  elp=".Try \`$me 
0940: 2d 2d 68 65 6c 70 27 20 66 6f 72 20 6d 6f 72 65  --help' for more
0950: 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 22 0a 0a   information."..
0960: 23 20 50 61 72 73 65 20 63 6f 6d 6d 61 6e 64 20  # Parse command 
0970: 6c 69 6e 65 0a 77 68 69 6c 65 20 74 65 73 74 20  line.while test 
0980: 24 23 20 2d 67 74 20 30 20 3b 20 64 6f 0a 20 20  $# -gt 0 ; do.  
0990: 63 61 73 65 20 24 31 20 69 6e 0a 20 20 20 20 2d  case $1 in.    -
09a0: 2d 74 69 6d 65 2d 73 74 61 6d 70 20 7c 20 2d 2d  -time-stamp | --
09b0: 74 69 6d 65 2a 20 7c 20 2d 74 20 29 0a 20 20 20  time* | -t ).   
09c0: 20 20 20 20 65 63 68 6f 20 22 24 74 69 6d 65 73      echo "$times
09d0: 74 61 6d 70 22 20 3b 20 65 78 69 74 20 30 20 3b  tamp" ; exit 0 ;
09e0: 3b 0a 20 20 20 20 2d 2d 76 65 72 73 69 6f 6e 20  ;.    --version 
09f0: 7c 20 2d 76 20 29 0a 20 20 20 20 20 20 20 65 63  | -v ).       ec
0a00: 68 6f 20 22 24 76 65 72 73 69 6f 6e 22 20 3b 20  ho "$version" ; 
0a10: 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 2d 2d  exit 0 ;;.    --
0a20: 68 65 6c 70 20 7c 20 2d 2d 68 2a 20 7c 20 2d 68  help | --h* | -h
0a30: 20 29 0a 20 20 20 20 20 20 20 65 63 68 6f 20 22   ).       echo "
0a40: 24 75 73 61 67 65 22 3b 20 65 78 69 74 20 30 20  $usage"; exit 0 
0a50: 3b 3b 0a 20 20 20 20 2d 2d 20 29 20 20 20 20 20  ;;.    -- )     
0a60: 23 20 53 74 6f 70 20 6f 70 74 69 6f 6e 20 70 72  # Stop option pr
0a70: 6f 63 65 73 73 69 6e 67 0a 20 20 20 20 20 20 20  ocessing.       
0a80: 73 68 69 66 74 3b 20 62 72 65 61 6b 20 3b 3b 0a  shift; break ;;.
0a90: 20 20 20 20 2d 20 29 09 23 20 55 73 65 20 73 74      - ).# Use st
0aa0: 64 69 6e 20 61 73 20 69 6e 70 75 74 2e 0a 20 20  din as input..  
0ab0: 20 20 20 20 20 62 72 65 61 6b 20 3b 3b 0a 20 20       break ;;.  
0ac0: 20 20 2d 2a 20 29 0a 20 20 20 20 20 20 20 65 63    -* ).       ec
0ad0: 68 6f 20 22 24 6d 65 3a 20 69 6e 76 61 6c 69 64  ho "$me: invalid
0ae0: 20 6f 70 74 69 6f 6e 20 24 31 24 68 65 6c 70 22   option $1$help"
0af0: 20 3e 26 32 0a 20 20 20 20 20 20 20 65 78 69 74   >&2.       exit
0b00: 20 31 20 3b 3b 0a 20 20 20 20 2a 20 29 0a 20 20   1 ;;.    * ).  
0b10: 20 20 20 20 20 62 72 65 61 6b 20 3b 3b 0a 20 20       break ;;.  
0b20: 65 73 61 63 0a 64 6f 6e 65 0a 0a 69 66 20 74 65  esac.done..if te
0b30: 73 74 20 24 23 20 21 3d 20 30 3b 20 74 68 65 6e  st $# != 0; then
0b40: 0a 20 20 65 63 68 6f 20 22 24 6d 65 3a 20 74 6f  .  echo "$me: to
0b50: 6f 20 6d 61 6e 79 20 61 72 67 75 6d 65 6e 74 73  o many arguments
0b60: 24 68 65 6c 70 22 20 3e 26 32 0a 20 20 65 78 69  $help" >&2.  exi
0b70: 74 20 31 0a 66 69 0a 0a 74 72 61 70 20 27 65 78  t 1.fi..trap 'ex
0b80: 69 74 20 31 27 20 31 20 32 20 31 35 0a 0a 23 20  it 1' 1 2 15..# 
0b90: 43 43 5f 46 4f 52 5f 42 55 49 4c 44 20 2d 2d 20  CC_FOR_BUILD -- 
0ba0: 63 6f 6d 70 69 6c 65 72 20 75 73 65 64 20 62 79  compiler used by
0bb0: 20 74 68 69 73 20 73 63 72 69 70 74 2e 20 4e 6f   this script. No
0bc0: 74 65 20 74 68 61 74 20 74 68 65 20 75 73 65 20  te that the use 
0bd0: 6f 66 20 61 0a 23 20 63 6f 6d 70 69 6c 65 72 20  of a.# compiler 
0be0: 74 6f 20 61 69 64 20 69 6e 20 73 79 73 74 65 6d  to aid in system
0bf0: 20 64 65 74 65 63 74 69 6f 6e 20 69 73 20 64 69   detection is di
0c00: 73 63 6f 75 72 61 67 65 64 20 61 73 20 69 74 20  scouraged as it 
0c10: 72 65 71 75 69 72 65 73 0a 23 20 74 65 6d 70 6f  requires.# tempo
0c20: 72 61 72 79 20 66 69 6c 65 73 20 74 6f 20 62 65  rary files to be
0c30: 20 63 72 65 61 74 65 64 20 61 6e 64 2c 20 61 73   created and, as
0c40: 20 79 6f 75 20 63 61 6e 20 73 65 65 20 62 65 6c   you can see bel
0c50: 6f 77 2c 20 69 74 20 69 73 20 61 0a 23 20 68 65  ow, it is a.# he
0c60: 61 64 61 63 68 65 20 74 6f 20 64 65 61 6c 20 77  adache to deal w
0c70: 69 74 68 20 69 6e 20 61 20 70 6f 72 74 61 62 6c  ith in a portabl
0c80: 65 20 66 61 73 68 69 6f 6e 2e 0a 0a 23 20 48 69  e fashion...# Hi
0c90: 73 74 6f 72 69 63 61 6c 6c 79 2c 20 60 43 43 5f  storically, `CC_
0ca0: 46 4f 52 5f 42 55 49 4c 44 27 20 75 73 65 64 20  FOR_BUILD' used 
0cb0: 74 6f 20 62 65 20 6e 61 6d 65 64 20 60 48 4f 53  to be named `HOS
0cc0: 54 5f 43 43 27 2e 20 57 65 20 73 74 69 6c 6c 0a  T_CC'. We still.
0cd0: 23 20 75 73 65 20 60 48 4f 53 54 5f 43 43 27 20  # use `HOST_CC' 
0ce0: 69 66 20 64 65 66 69 6e 65 64 2c 20 62 75 74 20  if defined, but 
0cf0: 69 74 20 69 73 20 64 65 70 72 65 63 61 74 65 64  it is deprecated
0d00: 2e 0a 0a 23 20 50 6f 72 74 61 62 6c 65 20 74 6d  ...# Portable tm
0d10: 70 20 64 69 72 65 63 74 6f 72 79 20 63 72 65 61  p directory crea
0d20: 74 69 6f 6e 20 69 6e 73 70 69 72 65 64 20 62 79  tion inspired by
0d30: 20 74 68 65 20 41 75 74 6f 63 6f 6e 66 20 74 65   the Autoconf te
0d40: 61 6d 2e 0a 0a 73 65 74 5f 63 63 5f 66 6f 72 5f  am...set_cc_for_
0d50: 62 75 69 6c 64 3d 27 0a 74 72 61 70 20 22 65 78  build='.trap "ex
0d60: 69 74 63 6f 64 65 3d 5c 24 3f 3b 20 28 72 6d 20  itcode=\$?; (rm 
0d70: 2d 66 20 5c 24 74 6d 70 66 69 6c 65 73 20 32 3e  -f \$tmpfiles 2>
0d80: 2f 64 65 76 2f 6e 75 6c 6c 3b 20 72 6d 64 69 72  /dev/null; rmdir
0d90: 20 5c 24 74 6d 70 20 32 3e 2f 64 65 76 2f 6e 75   \$tmp 2>/dev/nu
0da0: 6c 6c 29 20 26 26 20 65 78 69 74 20 5c 24 65 78  ll) && exit \$ex
0db0: 69 74 63 6f 64 65 22 20 30 20 3b 0a 74 72 61 70  itcode" 0 ;.trap
0dc0: 20 22 72 6d 20 2d 66 20 5c 24 74 6d 70 66 69 6c   "rm -f \$tmpfil
0dd0: 65 73 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 3b 20  es 2>/dev/null; 
0de0: 72 6d 64 69 72 20 5c 24 74 6d 70 20 32 3e 2f 64  rmdir \$tmp 2>/d
0df0: 65 76 2f 6e 75 6c 6c 3b 20 65 78 69 74 20 31 22  ev/null; exit 1"
0e00: 20 31 20 32 20 31 33 20 31 35 20 3b 0a 3a 20 24   1 2 13 15 ;.: $
0e10: 7b 54 4d 50 44 49 52 3d 2f 74 6d 70 7d 20 3b 0a  {TMPDIR=/tmp} ;.
0e20: 20 7b 20 74 6d 70 3d 60 28 75 6d 61 73 6b 20 30   { tmp=`(umask 0
0e30: 37 37 20 26 26 20 6d 6b 74 65 6d 70 20 2d 64 20  77 && mktemp -d 
0e40: 2d 71 20 22 24 54 4d 50 44 49 52 2f 63 67 58 58  -q "$TMPDIR/cgXX
0e50: 58 58 58 58 22 29 20 32 3e 2f 64 65 76 2f 6e 75  XXXX") 2>/dev/nu
0e60: 6c 6c 60 20 26 26 20 74 65 73 74 20 2d 6e 20 22  ll` && test -n "
0e70: 24 74 6d 70 22 20 26 26 20 74 65 73 74 20 2d 64  $tmp" && test -d
0e80: 20 22 24 74 6d 70 22 20 3b 20 7d 20 7c 7c 0a 20   "$tmp" ; } ||. 
0e90: 7b 20 74 65 73 74 20 2d 6e 20 22 24 52 41 4e 44  { test -n "$RAND
0ea0: 4f 4d 22 20 26 26 20 74 6d 70 3d 24 54 4d 50 44  OM" && tmp=$TMPD
0eb0: 49 52 2f 63 67 24 24 2d 24 52 41 4e 44 4f 4d 20  IR/cg$$-$RANDOM 
0ec0: 26 26 20 28 75 6d 61 73 6b 20 30 37 37 20 26 26  && (umask 077 &&
0ed0: 20 6d 6b 64 69 72 20 24 74 6d 70 29 20 3b 20 7d   mkdir $tmp) ; }
0ee0: 20 7c 7c 0a 20 7b 20 74 6d 70 3d 24 54 4d 50 44   ||. { tmp=$TMPD
0ef0: 49 52 2f 63 67 2d 24 24 20 26 26 20 28 75 6d 61  IR/cg-$$ && (uma
0f00: 73 6b 20 30 37 37 20 26 26 20 6d 6b 64 69 72 20  sk 077 && mkdir 
0f10: 24 74 6d 70 29 20 26 26 20 65 63 68 6f 20 22 57  $tmp) && echo "W
0f20: 61 72 6e 69 6e 67 3a 20 63 72 65 61 74 69 6e 67  arning: creating
0f30: 20 69 6e 73 65 63 75 72 65 20 74 65 6d 70 20 64   insecure temp d
0f40: 69 72 65 63 74 6f 72 79 22 20 3e 26 32 20 3b 20  irectory" >&2 ; 
0f50: 7d 20 7c 7c 0a 20 7b 20 65 63 68 6f 20 22 24 6d  } ||. { echo "$m
0f60: 65 3a 20 63 61 6e 6e 6f 74 20 63 72 65 61 74 65  e: cannot create
0f70: 20 61 20 74 65 6d 70 6f 72 61 72 79 20 64 69 72   a temporary dir
0f80: 65 63 74 6f 72 79 20 69 6e 20 24 54 4d 50 44 49  ectory in $TMPDI
0f90: 52 22 20 3e 26 32 20 3b 20 65 78 69 74 20 31 20  R" >&2 ; exit 1 
0fa0: 3b 20 7d 20 3b 0a 64 75 6d 6d 79 3d 24 74 6d 70  ; } ;.dummy=$tmp
0fb0: 2f 64 75 6d 6d 79 20 3b 0a 74 6d 70 66 69 6c 65  /dummy ;.tmpfile
0fc0: 73 3d 22 24 64 75 6d 6d 79 2e 63 20 24 64 75 6d  s="$dummy.c $dum
0fd0: 6d 79 2e 6f 20 24 64 75 6d 6d 79 2e 72 65 6c 20  my.o $dummy.rel 
0fe0: 24 64 75 6d 6d 79 22 20 3b 0a 63 61 73 65 20 24  $dummy" ;.case $
0ff0: 43 43 5f 46 4f 52 5f 42 55 49 4c 44 2c 24 48 4f  CC_FOR_BUILD,$HO
1000: 53 54 5f 43 43 2c 24 43 43 20 69 6e 0a 20 2c 2c  ST_CC,$CC in. ,,
1010: 29 20 20 20 20 65 63 68 6f 20 22 69 6e 74 20 78  )    echo "int x
1020: 3b 22 20 3e 20 24 64 75 6d 6d 79 2e 63 20 3b 0a  ;" > $dummy.c ;.
1030: 09 66 6f 72 20 63 20 69 6e 20 63 63 20 67 63 63  .for c in cc gcc
1040: 20 63 38 39 20 63 39 39 20 3b 20 64 6f 0a 09 20   c89 c99 ; do.. 
1050: 20 69 66 20 28 24 63 20 2d 63 20 2d 6f 20 24 64   if ($c -c -o $d
1060: 75 6d 6d 79 2e 6f 20 24 64 75 6d 6d 79 2e 63 29  ummy.o $dummy.c)
1070: 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31   >/dev/null 2>&1
1080: 20 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 43 43   ; then..     CC
1090: 5f 46 4f 52 5f 42 55 49 4c 44 3d 22 24 63 22 3b  _FOR_BUILD="$c";
10a0: 20 62 72 65 61 6b 20 3b 0a 09 20 20 66 69 20 3b   break ;..  fi ;
10b0: 0a 09 64 6f 6e 65 20 3b 0a 09 69 66 20 74 65 73  ..done ;..if tes
10c0: 74 20 78 22 24 43 43 5f 46 4f 52 5f 42 55 49 4c  t x"$CC_FOR_BUIL
10d0: 44 22 20 3d 20 78 20 3b 20 74 68 65 6e 0a 09 20  D" = x ; then.. 
10e0: 20 43 43 5f 46 4f 52 5f 42 55 49 4c 44 3d 6e 6f   CC_FOR_BUILD=no
10f0: 5f 63 6f 6d 70 69 6c 65 72 5f 66 6f 75 6e 64 20  _compiler_found 
1100: 3b 0a 09 66 69 0a 09 3b 3b 0a 20 2c 2c 2a 29 20  ;..fi..;;. ,,*) 
1110: 20 20 43 43 5f 46 4f 52 5f 42 55 49 4c 44 3d 24    CC_FOR_BUILD=$
1120: 43 43 20 3b 3b 0a 20 2c 2a 2c 2a 29 20 20 43 43  CC ;;. ,*,*)  CC
1130: 5f 46 4f 52 5f 42 55 49 4c 44 3d 24 48 4f 53 54  _FOR_BUILD=$HOST
1140: 5f 43 43 20 3b 3b 0a 65 73 61 63 20 3b 27 0a 0a  _CC ;;.esac ;'..
1150: 23 20 54 68 69 73 20 69 73 20 6e 65 65 64 65 64  # This is needed
1160: 20 74 6f 20 66 69 6e 64 20 75 6e 61 6d 65 20 6f   to find uname o
1170: 6e 20 61 20 50 79 72 61 6d 69 64 20 4f 53 78 20  n a Pyramid OSx 
1180: 77 68 65 6e 20 72 75 6e 20 69 6e 20 74 68 65 20  when run in the 
1190: 42 53 44 20 75 6e 69 76 65 72 73 65 2e 0a 23 20  BSD universe..# 
11a0: 28 67 68 61 7a 69 40 6e 6f 63 2e 72 75 74 67 65  (ghazi@noc.rutge
11b0: 72 73 2e 65 64 75 20 31 39 39 34 2d 30 38 2d 32  rs.edu 1994-08-2
11c0: 34 29 0a 69 66 20 28 74 65 73 74 20 2d 66 20 2f  4).if (test -f /
11d0: 2e 61 74 74 62 69 6e 2f 75 6e 61 6d 65 29 20 3e  .attbin/uname) >
11e0: 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 20 3b  /dev/null 2>&1 ;
11f0: 20 74 68 65 6e 0a 09 50 41 54 48 3d 24 50 41 54   then..PATH=$PAT
1200: 48 3a 2f 2e 61 74 74 62 69 6e 20 3b 20 65 78 70  H:/.attbin ; exp
1210: 6f 72 74 20 50 41 54 48 0a 66 69 0a 0a 55 4e 41  ort PATH.fi..UNA
1220: 4d 45 5f 4d 41 43 48 49 4e 45 3d 60 28 75 6e 61  ME_MACHINE=`(una
1230: 6d 65 20 2d 6d 29 20 32 3e 2f 64 65 76 2f 6e 75  me -m) 2>/dev/nu
1240: 6c 6c 60 20 7c 7c 20 55 4e 41 4d 45 5f 4d 41 43  ll` || UNAME_MAC
1250: 48 49 4e 45 3d 75 6e 6b 6e 6f 77 6e 0a 55 4e 41  HINE=unknown.UNA
1260: 4d 45 5f 52 45 4c 45 41 53 45 3d 60 28 75 6e 61  ME_RELEASE=`(una
1270: 6d 65 20 2d 72 29 20 32 3e 2f 64 65 76 2f 6e 75  me -r) 2>/dev/nu
1280: 6c 6c 60 20 7c 7c 20 55 4e 41 4d 45 5f 52 45 4c  ll` || UNAME_REL
1290: 45 41 53 45 3d 75 6e 6b 6e 6f 77 6e 0a 55 4e 41  EASE=unknown.UNA
12a0: 4d 45 5f 53 59 53 54 45 4d 3d 60 28 75 6e 61 6d  ME_SYSTEM=`(unam
12b0: 65 20 2d 73 29 20 32 3e 2f 64 65 76 2f 6e 75 6c  e -s) 2>/dev/nul
12c0: 6c 60 20 20 7c 7c 20 55 4e 41 4d 45 5f 53 59 53  l`  || UNAME_SYS
12d0: 54 45 4d 3d 75 6e 6b 6e 6f 77 6e 0a 55 4e 41 4d  TEM=unknown.UNAM
12e0: 45 5f 56 45 52 53 49 4f 4e 3d 60 28 75 6e 61 6d  E_VERSION=`(unam
12f0: 65 20 2d 76 29 20 32 3e 2f 64 65 76 2f 6e 75 6c  e -v) 2>/dev/nul
1300: 6c 60 20 7c 7c 20 55 4e 41 4d 45 5f 56 45 52 53  l` || UNAME_VERS
1310: 49 4f 4e 3d 75 6e 6b 6e 6f 77 6e 0a 0a 23 20 4e  ION=unknown..# N
1320: 6f 74 65 3a 20 6f 72 64 65 72 20 69 73 20 73 69  ote: order is si
1330: 67 6e 69 66 69 63 61 6e 74 20 2d 20 74 68 65 20  gnificant - the 
1340: 63 61 73 65 20 62 72 61 6e 63 68 65 73 20 61 72  case branches ar
1350: 65 20 6e 6f 74 20 65 78 63 6c 75 73 69 76 65 2e  e not exclusive.
1360: 0a 0a 63 61 73 65 20 22 24 7b 55 4e 41 4d 45 5f  ..case "${UNAME_
1370: 4d 41 43 48 49 4e 45 7d 3a 24 7b 55 4e 41 4d 45  MACHINE}:${UNAME
1380: 5f 53 59 53 54 45 4d 7d 3a 24 7b 55 4e 41 4d 45  _SYSTEM}:${UNAME
1390: 5f 52 45 4c 45 41 53 45 7d 3a 24 7b 55 4e 41 4d  _RELEASE}:${UNAM
13a0: 45 5f 56 45 52 53 49 4f 4e 7d 22 20 69 6e 0a 20  E_VERSION}" in. 
13b0: 20 20 20 2a 3a 4e 65 74 42 53 44 3a 2a 3a 2a 29     *:NetBSD:*:*)
13c0: 0a 09 23 20 4e 65 74 42 53 44 20 28 6e 62 73 64  ..# NetBSD (nbsd
13d0: 29 20 74 61 72 67 65 74 73 20 73 68 6f 75 6c 64  ) targets should
13e0: 20 28 77 68 65 72 65 20 61 70 70 6c 69 63 61 62   (where applicab
13f0: 6c 65 29 20 6d 61 74 63 68 20 6f 6e 65 20 6f 72  le) match one or
1400: 0a 09 23 20 6d 6f 72 65 20 6f 66 20 74 68 65 20  ..# more of the 
1410: 74 75 70 70 6c 65 73 3a 20 2a 2d 2a 2d 6e 65 74  tupples: *-*-net
1420: 62 73 64 65 6c 66 2a 2c 20 2a 2d 2a 2d 6e 65 74  bsdelf*, *-*-net
1430: 62 73 64 61 6f 75 74 2a 2c 0a 09 23 20 2a 2d 2a  bsdaout*,..# *-*
1440: 2d 6e 65 74 62 73 64 65 63 6f 66 66 2a 20 61 6e  -netbsdecoff* an
1450: 64 20 2a 2d 2a 2d 6e 65 74 62 73 64 2a 2e 20 20  d *-*-netbsd*.  
1460: 46 6f 72 20 74 61 72 67 65 74 73 20 74 68 61 74  For targets that
1470: 20 72 65 63 65 6e 74 6c 79 0a 09 23 20 73 77 69   recently..# swi
1480: 74 63 68 65 64 20 74 6f 20 45 4c 46 2c 20 2a 2d  tched to ELF, *-
1490: 2a 2d 6e 65 74 62 73 64 2a 20 77 6f 75 6c 64 20  *-netbsd* would 
14a0: 73 65 6c 65 63 74 20 74 68 65 20 6f 6c 64 0a 09  select the old..
14b0: 23 20 6f 62 6a 65 63 74 20 66 69 6c 65 20 66 6f  # object file fo
14c0: 72 6d 61 74 2e 20 20 54 68 69 73 20 70 72 6f 76  rmat.  This prov
14d0: 69 64 65 73 20 62 6f 74 68 20 66 6f 72 77 61 72  ides both forwar
14e0: 64 0a 09 23 20 63 6f 6d 70 61 74 69 62 69 6c 69  d..# compatibili
14f0: 74 79 20 61 6e 64 20 61 20 63 6f 6e 73 69 73 74  ty and a consist
1500: 65 6e 74 20 6d 65 63 68 61 6e 69 73 6d 20 66 6f  ent mechanism fo
1510: 72 20 73 65 6c 65 63 74 69 6e 67 20 74 68 65 0a  r selecting the.
1520: 09 23 20 6f 62 6a 65 63 74 20 66 69 6c 65 20 66  .# object file f
1530: 6f 72 6d 61 74 2e 0a 09 23 0a 09 23 20 4e 6f 74  ormat...#..# Not
1540: 65 3a 20 4e 65 74 42 53 44 20 64 6f 65 73 6e 27  e: NetBSD doesn'
1550: 74 20 70 61 72 74 69 63 75 6c 61 72 6c 79 20 63  t particularly c
1560: 61 72 65 20 61 62 6f 75 74 20 74 68 65 20 76 65  are about the ve
1570: 6e 64 6f 72 0a 09 23 20 70 6f 72 74 69 6f 6e 20  ndor..# portion 
1580: 6f 66 20 74 68 65 20 6e 61 6d 65 2e 20 20 57 65  of the name.  We
1590: 20 61 6c 77 61 79 73 20 73 65 74 20 69 74 20 74   always set it t
15a0: 6f 20 22 75 6e 6b 6e 6f 77 6e 22 2e 0a 09 73 79  o "unknown"...sy
15b0: 73 63 74 6c 3d 22 73 79 73 63 74 6c 20 2d 6e 20  sctl="sysctl -n 
15c0: 68 77 2e 6d 61 63 68 69 6e 65 5f 61 72 63 68 22  hw.machine_arch"
15d0: 0a 09 55 4e 41 4d 45 5f 4d 41 43 48 49 4e 45 5f  ..UNAME_MACHINE_
15e0: 41 52 43 48 3d 60 28 2f 73 62 69 6e 2f 24 73 79  ARCH=`(/sbin/$sy
15f0: 73 63 74 6c 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c  sctl 2>/dev/null
1600: 20 7c 7c 20 5c 0a 09 20 20 20 20 2f 75 73 72 2f   || \..    /usr/
1610: 73 62 69 6e 2f 24 73 79 73 63 74 6c 20 32 3e 2f  sbin/$sysctl 2>/
1620: 64 65 76 2f 6e 75 6c 6c 20 7c 7c 20 65 63 68 6f  dev/null || echo
1630: 20 75 6e 6b 6e 6f 77 6e 29 60 0a 09 63 61 73 65   unknown)`..case
1640: 20 22 24 7b 55 4e 41 4d 45 5f 4d 41 43 48 49 4e   "${UNAME_MACHIN
1650: 45 5f 41 52 43 48 7d 22 20 69 6e 0a 09 20 20 20  E_ARCH}" in..   
1660: 20 61 72 6d 65 62 29 20 6d 61 63 68 69 6e 65 3d   armeb) machine=
1670: 61 72 6d 65 62 2d 75 6e 6b 6e 6f 77 6e 20 3b 3b  armeb-unknown ;;
1680: 0a 09 20 20 20 20 61 72 6d 2a 29 20 6d 61 63 68  ..    arm*) mach
1690: 69 6e 65 3d 61 72 6d 2d 75 6e 6b 6e 6f 77 6e 20  ine=arm-unknown 
16a0: 3b 3b 0a 09 20 20 20 20 73 68 33 65 6c 29 20 6d  ;;..    sh3el) m
16b0: 61 63 68 69 6e 65 3d 73 68 6c 2d 75 6e 6b 6e 6f  achine=shl-unkno
16c0: 77 6e 20 3b 3b 0a 09 20 20 20 20 73 68 33 65 62  wn ;;..    sh3eb
16d0: 29 20 6d 61 63 68 69 6e 65 3d 73 68 2d 75 6e 6b  ) machine=sh-unk
16e0: 6e 6f 77 6e 20 3b 3b 0a 09 20 20 20 20 2a 29 20  nown ;;..    *) 
16f0: 6d 61 63 68 69 6e 65 3d 24 7b 55 4e 41 4d 45 5f  machine=${UNAME_
1700: 4d 41 43 48 49 4e 45 5f 41 52 43 48 7d 2d 75 6e  MACHINE_ARCH}-un
1710: 6b 6e 6f 77 6e 20 3b 3b 0a 09 65 73 61 63 0a 09  known ;;..esac..
1720: 23 20 54 68 65 20 4f 70 65 72 61 74 69 6e 67 20  # The Operating 
1730: 53 79 73 74 65 6d 20 69 6e 63 6c 75 64 69 6e 67  System including
1740: 20 6f 62 6a 65 63 74 20 66 6f 72 6d 61 74 2c 20   object format, 
1750: 69 66 20 69 74 20 68 61 73 20 73 77 69 74 63 68  if it has switch
1760: 65 64 0a 09 23 20 74 6f 20 45 4c 46 20 72 65 63  ed..# to ELF rec
1770: 65 6e 74 6c 79 2c 20 6f 72 20 77 69 6c 6c 20 69  ently, or will i
1780: 6e 20 74 68 65 20 66 75 74 75 72 65 2e 0a 09 63  n the future...c
1790: 61 73 65 20 22 24 7b 55 4e 41 4d 45 5f 4d 41 43  ase "${UNAME_MAC
17a0: 48 49 4e 45 5f 41 52 43 48 7d 22 20 69 6e 0a 09  HINE_ARCH}" in..
17b0: 20 20 20 20 61 72 6d 2a 7c 69 33 38 36 7c 6d 36      arm*|i386|m6
17c0: 38 6b 7c 6e 73 33 32 6b 7c 73 68 33 2a 7c 73 70  8k|ns32k|sh3*|sp
17d0: 61 72 63 7c 76 61 78 29 0a 09 09 65 76 61 6c 20  arc|vax)...eval 
17e0: 24 73 65 74 5f 63 63 5f 66 6f 72 5f 62 75 69 6c  $set_cc_for_buil
17f0: 64 0a 09 09 69 66 20 65 63 68 6f 20 5f 5f 45 4c  d...if echo __EL
1800: 46 5f 5f 20 7c 20 24 43 43 5f 46 4f 52 5f 42 55  F__ | $CC_FOR_BU
1810: 49 4c 44 20 2d 45 20 2d 20 32 3e 2f 64 65 76 2f  ILD -E - 2>/dev/
1820: 6e 75 6c 6c 20 5c 0a 09 09 09 7c 20 67 72 65 70  null \....| grep
1830: 20 5f 5f 45 4c 46 5f 5f 20 3e 2f 64 65 76 2f 6e   __ELF__ >/dev/n
1840: 75 6c 6c 0a 09 09 74 68 65 6e 0a 09 09 20 20 20  ull...then...   
1850: 20 23 20 4f 6e 63 65 20 61 6c 6c 20 75 74 69 6c   # Once all util
1860: 69 74 69 65 73 20 63 61 6e 20 62 65 20 45 43 4f  ities can be ECO
1870: 46 46 20 28 6e 65 74 62 73 64 65 63 6f 66 66 29  FF (netbsdecoff)
1880: 20 6f 72 20 61 2e 6f 75 74 20 28 6e 65 74 62 73   or a.out (netbs
1890: 64 61 6f 75 74 29 2e 0a 09 09 20 20 20 20 23 20  daout)....    # 
18a0: 52 65 74 75 72 6e 20 6e 65 74 62 73 64 20 66 6f  Return netbsd fo
18b0: 72 20 65 69 74 68 65 72 2e 20 20 46 49 58 3f 0a  r either.  FIX?.
18c0: 09 09 20 20 20 20 6f 73 3d 6e 65 74 62 73 64 0a  ..    os=netbsd.
18d0: 09 09 65 6c 73 65 0a 09 09 20 20 20 20 6f 73 3d  ..else...    os=
18e0: 6e 65 74 62 73 64 65 6c 66 0a 09 09 66 69 0a 09  netbsdelf...fi..
18f0: 09 3b 3b 0a 09 20 20 20 20 2a 29 0a 09 20 20 20  .;;..    *)..   
1900: 20 20 20 20 20 6f 73 3d 6e 65 74 62 73 64 0a 09       os=netbsd..
1910: 09 3b 3b 0a 09 65 73 61 63 0a 09 23 20 54 68 65  .;;..esac..# The
1920: 20 4f 53 20 72 65 6c 65 61 73 65 0a 09 23 20 44   OS release..# D
1930: 65 62 69 61 6e 20 47 4e 55 2f 4e 65 74 42 53 44  ebian GNU/NetBSD
1940: 20 6d 61 63 68 69 6e 65 73 20 68 61 76 65 20 61   machines have a
1950: 20 64 69 66 66 65 72 65 6e 74 20 75 73 65 72 6c   different userl
1960: 61 6e 64 2c 20 61 6e 64 0a 09 23 20 74 68 75 73  and, and..# thus
1970: 2c 20 6e 65 65 64 20 61 20 64 69 73 74 69 6e 63  , need a distinc
1980: 74 20 74 72 69 70 6c 65 74 2e 20 48 6f 77 65 76  t triplet. Howev
1990: 65 72 2c 20 74 68 65 79 20 64 6f 20 6e 6f 74 20  er, they do not 
19a0: 6e 65 65 64 0a 09 23 20 6b 65 72 6e 65 6c 20 76  need..# kernel v
19b0: 65 72 73 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 69  ersion informati
19c0: 6f 6e 2c 20 73 6f 20 69 74 20 63 61 6e 20 62 65  on, so it can be
19d0: 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 61   replaced with a
19e0: 0a 09 23 20 73 75 69 74 61 62 6c 65 20 74 61 67  ..# suitable tag
19f0: 2c 20 69 6e 20 74 68 65 20 73 74 79 6c 65 20 6f  , in the style o
1a00: 66 20 6c 69 6e 75 78 2d 67 6e 75 2e 0a 09 63 61  f linux-gnu...ca
1a10: 73 65 20 22 24 7b 55 4e 41 4d 45 5f 56 45 52 53  se "${UNAME_VERS
1a20: 49 4f 4e 7d 22 20 69 6e 0a 09 20 20 20 20 44 65  ION}" in..    De
1a30: 62 69 61 6e 2a 29 0a 09 09 72 65 6c 65 61 73 65  bian*)...release
1a40: 3d 27 2d 67 6e 75 27 0a 09 09 3b 3b 0a 09 20 20  ='-gnu'...;;..  
1a50: 20 20 2a 29 0a 09 09 72 65 6c 65 61 73 65 3d 60    *)...release=`
1a60: 65 63 68 6f 20 24 7b 55 4e 41 4d 45 5f 52 45 4c  echo ${UNAME_REL
1a70: 45 41 53 45 7d 7c 73 65 64 20 2d 65 20 27 73 2f  EASE}|sed -e 's/
1a80: 5b 2d 5f 5d 2e 2a 2f 5c 2e 2f 27 60 0a 09 09 3b  [-_].*/\./'`...;
1a90: 3b 0a 09 65 73 61 63 0a 09 23 20 53 69 6e 63 65  ;..esac..# Since
1aa0: 20 43 50 55 5f 54 59 50 45 2d 4d 41 4e 55 46 41   CPU_TYPE-MANUFA
1ab0: 43 54 55 52 45 52 2d 4b 45 52 4e 45 4c 2d 4f 50  CTURER-KERNEL-OP
1ac0: 45 52 41 54 49 4e 47 5f 53 59 53 54 45 4d 3a 0a  ERATING_SYSTEM:.
1ad0: 09 23 20 63 6f 6e 74 61 69 6e 73 20 72 65 64 75  .# contains redu
1ae0: 6e 64 61 6e 74 20 69 6e 66 6f 72 6d 61 74 69 6f  ndant informatio
1af0: 6e 2c 20 74 68 65 20 73 68 6f 72 74 65 72 20 66  n, the shorter f
1b00: 6f 72 6d 3a 0a 09 23 20 43 50 55 5f 54 59 50 45  orm:..# CPU_TYPE
1b10: 2d 4d 41 4e 55 46 41 43 54 55 52 45 52 2d 4f 50  -MANUFACTURER-OP
1b20: 45 52 41 54 49 4e 47 5f 53 59 53 54 45 4d 20 69  ERATING_SYSTEM i
1b30: 73 20 75 73 65 64 2e 0a 09 65 63 68 6f 20 22 24  s used...echo "$
1b40: 7b 6d 61 63 68 69 6e 65 7d 2d 24 7b 6f 73 7d 24  {machine}-${os}$
1b50: 7b 72 65 6c 65 61 73 65 7d 22 0a 09 65 78 69 74  {release}"..exit
1b60: 20 30 20 3b 3b 0a 20 20 20 20 61 6d 64 36 34 3a   0 ;;.    amd64:
1b70: 4f 70 65 6e 42 53 44 3a 2a 3a 2a 29 0a 09 65 63  OpenBSD:*:*)..ec
1b80: 68 6f 20 78 38 36 5f 36 34 2d 75 6e 6b 6e 6f 77  ho x86_64-unknow
1b90: 6e 2d 6f 70 65 6e 62 73 64 24 7b 55 4e 41 4d 45  n-openbsd${UNAME
1ba0: 5f 52 45 4c 45 41 53 45 7d 0a 09 65 78 69 74 20  _RELEASE}..exit 
1bb0: 30 20 3b 3b 0a 20 20 20 20 61 6d 69 67 61 3a 4f  0 ;;.    amiga:O
1bc0: 70 65 6e 42 53 44 3a 2a 3a 2a 29 0a 09 65 63 68  penBSD:*:*)..ech
1bd0: 6f 20 6d 36 38 6b 2d 75 6e 6b 6e 6f 77 6e 2d 6f  o m68k-unknown-o
1be0: 70 65 6e 62 73 64 24 7b 55 4e 41 4d 45 5f 52 45  penbsd${UNAME_RE
1bf0: 4c 45 41 53 45 7d 0a 09 65 78 69 74 20 30 20 3b  LEASE}..exit 0 ;
1c00: 3b 0a 20 20 20 20 61 72 63 3a 4f 70 65 6e 42 53  ;.    arc:OpenBS
1c10: 44 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20 6d 69 70  D:*:*)..echo mip
1c20: 73 65 6c 2d 75 6e 6b 6e 6f 77 6e 2d 6f 70 65 6e  sel-unknown-open
1c30: 62 73 64 24 7b 55 4e 41 4d 45 5f 52 45 4c 45 41  bsd${UNAME_RELEA
1c40: 53 45 7d 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20  SE}..exit 0 ;;. 
1c50: 20 20 20 63 61 74 73 3a 4f 70 65 6e 42 53 44 3a     cats:OpenBSD:
1c60: 2a 3a 2a 29 0a 09 65 63 68 6f 20 61 72 6d 2d 75  *:*)..echo arm-u
1c70: 6e 6b 6e 6f 77 6e 2d 6f 70 65 6e 62 73 64 24 7b  nknown-openbsd${
1c80: 55 4e 41 4d 45 5f 52 45 4c 45 41 53 45 7d 0a 09  UNAME_RELEASE}..
1c90: 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 68 70  exit 0 ;;.    hp
1ca0: 33 30 30 3a 4f 70 65 6e 42 53 44 3a 2a 3a 2a 29  300:OpenBSD:*:*)
1cb0: 0a 09 65 63 68 6f 20 6d 36 38 6b 2d 75 6e 6b 6e  ..echo m68k-unkn
1cc0: 6f 77 6e 2d 6f 70 65 6e 62 73 64 24 7b 55 4e 41  own-openbsd${UNA
1cd0: 4d 45 5f 52 45 4c 45 41 53 45 7d 0a 09 65 78 69  ME_RELEASE}..exi
1ce0: 74 20 30 20 3b 3b 0a 20 20 20 20 6d 61 63 36 38  t 0 ;;.    mac68
1cf0: 6b 3a 4f 70 65 6e 42 53 44 3a 2a 3a 2a 29 0a 09  k:OpenBSD:*:*)..
1d00: 65 63 68 6f 20 6d 36 38 6b 2d 75 6e 6b 6e 6f 77  echo m68k-unknow
1d10: 6e 2d 6f 70 65 6e 62 73 64 24 7b 55 4e 41 4d 45  n-openbsd${UNAME
1d20: 5f 52 45 4c 45 41 53 45 7d 0a 09 65 78 69 74 20  _RELEASE}..exit 
1d30: 30 20 3b 3b 0a 20 20 20 20 6d 61 63 70 70 63 3a  0 ;;.    macppc:
1d40: 4f 70 65 6e 42 53 44 3a 2a 3a 2a 29 0a 09 65 63  OpenBSD:*:*)..ec
1d50: 68 6f 20 70 6f 77 65 72 70 63 2d 75 6e 6b 6e 6f  ho powerpc-unkno
1d60: 77 6e 2d 6f 70 65 6e 62 73 64 24 7b 55 4e 41 4d  wn-openbsd${UNAM
1d70: 45 5f 52 45 4c 45 41 53 45 7d 0a 09 65 78 69 74  E_RELEASE}..exit
1d80: 20 30 20 3b 3b 0a 20 20 20 20 6d 76 6d 65 36 38   0 ;;.    mvme68
1d90: 6b 3a 4f 70 65 6e 42 53 44 3a 2a 3a 2a 29 0a 09  k:OpenBSD:*:*)..
1da0: 65 63 68 6f 20 6d 36 38 6b 2d 75 6e 6b 6e 6f 77  echo m68k-unknow
1db0: 6e 2d 6f 70 65 6e 62 73 64 24 7b 55 4e 41 4d 45  n-openbsd${UNAME
1dc0: 5f 52 45 4c 45 41 53 45 7d 0a 09 65 78 69 74 20  _RELEASE}..exit 
1dd0: 30 20 3b 3b 0a 20 20 20 20 6d 76 6d 65 38 38 6b  0 ;;.    mvme88k
1de0: 3a 4f 70 65 6e 42 53 44 3a 2a 3a 2a 29 0a 09 65  :OpenBSD:*:*)..e
1df0: 63 68 6f 20 6d 38 38 6b 2d 75 6e 6b 6e 6f 77 6e  cho m88k-unknown
1e00: 2d 6f 70 65 6e 62 73 64 24 7b 55 4e 41 4d 45 5f  -openbsd${UNAME_
1e10: 52 45 4c 45 41 53 45 7d 0a 09 65 78 69 74 20 30  RELEASE}..exit 0
1e20: 20 3b 3b 0a 20 20 20 20 6d 76 6d 65 70 70 63 3a   ;;.    mvmeppc:
1e30: 4f 70 65 6e 42 53 44 3a 2a 3a 2a 29 0a 09 65 63  OpenBSD:*:*)..ec
1e40: 68 6f 20 70 6f 77 65 72 70 63 2d 75 6e 6b 6e 6f  ho powerpc-unkno
1e50: 77 6e 2d 6f 70 65 6e 62 73 64 24 7b 55 4e 41 4d  wn-openbsd${UNAM
1e60: 45 5f 52 45 4c 45 41 53 45 7d 0a 09 65 78 69 74  E_RELEASE}..exit
1e70: 20 30 20 3b 3b 0a 20 20 20 20 70 65 67 61 73 6f   0 ;;.    pegaso
1e80: 73 3a 4f 70 65 6e 42 53 44 3a 2a 3a 2a 29 0a 09  s:OpenBSD:*:*)..
1e90: 65 63 68 6f 20 70 6f 77 65 72 70 63 2d 75 6e 6b  echo powerpc-unk
1ea0: 6e 6f 77 6e 2d 6f 70 65 6e 62 73 64 24 7b 55 4e  nown-openbsd${UN
1eb0: 41 4d 45 5f 52 45 4c 45 41 53 45 7d 0a 09 65 78  AME_RELEASE}..ex
1ec0: 69 74 20 30 20 3b 3b 0a 20 20 20 20 70 6d 61 78  it 0 ;;.    pmax
1ed0: 3a 4f 70 65 6e 42 53 44 3a 2a 3a 2a 29 0a 09 65  :OpenBSD:*:*)..e
1ee0: 63 68 6f 20 6d 69 70 73 65 6c 2d 75 6e 6b 6e 6f  cho mipsel-unkno
1ef0: 77 6e 2d 6f 70 65 6e 62 73 64 24 7b 55 4e 41 4d  wn-openbsd${UNAM
1f00: 45 5f 52 45 4c 45 41 53 45 7d 0a 09 65 78 69 74  E_RELEASE}..exit
1f10: 20 30 20 3b 3b 0a 20 20 20 20 73 67 69 3a 4f 70   0 ;;.    sgi:Op
1f20: 65 6e 42 53 44 3a 2a 3a 2a 29 0a 09 65 63 68 6f  enBSD:*:*)..echo
1f30: 20 6d 69 70 73 65 62 2d 75 6e 6b 6e 6f 77 6e 2d   mipseb-unknown-
1f40: 6f 70 65 6e 62 73 64 24 7b 55 4e 41 4d 45 5f 52  openbsd${UNAME_R
1f50: 45 4c 45 41 53 45 7d 0a 09 65 78 69 74 20 30 20  ELEASE}..exit 0 
1f60: 3b 3b 0a 20 20 20 20 73 75 6e 33 3a 4f 70 65 6e  ;;.    sun3:Open
1f70: 42 53 44 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20 6d  BSD:*:*)..echo m
1f80: 36 38 6b 2d 75 6e 6b 6e 6f 77 6e 2d 6f 70 65 6e  68k-unknown-open
1f90: 62 73 64 24 7b 55 4e 41 4d 45 5f 52 45 4c 45 41  bsd${UNAME_RELEA
1fa0: 53 45 7d 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20  SE}..exit 0 ;;. 
1fb0: 20 20 20 77 67 72 69 73 63 3a 4f 70 65 6e 42 53     wgrisc:OpenBS
1fc0: 44 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20 6d 69 70  D:*:*)..echo mip
1fd0: 73 65 6c 2d 75 6e 6b 6e 6f 77 6e 2d 6f 70 65 6e  sel-unknown-open
1fe0: 62 73 64 24 7b 55 4e 41 4d 45 5f 52 45 4c 45 41  bsd${UNAME_RELEA
1ff0: 53 45 7d 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20  SE}..exit 0 ;;. 
2000: 20 20 20 2a 3a 4f 70 65 6e 42 53 44 3a 2a 3a 2a     *:OpenBSD:*:*
2010: 29 0a 09 65 63 68 6f 20 24 7b 55 4e 41 4d 45 5f  )..echo ${UNAME_
2020: 4d 41 43 48 49 4e 45 7d 2d 75 6e 6b 6e 6f 77 6e  MACHINE}-unknown
2030: 2d 6f 70 65 6e 62 73 64 24 7b 55 4e 41 4d 45 5f  -openbsd${UNAME_
2040: 52 45 4c 45 41 53 45 7d 0a 09 65 78 69 74 20 30  RELEASE}..exit 0
2050: 20 3b 3b 0a 20 20 20 20 2a 3a 65 6b 6b 6f 42 53   ;;.    *:ekkoBS
2060: 44 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20 24 7b 55  D:*:*)..echo ${U
2070: 4e 41 4d 45 5f 4d 41 43 48 49 4e 45 7d 2d 75 6e  NAME_MACHINE}-un
2080: 6b 6e 6f 77 6e 2d 65 6b 6b 6f 62 73 64 24 7b 55  known-ekkobsd${U
2090: 4e 41 4d 45 5f 52 45 4c 45 41 53 45 7d 0a 09 65  NAME_RELEASE}..e
20a0: 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 6d 61 63  xit 0 ;;.    mac
20b0: 70 70 63 3a 4d 69 72 42 53 44 3a 2a 3a 2a 29 0a  ppc:MirBSD:*:*).
20c0: 09 65 63 68 6f 20 70 6f 77 65 72 70 70 63 2d 75  .echo powerppc-u
20d0: 6e 6b 6e 6f 77 6e 2d 6d 69 72 62 73 64 24 7b 55  nknown-mirbsd${U
20e0: 4e 41 4d 45 5f 52 45 4c 45 41 53 45 7d 0a 09 65  NAME_RELEASE}..e
20f0: 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 2a 3a 4d  xit 0 ;;.    *:M
2100: 69 72 42 53 44 3a 2a 3a 2a 29 0a 09 65 63 68 6f  irBSD:*:*)..echo
2110: 20 24 7b 55 4e 41 4d 45 5f 4d 41 43 48 49 4e 45   ${UNAME_MACHINE
2120: 7d 2d 75 6e 6b 6e 6f 77 6e 2d 6d 69 72 62 73 64  }-unknown-mirbsd
2130: 24 7b 55 4e 41 4d 45 5f 52 45 4c 45 41 53 45 7d  ${UNAME_RELEASE}
2140: 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20  ..exit 0 ;;.    
2150: 61 6c 70 68 61 3a 4f 53 46 31 3a 2a 3a 2a 29 0a  alpha:OSF1:*:*).
2160: 09 63 61 73 65 20 24 55 4e 41 4d 45 5f 52 45 4c  .case $UNAME_REL
2170: 45 41 53 45 20 69 6e 0a 09 2a 34 2e 30 29 0a 09  EASE in..*4.0)..
2180: 09 55 4e 41 4d 45 5f 52 45 4c 45 41 53 45 3d 60  .UNAME_RELEASE=`
2190: 2f 75 73 72 2f 73 62 69 6e 2f 73 69 7a 65 72 20  /usr/sbin/sizer 
21a0: 2d 76 20 7c 20 61 77 6b 20 27 7b 70 72 69 6e 74  -v | awk '{print
21b0: 20 24 33 7d 27 60 0a 09 09 3b 3b 0a 09 2a 35 2e   $3}'`...;;..*5.
21c0: 2a 29 0a 09 20 20 20 20 20 20 20 20 55 4e 41 4d  *)..        UNAM
21d0: 45 5f 52 45 4c 45 41 53 45 3d 60 2f 75 73 72 2f  E_RELEASE=`/usr/
21e0: 73 62 69 6e 2f 73 69 7a 65 72 20 2d 76 20 7c 20  sbin/sizer -v | 
21f0: 61 77 6b 20 27 7b 70 72 69 6e 74 20 24 34 7d 27  awk '{print $4}'
2200: 60 0a 09 09 3b 3b 0a 09 65 73 61 63 0a 09 23 20  `...;;..esac..# 
2210: 41 63 63 6f 72 64 69 6e 67 20 74 6f 20 43 6f 6d  According to Com
2220: 70 61 71 2c 20 2f 75 73 72 2f 73 62 69 6e 2f 70  paq, /usr/sbin/p
2230: 73 72 69 6e 66 6f 20 68 61 73 20 62 65 65 6e 20  srinfo has been 
2240: 61 76 61 69 6c 61 62 6c 65 20 6f 6e 0a 09 23 20  available on..# 
2250: 4f 53 46 2f 31 20 61 6e 64 20 54 72 75 36 34 20  OSF/1 and Tru64 
2260: 73 79 73 74 65 6d 73 20 70 72 6f 64 75 63 65 64  systems produced
2270: 20 73 69 6e 63 65 20 31 39 39 35 2e 20 20 49 20   since 1995.  I 
2280: 68 6f 70 65 20 74 68 61 74 0a 09 23 20 63 6f 76  hope that..# cov
2290: 65 72 73 20 6d 6f 73 74 20 73 79 73 74 65 6d 73  ers most systems
22a0: 20 72 75 6e 6e 69 6e 67 20 74 6f 64 61 79 2e 20   running today. 
22b0: 20 54 68 69 73 20 63 6f 64 65 20 70 69 70 65 73   This code pipes
22c0: 20 74 68 65 20 43 50 55 0a 09 23 20 74 79 70 65   the CPU..# type
22d0: 73 20 74 68 72 6f 75 67 68 20 68 65 61 64 20 2d  s through head -
22e0: 6e 20 31 2c 20 73 6f 20 77 65 20 6f 6e 6c 79 20  n 1, so we only 
22f0: 64 65 74 65 63 74 20 74 68 65 20 74 79 70 65 20  detect the type 
2300: 6f 66 20 43 50 55 20 30 2e 0a 09 41 4c 50 48 41  of CPU 0...ALPHA
2310: 5f 43 50 55 5f 54 59 50 45 3d 60 2f 75 73 72 2f  _CPU_TYPE=`/usr/
2320: 73 62 69 6e 2f 70 73 72 69 6e 66 6f 20 2d 76 20  sbin/psrinfo -v 
2330: 7c 20 73 65 64 20 2d 6e 20 2d 65 20 27 73 2f 5e  | sed -n -e 's/^
2340: 20 20 54 68 65 20 61 6c 70 68 61 20 5c 28 2e 2a    The alpha \(.*
2350: 5c 29 20 70 72 6f 63 65 73 73 6f 72 2e 2a 24 2f  \) processor.*$/
2360: 5c 31 2f 70 27 20 7c 20 68 65 61 64 20 2d 6e 20  \1/p' | head -n 
2370: 31 60 0a 09 63 61 73 65 20 22 24 41 4c 50 48 41  1`..case "$ALPHA
2380: 5f 43 50 55 5f 54 59 50 45 22 20 69 6e 0a 09 20  _CPU_TYPE" in.. 
2390: 20 20 20 22 45 56 34 20 28 32 31 30 36 34 29 22     "EV4 (21064)"
23a0: 29 0a 09 09 55 4e 41 4d 45 5f 4d 41 43 48 49 4e  )...UNAME_MACHIN
23b0: 45 3d 22 61 6c 70 68 61 22 20 3b 3b 0a 09 20 20  E="alpha" ;;..  
23c0: 20 20 22 45 56 34 2e 35 20 28 32 31 30 36 34 29    "EV4.5 (21064)
23d0: 22 29 0a 09 09 55 4e 41 4d 45 5f 4d 41 43 48 49  ")...UNAME_MACHI
23e0: 4e 45 3d 22 61 6c 70 68 61 22 20 3b 3b 0a 09 20  NE="alpha" ;;.. 
23f0: 20 20 20 22 4c 43 41 34 20 28 32 31 30 36 36 2f     "LCA4 (21066/
2400: 32 31 30 36 38 29 22 29 0a 09 09 55 4e 41 4d 45  21068)")...UNAME
2410: 5f 4d 41 43 48 49 4e 45 3d 22 61 6c 70 68 61 22  _MACHINE="alpha"
2420: 20 3b 3b 0a 09 20 20 20 20 22 45 56 35 20 28 32   ;;..    "EV5 (2
2430: 31 31 36 34 29 22 29 0a 09 09 55 4e 41 4d 45 5f  1164)")...UNAME_
2440: 4d 41 43 48 49 4e 45 3d 22 61 6c 70 68 61 65 76  MACHINE="alphaev
2450: 35 22 20 3b 3b 0a 09 20 20 20 20 22 45 56 35 2e  5" ;;..    "EV5.
2460: 36 20 28 32 31 31 36 34 41 29 22 29 0a 09 09 55  6 (21164A)")...U
2470: 4e 41 4d 45 5f 4d 41 43 48 49 4e 45 3d 22 61 6c  NAME_MACHINE="al
2480: 70 68 61 65 76 35 36 22 20 3b 3b 0a 09 20 20 20  phaev56" ;;..   
2490: 20 22 45 56 35 2e 36 20 28 32 31 31 36 34 50 43   "EV5.6 (21164PC
24a0: 29 22 29 0a 09 09 55 4e 41 4d 45 5f 4d 41 43 48  )")...UNAME_MACH
24b0: 49 4e 45 3d 22 61 6c 70 68 61 70 63 61 35 36 22  INE="alphapca56"
24c0: 20 3b 3b 0a 09 20 20 20 20 22 45 56 35 2e 37 20   ;;..    "EV5.7 
24d0: 28 32 31 31 36 34 50 43 29 22 29 0a 09 09 55 4e  (21164PC)")...UN
24e0: 41 4d 45 5f 4d 41 43 48 49 4e 45 3d 22 61 6c 70  AME_MACHINE="alp
24f0: 68 61 70 63 61 35 37 22 20 3b 3b 0a 09 20 20 20  hapca57" ;;..   
2500: 20 22 45 56 36 20 28 32 31 32 36 34 29 22 29 0a   "EV6 (21264)").
2510: 09 09 55 4e 41 4d 45 5f 4d 41 43 48 49 4e 45 3d  ..UNAME_MACHINE=
2520: 22 61 6c 70 68 61 65 76 36 22 20 3b 3b 0a 09 20  "alphaev6" ;;.. 
2530: 20 20 20 22 45 56 36 2e 37 20 28 32 31 32 36 34     "EV6.7 (21264
2540: 41 29 22 29 0a 09 09 55 4e 41 4d 45 5f 4d 41 43  A)")...UNAME_MAC
2550: 48 49 4e 45 3d 22 61 6c 70 68 61 65 76 36 37 22  HINE="alphaev67"
2560: 20 3b 3b 0a 09 20 20 20 20 22 45 56 36 2e 38 43   ;;..    "EV6.8C
2570: 42 20 28 32 31 32 36 34 43 29 22 29 0a 09 09 55  B (21264C)")...U
2580: 4e 41 4d 45 5f 4d 41 43 48 49 4e 45 3d 22 61 6c  NAME_MACHINE="al
2590: 70 68 61 65 76 36 38 22 20 3b 3b 0a 09 20 20 20  phaev68" ;;..   
25a0: 20 22 45 56 36 2e 38 41 4c 20 28 32 31 32 36 34   "EV6.8AL (21264
25b0: 42 29 22 29 0a 09 09 55 4e 41 4d 45 5f 4d 41 43  B)")...UNAME_MAC
25c0: 48 49 4e 45 3d 22 61 6c 70 68 61 65 76 36 38 22  HINE="alphaev68"
25d0: 20 3b 3b 0a 09 20 20 20 20 22 45 56 36 2e 38 43   ;;..    "EV6.8C
25e0: 58 20 28 32 31 32 36 34 44 29 22 29 0a 09 09 55  X (21264D)")...U
25f0: 4e 41 4d 45 5f 4d 41 43 48 49 4e 45 3d 22 61 6c  NAME_MACHINE="al
2600: 70 68 61 65 76 36 38 22 20 3b 3b 0a 09 20 20 20  phaev68" ;;..   
2610: 20 22 45 56 36 2e 39 41 20 28 32 31 32 36 34 2f   "EV6.9A (21264/
2620: 45 56 36 39 41 29 22 29 0a 09 09 55 4e 41 4d 45  EV69A)")...UNAME
2630: 5f 4d 41 43 48 49 4e 45 3d 22 61 6c 70 68 61 65  _MACHINE="alphae
2640: 76 36 39 22 20 3b 3b 0a 09 20 20 20 20 22 45 56  v69" ;;..    "EV
2650: 37 20 28 32 31 33 36 34 29 22 29 0a 09 09 55 4e  7 (21364)")...UN
2660: 41 4d 45 5f 4d 41 43 48 49 4e 45 3d 22 61 6c 70  AME_MACHINE="alp
2670: 68 61 65 76 37 22 20 3b 3b 0a 09 20 20 20 20 22  haev7" ;;..    "
2680: 45 56 37 2e 39 20 28 32 31 33 36 34 41 29 22 29  EV7.9 (21364A)")
2690: 0a 09 09 55 4e 41 4d 45 5f 4d 41 43 48 49 4e 45  ...UNAME_MACHINE
26a0: 3d 22 61 6c 70 68 61 65 76 37 39 22 20 3b 3b 0a  ="alphaev79" ;;.
26b0: 09 65 73 61 63 0a 09 23 20 41 20 50 6e 2e 6e 20  .esac..# A Pn.n 
26c0: 76 65 72 73 69 6f 6e 20 69 73 20 61 20 70 61 74  version is a pat
26d0: 63 68 65 64 20 76 65 72 73 69 6f 6e 2e 0a 09 23  ched version...#
26e0: 20 41 20 56 6e 2e 6e 20 76 65 72 73 69 6f 6e 20   A Vn.n version 
26f0: 69 73 20 61 20 72 65 6c 65 61 73 65 64 20 76 65  is a released ve
2700: 72 73 69 6f 6e 2e 0a 09 23 20 41 20 54 6e 2e 6e  rsion...# A Tn.n
2710: 20 76 65 72 73 69 6f 6e 20 69 73 20 61 20 72 65   version is a re
2720: 6c 65 61 73 65 64 20 66 69 65 6c 64 20 74 65 73  leased field tes
2730: 74 20 76 65 72 73 69 6f 6e 2e 0a 09 23 20 41 20  t version...# A 
2740: 58 6e 2e 6e 20 76 65 72 73 69 6f 6e 20 69 73 20  Xn.n version is 
2750: 61 6e 20 75 6e 72 65 6c 65 61 73 65 64 20 65 78  an unreleased ex
2760: 70 65 72 69 6d 65 6e 74 61 6c 20 62 61 73 65 6c  perimental basel
2770: 65 76 65 6c 2e 0a 09 23 20 31 2e 32 20 75 73 65  evel...# 1.2 use
2780: 73 20 22 31 2e 32 22 20 66 6f 72 20 75 6e 61 6d  s "1.2" for unam
2790: 65 20 2d 72 2e 0a 09 65 63 68 6f 20 24 7b 55 4e  e -r...echo ${UN
27a0: 41 4d 45 5f 4d 41 43 48 49 4e 45 7d 2d 64 65 63  AME_MACHINE}-dec
27b0: 2d 6f 73 66 60 65 63 68 6f 20 24 7b 55 4e 41 4d  -osf`echo ${UNAM
27c0: 45 5f 52 45 4c 45 41 53 45 7d 20 7c 20 73 65 64  E_RELEASE} | sed
27d0: 20 2d 65 20 27 73 2f 5e 5b 50 56 54 58 5d 2f 2f   -e 's/^[PVTX]//
27e0: 27 20 7c 20 74 72 20 27 41 42 43 44 45 46 47 48  ' | tr 'ABCDEFGH
27f0: 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58  IJKLMNOPQRSTUVWX
2800: 59 5a 27 20 27 61 62 63 64 65 66 67 68 69 6a 6b  YZ' 'abcdefghijk
2810: 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 27  lmnopqrstuvwxyz'
2820: 60 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20  `..exit 0 ;;.   
2830: 20 41 6c 70 68 61 2a 3a 4f 70 65 6e 56 4d 53 3a   Alpha*:OpenVMS:
2840: 2a 3a 2a 29 0a 09 65 63 68 6f 20 61 6c 70 68 61  *:*)..echo alpha
2850: 2d 68 70 2d 76 6d 73 0a 09 65 78 69 74 20 30 20  -hp-vms..exit 0 
2860: 3b 3b 0a 20 20 20 20 41 6c 70 68 61 5c 20 2a 3a  ;;.    Alpha\ *:
2870: 57 69 6e 64 6f 77 73 5f 4e 54 2a 3a 2a 29 0a 09  Windows_NT*:*)..
2880: 23 20 48 6f 77 20 64 6f 20 77 65 20 6b 6e 6f 77  # How do we know
2890: 20 69 74 27 73 20 49 6e 74 65 72 69 78 20 72 61   it's Interix ra
28a0: 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 67 65  ther than the ge
28b0: 6e 65 72 69 63 20 50 4f 53 49 58 20 73 75 62 73  neric POSIX subs
28c0: 79 73 74 65 6d 3f 0a 09 23 20 53 68 6f 75 6c 64  ystem?..# Should
28d0: 20 77 65 20 63 68 61 6e 67 65 20 55 4e 41 4d 45   we change UNAME
28e0: 5f 4d 41 43 48 49 4e 45 20 62 61 73 65 64 20 6f  _MACHINE based o
28f0: 6e 20 74 68 65 20 6f 75 74 70 75 74 20 6f 66 20  n the output of 
2900: 75 6e 61 6d 65 20 69 6e 73 74 65 61 64 0a 09 23  uname instead..#
2910: 20 6f 66 20 74 68 65 20 73 70 65 63 69 66 69 63   of the specific
2920: 20 41 6c 70 68 61 20 6d 6f 64 65 6c 3f 0a 09 65   Alpha model?..e
2930: 63 68 6f 20 61 6c 70 68 61 2d 70 63 2d 69 6e 74  cho alpha-pc-int
2940: 65 72 69 78 0a 09 65 78 69 74 20 30 20 3b 3b 0a  erix..exit 0 ;;.
2950: 20 20 20 20 32 31 30 36 34 3a 57 69 6e 64 6f 77      21064:Window
2960: 73 5f 4e 54 3a 35 30 3a 33 29 0a 09 65 63 68 6f  s_NT:50:3)..echo
2970: 20 61 6c 70 68 61 2d 64 65 63 2d 77 69 6e 6e 74   alpha-dec-winnt
2980: 33 2e 35 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20  3.5..exit 0 ;;. 
2990: 20 20 20 41 6d 69 67 61 2a 3a 55 4e 49 58 5f 53     Amiga*:UNIX_S
29a0: 79 73 74 65 6d 5f 56 3a 34 2e 30 3a 2a 29 0a 09  ystem_V:4.0:*)..
29b0: 65 63 68 6f 20 6d 36 38 6b 2d 75 6e 6b 6e 6f 77  echo m68k-unknow
29c0: 6e 2d 73 79 73 76 34 0a 09 65 78 69 74 20 30 3b  n-sysv4..exit 0;
29d0: 3b 0a 20 20 20 20 2a 3a 5b 41 61 5d 6d 69 67 61  ;.    *:[Aa]miga
29e0: 5b 4f 6f 5d 5b 53 73 5d 3a 2a 3a 2a 29 0a 09 65  [Oo][Ss]:*:*)..e
29f0: 63 68 6f 20 24 7b 55 4e 41 4d 45 5f 4d 41 43 48  cho ${UNAME_MACH
2a00: 49 4e 45 7d 2d 75 6e 6b 6e 6f 77 6e 2d 61 6d 69  INE}-unknown-ami
2a10: 67 61 6f 73 0a 09 65 78 69 74 20 30 20 3b 3b 0a  gaos..exit 0 ;;.
2a20: 20 20 20 20 2a 3a 5b 4d 6d 5d 6f 72 70 68 5b 4f      *:[Mm]orph[O
2a30: 6f 5d 5b 53 73 5d 3a 2a 3a 2a 29 0a 09 65 63 68  o][Ss]:*:*)..ech
2a40: 6f 20 24 7b 55 4e 41 4d 45 5f 4d 41 43 48 49 4e  o ${UNAME_MACHIN
2a50: 45 7d 2d 75 6e 6b 6e 6f 77 6e 2d 6d 6f 72 70 68  E}-unknown-morph
2a60: 6f 73 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20  os..exit 0 ;;.  
2a70: 20 20 2a 3a 4f 53 2f 33 39 30 3a 2a 3a 2a 29 0a    *:OS/390:*:*).
2a80: 09 65 63 68 6f 20 69 33 37 30 2d 69 62 6d 2d 6f  .echo i370-ibm-o
2a90: 70 65 6e 65 64 69 74 69 6f 6e 0a 09 65 78 69 74  penedition..exit
2aa0: 20 30 20 3b 3b 0a 20 20 20 20 2a 3a 4f 53 34 30   0 ;;.    *:OS40
2ab0: 30 3a 2a 3a 2a 29 0a 20 20 20 20 20 20 20 20 65  0:*:*).        e
2ac0: 63 68 6f 20 70 6f 77 65 72 70 63 2d 69 62 6d 2d  cho powerpc-ibm-
2ad0: 6f 73 34 30 30 0a 09 65 78 69 74 20 30 20 3b 3b  os400..exit 0 ;;
2ae0: 0a 20 20 20 20 61 72 6d 3a 52 49 53 43 2a 3a 31  .    arm:RISC*:1
2af0: 2e 5b 30 31 32 5d 2a 3a 2a 7c 61 72 6d 3a 72 69  .[012]*:*|arm:ri
2b00: 73 63 69 78 3a 31 2e 5b 30 31 32 5d 2a 3a 2a 29  scix:1.[012]*:*)
2b10: 0a 09 65 63 68 6f 20 61 72 6d 2d 61 63 6f 72 6e  ..echo arm-acorn
2b20: 2d 72 69 73 63 69 78 24 7b 55 4e 41 4d 45 5f 52  -riscix${UNAME_R
2b30: 45 4c 45 41 53 45 7d 0a 09 65 78 69 74 20 30 3b  ELEASE}..exit 0;
2b40: 3b 0a 20 20 20 20 53 52 32 3f 30 31 3a 48 49 2d  ;.    SR2?01:HI-
2b50: 55 58 2f 4d 50 50 3a 2a 3a 2a 20 7c 20 53 52 38  UX/MPP:*:* | SR8
2b60: 30 30 30 3a 48 49 2d 55 58 2f 4d 50 50 3a 2a 3a  000:HI-UX/MPP:*:
2b70: 2a 29 0a 09 65 63 68 6f 20 68 70 70 61 31 2e 31  *)..echo hppa1.1
2b80: 2d 68 69 74 61 63 68 69 2d 68 69 75 78 6d 70 70  -hitachi-hiuxmpp
2b90: 0a 09 65 78 69 74 20 30 3b 3b 0a 20 20 20 20 50  ..exit 0;;.    P
2ba0: 79 72 61 6d 69 64 2a 3a 4f 53 78 2a 3a 2a 3a 2a  yramid*:OSx*:*:*
2bb0: 20 7c 20 4d 49 53 2a 3a 4f 53 78 2a 3a 2a 3a 2a   | MIS*:OSx*:*:*
2bc0: 20 7c 20 4d 49 53 2a 3a 53 4d 50 5f 44 43 2d 4f   | MIS*:SMP_DC-O
2bd0: 53 78 2a 3a 2a 3a 2a 29 0a 09 23 20 61 6b 65 65  Sx*:*:*)..# akee
2be0: 40 77 70 64 69 73 30 33 2e 77 70 61 66 62 2e 61  @wpdis03.wpafb.a
2bf0: 66 2e 6d 69 6c 20 28 45 61 72 6c 65 20 46 2e 20  f.mil (Earle F. 
2c00: 41 6b 65 29 20 63 6f 6e 74 72 69 62 75 74 65 64  Ake) contributed
2c10: 20 4d 49 53 20 61 6e 64 20 4e 49 4c 45 2e 0a 09   MIS and NILE...
2c20: 69 66 20 74 65 73 74 20 22 60 28 2f 62 69 6e 2f  if test "`(/bin/
2c30: 75 6e 69 76 65 72 73 65 29 20 32 3e 2f 64 65 76  universe) 2>/dev
2c40: 2f 6e 75 6c 6c 60 22 20 3d 20 61 74 74 20 3b 20  /null`" = att ; 
2c50: 74 68 65 6e 0a 09 09 65 63 68 6f 20 70 79 72 61  then...echo pyra
2c60: 6d 69 64 2d 70 79 72 61 6d 69 64 2d 73 79 73 76  mid-pyramid-sysv
2c70: 33 0a 09 65 6c 73 65 0a 09 09 65 63 68 6f 20 70  3..else...echo p
2c80: 79 72 61 6d 69 64 2d 70 79 72 61 6d 69 64 2d 62  yramid-pyramid-b
2c90: 73 64 0a 09 66 69 0a 09 65 78 69 74 20 30 20 3b  sd..fi..exit 0 ;
2ca0: 3b 0a 20 20 20 20 4e 49 4c 45 2a 3a 2a 3a 2a 3a  ;.    NILE*:*:*:
2cb0: 64 63 6f 73 78 29 0a 09 65 63 68 6f 20 70 79 72  dcosx)..echo pyr
2cc0: 61 6d 69 64 2d 70 79 72 61 6d 69 64 2d 73 76 72  amid-pyramid-svr
2cd0: 34 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20  4..exit 0 ;;.   
2ce0: 20 44 52 53 3f 36 30 30 30 3a 75 6e 69 78 3a 34   DRS?6000:unix:4
2cf0: 2e 30 3a 36 2a 29 0a 09 65 63 68 6f 20 73 70 61  .0:6*)..echo spa
2d00: 72 63 2d 69 63 6c 2d 6e 78 36 0a 09 65 78 69 74  rc-icl-nx6..exit
2d10: 20 30 20 3b 3b 0a 20 20 20 20 44 52 53 3f 36 30   0 ;;.    DRS?60
2d20: 30 30 3a 55 4e 49 58 5f 53 56 3a 34 2e 32 2a 3a  00:UNIX_SV:4.2*:
2d30: 37 2a 29 0a 09 63 61 73 65 20 60 2f 75 73 72 2f  7*)..case `/usr/
2d40: 62 69 6e 2f 75 6e 61 6d 65 20 2d 70 60 20 69 6e  bin/uname -p` in
2d50: 0a 09 20 20 20 20 73 70 61 72 63 29 20 65 63 68  ..    sparc) ech
2d60: 6f 20 73 70 61 72 63 2d 69 63 6c 2d 6e 78 37 20  o sparc-icl-nx7 
2d70: 26 26 20 65 78 69 74 20 30 20 3b 3b 0a 09 65 73  && exit 0 ;;..es
2d80: 61 63 20 3b 3b 0a 20 20 20 20 73 75 6e 34 48 3a  ac ;;.    sun4H:
2d90: 53 75 6e 4f 53 3a 35 2e 2a 3a 2a 29 0a 09 65 63  SunOS:5.*:*)..ec
2da0: 68 6f 20 73 70 61 72 63 2d 68 61 6c 2d 73 6f 6c  ho sparc-hal-sol
2db0: 61 72 69 73 32 60 65 63 68 6f 20 24 7b 55 4e 41  aris2`echo ${UNA
2dc0: 4d 45 5f 52 45 4c 45 41 53 45 7d 7c 73 65 64 20  ME_RELEASE}|sed 
2dd0: 2d 65 20 27 73 2f 5b 5e 2e 5d 2a 2f 2f 27 60 0a  -e 's/[^.]*//'`.
2de0: 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 73  .exit 0 ;;.    s
2df0: 75 6e 34 2a 3a 53 75 6e 4f 53 3a 35 2e 2a 3a 2a  un4*:SunOS:5.*:*
2e00: 20 7c 20 74 61 64 70 6f 6c 65 2a 3a 53 75 6e 4f   | tadpole*:SunO
2e10: 53 3a 35 2e 2a 3a 2a 29 0a 09 65 63 68 6f 20 73  S:5.*:*)..echo s
2e20: 70 61 72 63 2d 73 75 6e 2d 73 6f 6c 61 72 69 73  parc-sun-solaris
2e30: 32 60 65 63 68 6f 20 24 7b 55 4e 41 4d 45 5f 52  2`echo ${UNAME_R
2e40: 45 4c 45 41 53 45 7d 7c 73 65 64 20 2d 65 20 27  ELEASE}|sed -e '
2e50: 73 2f 5b 5e 2e 5d 2a 2f 2f 27 60 0a 09 65 78 69  s/[^.]*//'`..exi
2e60: 74 20 30 20 3b 3b 0a 20 20 20 20 69 38 36 70 63  t 0 ;;.    i86pc
2e70: 3a 53 75 6e 4f 53 3a 35 2e 2a 3a 2a 29 0a 09 65  :SunOS:5.*:*)..e
2e80: 63 68 6f 20 69 33 38 36 2d 70 63 2d 73 6f 6c 61  cho i386-pc-sola
2e90: 72 69 73 32 60 65 63 68 6f 20 24 7b 55 4e 41 4d  ris2`echo ${UNAM
2ea0: 45 5f 52 45 4c 45 41 53 45 7d 7c 73 65 64 20 2d  E_RELEASE}|sed -
2eb0: 65 20 27 73 2f 5b 5e 2e 5d 2a 2f 2f 27 60 0a 09  e 's/[^.]*//'`..
2ec0: 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 73 75  exit 0 ;;.    su
2ed0: 6e 34 2a 3a 53 75 6e 4f 53 3a 36 2a 3a 2a 29 0a  n4*:SunOS:6*:*).
2ee0: 09 23 20 41 63 63 6f 72 64 69 6e 67 20 74 6f 20  .# According to 
2ef0: 63 6f 6e 66 69 67 2e 73 75 62 2c 20 74 68 69 73  config.sub, this
2f00: 20 69 73 20 74 68 65 20 70 72 6f 70 65 72 20 77   is the proper w
2f10: 61 79 20 74 6f 20 63 61 6e 6f 6e 69 63 61 6c 69  ay to canonicali
2f20: 7a 65 0a 09 23 20 53 75 6e 4f 53 36 2e 20 20 48  ze..# SunOS6.  H
2f30: 61 72 64 20 74 6f 20 67 75 65 73 73 20 65 78 61  ard to guess exa
2f40: 63 74 6c 79 20 77 68 61 74 20 53 75 6e 4f 53 36  ctly what SunOS6
2f50: 20 77 69 6c 6c 20 62 65 20 6c 69 6b 65 2c 20 62   will be like, b
2f60: 75 74 0a 09 23 20 69 74 27 73 20 6c 69 6b 65 6c  ut..# it's likel
2f70: 79 20 74 6f 20 62 65 20 6d 6f 72 65 20 6c 69 6b  y to be more lik
2f80: 65 20 53 6f 6c 61 72 69 73 20 74 68 61 6e 20 53  e Solaris than S
2f90: 75 6e 4f 53 34 2e 0a 09 65 63 68 6f 20 73 70 61  unOS4...echo spa
2fa0: 72 63 2d 73 75 6e 2d 73 6f 6c 61 72 69 73 33 60  rc-sun-solaris3`
2fb0: 65 63 68 6f 20 24 7b 55 4e 41 4d 45 5f 52 45 4c  echo ${UNAME_REL
2fc0: 45 41 53 45 7d 7c 73 65 64 20 2d 65 20 27 73 2f  EASE}|sed -e 's/
2fd0: 5b 5e 2e 5d 2a 2f 2f 27 60 0a 09 65 78 69 74 20  [^.]*//'`..exit 
2fe0: 30 20 3b 3b 0a 20 20 20 20 73 75 6e 34 2a 3a 53  0 ;;.    sun4*:S
2ff0: 75 6e 4f 53 3a 2a 3a 2a 29 0a 09 63 61 73 65 20  unOS:*:*)..case 
3000: 22 60 2f 75 73 72 2f 62 69 6e 2f 61 72 63 68 20  "`/usr/bin/arch 
3010: 2d 6b 60 22 20 69 6e 0a 09 20 20 20 20 53 65 72  -k`" in..    Ser
3020: 69 65 73 2a 7c 53 34 2a 29 0a 09 09 55 4e 41 4d  ies*|S4*)...UNAM
3030: 45 5f 52 45 4c 45 41 53 45 3d 60 75 6e 61 6d 65  E_RELEASE=`uname
3040: 20 2d 76 60 0a 09 09 3b 3b 0a 09 65 73 61 63 0a   -v`...;;..esac.
3050: 09 23 20 4a 61 70 61 6e 65 73 65 20 4c 61 6e 67  .# Japanese Lang
3060: 75 61 67 65 20 76 65 72 73 69 6f 6e 73 20 68 61  uage versions ha
3070: 76 65 20 61 20 76 65 72 73 69 6f 6e 20 6e 75 6d  ve a version num
3080: 62 65 72 20 6c 69 6b 65 20 60 34 2e 31 2e 33 2d  ber like `4.1.3-
3090: 4a 4c 27 2e 0a 09 65 63 68 6f 20 73 70 61 72 63  JL'...echo sparc
30a0: 2d 73 75 6e 2d 73 75 6e 6f 73 60 65 63 68 6f 20  -sun-sunos`echo 
30b0: 24 7b 55 4e 41 4d 45 5f 52 45 4c 45 41 53 45 7d  ${UNAME_RELEASE}
30c0: 7c 73 65 64 20 2d 65 20 27 73 2f 2d 2f 5f 2f 27  |sed -e 's/-/_/'
30d0: 60 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20  `..exit 0 ;;.   
30e0: 20 73 75 6e 33 2a 3a 53 75 6e 4f 53 3a 2a 3a 2a   sun3*:SunOS:*:*
30f0: 29 0a 09 65 63 68 6f 20 6d 36 38 6b 2d 73 75 6e  )..echo m68k-sun
3100: 2d 73 75 6e 6f 73 24 7b 55 4e 41 4d 45 5f 52 45  -sunos${UNAME_RE
3110: 4c 45 41 53 45 7d 0a 09 65 78 69 74 20 30 20 3b  LEASE}..exit 0 ;
3120: 3b 0a 20 20 20 20 73 75 6e 2a 3a 2a 3a 34 2e 32  ;.    sun*:*:4.2
3130: 42 53 44 3a 2a 29 0a 09 55 4e 41 4d 45 5f 52 45  BSD:*)..UNAME_RE
3140: 4c 45 41 53 45 3d 60 28 73 65 64 20 31 71 20 2f  LEASE=`(sed 1q /
3150: 65 74 63 2f 6d 6f 74 64 20 7c 20 61 77 6b 20 27  etc/motd | awk '
3160: 7b 70 72 69 6e 74 20 73 75 62 73 74 72 28 24 35  {print substr($5
3170: 2c 31 2c 33 29 7d 27 29 20 32 3e 2f 64 65 76 2f  ,1,3)}') 2>/dev/
3180: 6e 75 6c 6c 60 0a 09 74 65 73 74 20 22 78 24 7b  null`..test "x${
3190: 55 4e 41 4d 45 5f 52 45 4c 45 41 53 45 7d 22 20  UNAME_RELEASE}" 
31a0: 3d 20 22 78 22 20 26 26 20 55 4e 41 4d 45 5f 52  = "x" && UNAME_R
31b0: 45 4c 45 41 53 45 3d 33 0a 09 63 61 73 65 20 22  ELEASE=3..case "
31c0: 60 2f 62 69 6e 2f 61 72 63 68 60 22 20 69 6e 0a  `/bin/arch`" in.
31d0: 09 20 20 20 20 73 75 6e 33 29 0a 09 09 65 63 68  .    sun3)...ech
31e0: 6f 20 6d 36 38 6b 2d 73 75 6e 2d 73 75 6e 6f 73  o m68k-sun-sunos
31f0: 24 7b 55 4e 41 4d 45 5f 52 45 4c 45 41 53 45 7d  ${UNAME_RELEASE}
3200: 0a 09 09 3b 3b 0a 09 20 20 20 20 73 75 6e 34 29  ...;;..    sun4)
3210: 0a 09 09 65 63 68 6f 20 73 70 61 72 63 2d 73 75  ...echo sparc-su
3220: 6e 2d 73 75 6e 6f 73 24 7b 55 4e 41 4d 45 5f 52  n-sunos${UNAME_R
3230: 45 4c 45 41 53 45 7d 0a 09 09 3b 3b 0a 09 65 73  ELEASE}...;;..es
3240: 61 63 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20  ac..exit 0 ;;.  
3250: 20 20 61 75 73 68 70 3a 53 75 6e 4f 53 3a 2a 3a    aushp:SunOS:*:
3260: 2a 29 0a 09 65 63 68 6f 20 73 70 61 72 63 2d 61  *)..echo sparc-a
3270: 75 73 70 65 78 2d 73 75 6e 6f 73 24 7b 55 4e 41  uspex-sunos${UNA
3280: 4d 45 5f 52 45 4c 45 41 53 45 7d 0a 09 65 78 69  ME_RELEASE}..exi
3290: 74 20 30 20 3b 3b 0a 20 20 20 20 23 20 54 68 65  t 0 ;;.    # The
32a0: 20 73 69 74 75 61 74 69 6f 6e 20 66 6f 72 20 4d   situation for M
32b0: 69 4e 54 20 69 73 20 61 20 6c 69 74 74 6c 65 20  iNT is a little 
32c0: 63 6f 6e 66 75 73 69 6e 67 2e 20 20 54 68 65 20  confusing.  The 
32d0: 6d 61 63 68 69 6e 65 20 6e 61 6d 65 0a 20 20 20  machine name.   
32e0: 20 23 20 63 61 6e 20 62 65 20 76 69 72 74 75 61   # can be virtua
32f0: 6c 6c 79 20 65 76 65 72 79 74 68 69 6e 67 20 28  lly everything (
3300: 65 76 65 72 79 74 68 69 6e 67 20 77 68 69 63 68  everything which
3310: 20 69 73 20 6e 6f 74 0a 20 20 20 20 23 20 22 61   is not.    # "a
3320: 74 61 72 69 73 74 22 20 6f 72 20 22 61 74 61 72  tarist" or "atar
3330: 69 73 74 65 22 20 61 74 20 6c 65 61 73 74 20 73  iste" at least s
3340: 68 6f 75 6c 64 20 68 61 76 65 20 61 20 70 72 6f  hould have a pro
3350: 63 65 73 73 6f 72 0a 20 20 20 20 23 20 3e 20 6d  cessor.    # > m
3360: 36 38 30 30 30 29 2e 20 20 54 68 65 20 73 79 73  68000).  The sys
3370: 74 65 6d 20 6e 61 6d 65 20 72 61 6e 67 65 73 20  tem name ranges 
3380: 66 72 6f 6d 20 22 4d 69 4e 54 22 20 6f 76 65 72  from "MiNT" over
3390: 20 22 46 72 65 65 4d 69 4e 54 22 0a 20 20 20 20   "FreeMiNT".    
33a0: 23 20 74 6f 20 74 68 65 20 6c 6f 77 65 72 63 61  # to the lowerca
33b0: 73 65 20 76 65 72 73 69 6f 6e 20 22 6d 69 6e 74  se version "mint
33c0: 22 20 28 6f 72 20 22 66 72 65 65 6d 69 6e 74 22  " (or "freemint"
33d0: 29 2e 20 20 46 69 6e 61 6c 6c 79 0a 20 20 20 20  ).  Finally.    
33e0: 23 20 74 68 65 20 73 79 73 74 65 6d 20 6e 61 6d  # the system nam
33f0: 65 20 22 54 4f 53 22 20 64 65 6e 6f 74 65 73 20  e "TOS" denotes 
3400: 61 20 73 79 73 74 65 6d 20 77 68 69 63 68 20 69  a system which i
3410: 73 20 61 63 74 75 61 6c 6c 79 20 6e 6f 74 0a 20  s actually not. 
3420: 20 20 20 23 20 4d 69 4e 54 2e 20 20 42 75 74 20     # MiNT.  But 
3430: 4d 69 4e 54 20 69 73 20 64 6f 77 6e 77 61 72 64  MiNT is downward
3440: 20 63 6f 6d 70 61 74 69 62 6c 65 20 74 6f 20 54   compatible to T
3450: 4f 53 2c 20 73 6f 20 74 68 69 73 20 73 68 6f 75  OS, so this shou
3460: 6c 64 0a 20 20 20 20 23 20 62 65 20 6e 6f 20 70  ld.    # be no p
3470: 72 6f 62 6c 65 6d 2e 0a 20 20 20 20 61 74 61 72  roblem..    atar
3480: 69 73 74 5b 65 5d 3a 2a 4d 69 4e 54 3a 2a 3a 2a  ist[e]:*MiNT:*:*
3490: 20 7c 20 61 74 61 72 69 73 74 5b 65 5d 3a 2a 6d   | atarist[e]:*m
34a0: 69 6e 74 3a 2a 3a 2a 20 7c 20 61 74 61 72 69 73  int:*:* | ataris
34b0: 74 5b 65 5d 3a 2a 54 4f 53 3a 2a 3a 2a 29 0a 20  t[e]:*TOS:*:*). 
34c0: 20 20 20 20 20 20 20 65 63 68 6f 20 6d 36 38 6b         echo m68k
34d0: 2d 61 74 61 72 69 2d 6d 69 6e 74 24 7b 55 4e 41  -atari-mint${UNA
34e0: 4d 45 5f 52 45 4c 45 41 53 45 7d 0a 09 65 78 69  ME_RELEASE}..exi
34f0: 74 20 30 20 3b 3b 0a 20 20 20 20 61 74 61 72 69  t 0 ;;.    atari
3500: 2a 3a 2a 4d 69 4e 54 3a 2a 3a 2a 20 7c 20 61 74  *:*MiNT:*:* | at
3510: 61 72 69 2a 3a 2a 6d 69 6e 74 3a 2a 3a 2a 20 7c  ari*:*mint:*:* |
3520: 20 61 74 61 72 69 73 74 5b 65 5d 3a 2a 54 4f 53   atarist[e]:*TOS
3530: 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20 6d 36 38 6b  :*:*)..echo m68k
3540: 2d 61 74 61 72 69 2d 6d 69 6e 74 24 7b 55 4e 41  -atari-mint${UNA
3550: 4d 45 5f 52 45 4c 45 41 53 45 7d 0a 20 20 20 20  ME_RELEASE}.    
3560: 20 20 20 20 65 78 69 74 20 30 20 3b 3b 0a 20 20      exit 0 ;;.  
3570: 20 20 2a 66 61 6c 63 6f 6e 2a 3a 2a 4d 69 4e 54    *falcon*:*MiNT
3580: 3a 2a 3a 2a 20 7c 20 2a 66 61 6c 63 6f 6e 2a 3a  :*:* | *falcon*:
3590: 2a 6d 69 6e 74 3a 2a 3a 2a 20 7c 20 2a 66 61 6c  *mint:*:* | *fal
35a0: 63 6f 6e 2a 3a 2a 54 4f 53 3a 2a 3a 2a 29 0a 20  con*:*TOS:*:*). 
35b0: 20 20 20 20 20 20 20 65 63 68 6f 20 6d 36 38 6b         echo m68k
35c0: 2d 61 74 61 72 69 2d 6d 69 6e 74 24 7b 55 4e 41  -atari-mint${UNA
35d0: 4d 45 5f 52 45 4c 45 41 53 45 7d 0a 09 65 78 69  ME_RELEASE}..exi
35e0: 74 20 30 20 3b 3b 0a 20 20 20 20 6d 69 6c 61 6e  t 0 ;;.    milan
35f0: 2a 3a 2a 4d 69 4e 54 3a 2a 3a 2a 20 7c 20 6d 69  *:*MiNT:*:* | mi
3600: 6c 61 6e 2a 3a 2a 6d 69 6e 74 3a 2a 3a 2a 20 7c  lan*:*mint:*:* |
3610: 20 2a 6d 69 6c 61 6e 2a 3a 2a 54 4f 53 3a 2a 3a   *milan*:*TOS:*:
3620: 2a 29 0a 20 20 20 20 20 20 20 20 65 63 68 6f 20  *).        echo 
3630: 6d 36 38 6b 2d 6d 69 6c 61 6e 2d 6d 69 6e 74 24  m68k-milan-mint$
3640: 7b 55 4e 41 4d 45 5f 52 45 4c 45 41 53 45 7d 0a  {UNAME_RELEASE}.
3650: 20 20 20 20 20 20 20 20 65 78 69 74 20 30 20 3b          exit 0 ;
3660: 3b 0a 20 20 20 20 68 61 64 65 73 2a 3a 2a 4d 69  ;.    hades*:*Mi
3670: 4e 54 3a 2a 3a 2a 20 7c 20 68 61 64 65 73 2a 3a  NT:*:* | hades*:
3680: 2a 6d 69 6e 74 3a 2a 3a 2a 20 7c 20 2a 68 61 64  *mint:*:* | *had
3690: 65 73 2a 3a 2a 54 4f 53 3a 2a 3a 2a 29 0a 20 20  es*:*TOS:*:*).  
36a0: 20 20 20 20 20 20 65 63 68 6f 20 6d 36 38 6b 2d        echo m68k-
36b0: 68 61 64 65 73 2d 6d 69 6e 74 24 7b 55 4e 41 4d  hades-mint${UNAM
36c0: 45 5f 52 45 4c 45 41 53 45 7d 0a 20 20 20 20 20  E_RELEASE}.     
36d0: 20 20 20 65 78 69 74 20 30 20 3b 3b 0a 20 20 20     exit 0 ;;.   
36e0: 20 2a 3a 2a 4d 69 4e 54 3a 2a 3a 2a 20 7c 20 2a   *:*MiNT:*:* | *
36f0: 3a 2a 6d 69 6e 74 3a 2a 3a 2a 20 7c 20 2a 3a 2a  :*mint:*:* | *:*
3700: 54 4f 53 3a 2a 3a 2a 29 0a 20 20 20 20 20 20 20  TOS:*:*).       
3710: 20 65 63 68 6f 20 6d 36 38 6b 2d 75 6e 6b 6e 6f   echo m68k-unkno
3720: 77 6e 2d 6d 69 6e 74 24 7b 55 4e 41 4d 45 5f 52  wn-mint${UNAME_R
3730: 45 4c 45 41 53 45 7d 0a 20 20 20 20 20 20 20 20  ELEASE}.        
3740: 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 6d 36  exit 0 ;;.    m6
3750: 38 6b 3a 6d 61 63 68 74 65 6e 3a 2a 3a 2a 29 0a  8k:machten:*:*).
3760: 09 65 63 68 6f 20 6d 36 38 6b 2d 61 70 70 6c 65  .echo m68k-apple
3770: 2d 6d 61 63 68 74 65 6e 24 7b 55 4e 41 4d 45 5f  -machten${UNAME_
3780: 52 45 4c 45 41 53 45 7d 0a 09 65 78 69 74 20 30  RELEASE}..exit 0
3790: 20 3b 3b 0a 20 20 20 20 70 6f 77 65 72 70 63 3a   ;;.    powerpc:
37a0: 6d 61 63 68 74 65 6e 3a 2a 3a 2a 29 0a 09 65 63  machten:*:*)..ec
37b0: 68 6f 20 70 6f 77 65 72 70 63 2d 61 70 70 6c 65  ho powerpc-apple
37c0: 2d 6d 61 63 68 74 65 6e 24 7b 55 4e 41 4d 45 5f  -machten${UNAME_
37d0: 52 45 4c 45 41 53 45 7d 0a 09 65 78 69 74 20 30  RELEASE}..exit 0
37e0: 20 3b 3b 0a 20 20 20 20 52 49 53 43 2a 3a 4d 61   ;;.    RISC*:Ma
37f0: 63 68 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20 6d 69  ch:*:*)..echo mi
3800: 70 73 2d 64 65 63 2d 6d 61 63 68 5f 62 73 64 34  ps-dec-mach_bsd4
3810: 2e 33 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20  .3..exit 0 ;;.  
3820: 20 20 52 49 53 43 2a 3a 55 4c 54 52 49 58 3a 2a    RISC*:ULTRIX:*
3830: 3a 2a 29 0a 09 65 63 68 6f 20 6d 69 70 73 2d 64  :*)..echo mips-d
3840: 65 63 2d 75 6c 74 72 69 78 24 7b 55 4e 41 4d 45  ec-ultrix${UNAME
3850: 5f 52 45 4c 45 41 53 45 7d 0a 09 65 78 69 74 20  _RELEASE}..exit 
3860: 30 20 3b 3b 0a 20 20 20 20 56 41 58 2a 3a 55 4c  0 ;;.    VAX*:UL
3870: 54 52 49 58 2a 3a 2a 3a 2a 29 0a 09 65 63 68 6f  TRIX*:*:*)..echo
3880: 20 76 61 78 2d 64 65 63 2d 75 6c 74 72 69 78 24   vax-dec-ultrix$
3890: 7b 55 4e 41 4d 45 5f 52 45 4c 45 41 53 45 7d 0a  {UNAME_RELEASE}.
38a0: 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 32  .exit 0 ;;.    2
38b0: 30 32 30 3a 43 4c 49 58 3a 2a 3a 2a 20 7c 20 32  020:CLIX:*:* | 2
38c0: 34 33 30 3a 43 4c 49 58 3a 2a 3a 2a 29 0a 09 65  430:CLIX:*:*)..e
38d0: 63 68 6f 20 63 6c 69 70 70 65 72 2d 69 6e 74 65  cho clipper-inte
38e0: 72 67 72 61 70 68 2d 63 6c 69 78 24 7b 55 4e 41  rgraph-clix${UNA
38f0: 4d 45 5f 52 45 4c 45 41 53 45 7d 0a 09 65 78 69  ME_RELEASE}..exi
3900: 74 20 30 20 3b 3b 0a 20 20 20 20 6d 69 70 73 3a  t 0 ;;.    mips:
3910: 2a 3a 2a 3a 55 4d 49 50 53 20 7c 20 6d 69 70 73  *:*:UMIPS | mips
3920: 3a 2a 3a 2a 3a 52 49 53 43 6f 73 29 0a 09 65 76  :*:*:RISCos)..ev
3930: 61 6c 20 24 73 65 74 5f 63 63 5f 66 6f 72 5f 62  al $set_cc_for_b
3940: 75 69 6c 64 0a 09 73 65 64 20 27 73 2f 5e 09 2f  uild..sed 's/^./
3950: 2f 27 20 3c 3c 20 45 4f 46 20 3e 24 64 75 6d 6d  /' << EOF >$dumm
3960: 79 2e 63 0a 23 69 66 64 65 66 20 5f 5f 63 70 6c  y.c.#ifdef __cpl
3970: 75 73 70 6c 75 73 0a 23 69 6e 63 6c 75 64 65 20  usplus.#include 
3980: 3c 73 74 64 69 6f 2e 68 3e 20 20 2f 2a 20 66 6f  <stdio.h>  /* fo
3990: 72 20 70 72 69 6e 74 66 28 29 20 70 72 6f 74 6f  r printf() proto
39a0: 74 79 70 65 20 2a 2f 0a 09 69 6e 74 20 6d 61 69  type */..int mai
39b0: 6e 20 28 69 6e 74 20 61 72 67 63 2c 20 63 68 61  n (int argc, cha
39c0: 72 20 2a 61 72 67 76 5b 5d 29 20 7b 0a 23 65 6c  r *argv[]) {.#el
39d0: 73 65 0a 09 69 6e 74 20 6d 61 69 6e 20 28 61 72  se..int main (ar
39e0: 67 63 2c 20 61 72 67 76 29 20 69 6e 74 20 61 72  gc, argv) int ar
39f0: 67 63 3b 20 63 68 61 72 20 2a 61 72 67 76 5b 5d  gc; char *argv[]
3a00: 3b 20 7b 0a 23 65 6e 64 69 66 0a 09 23 69 66 20  ; {.#endif..#if 
3a10: 64 65 66 69 6e 65 64 20 28 68 6f 73 74 5f 6d 69  defined (host_mi
3a20: 70 73 29 20 26 26 20 64 65 66 69 6e 65 64 20 28  ps) && defined (
3a30: 4d 49 50 53 45 42 29 0a 09 23 69 66 20 64 65 66  MIPSEB)..#if def
3a40: 69 6e 65 64 20 28 53 59 53 54 59 50 45 5f 53 59  ined (SYSTYPE_SY
3a50: 53 56 29 0a 09 20 20 70 72 69 6e 74 66 20 28 22  SV)..  printf ("
3a60: 6d 69 70 73 2d 6d 69 70 73 2d 72 69 73 63 6f 73  mips-mips-riscos
3a70: 25 73 73 79 73 76 5c 6e 22 2c 20 61 72 67 76 5b  %ssysv\n", argv[
3a80: 31 5d 29 3b 20 65 78 69 74 20 28 30 29 3b 0a 09  1]); exit (0);..
3a90: 23 65 6e 64 69 66 0a 09 23 69 66 20 64 65 66 69  #endif..#if defi
3aa0: 6e 65 64 20 28 53 59 53 54 59 50 45 5f 53 56 52  ned (SYSTYPE_SVR
3ab0: 34 29 0a 09 20 20 70 72 69 6e 74 66 20 28 22 6d  4)..  printf ("m
3ac0: 69 70 73 2d 6d 69 70 73 2d 72 69 73 63 6f 73 25  ips-mips-riscos%
3ad0: 73 73 76 72 34 5c 6e 22 2c 20 61 72 67 76 5b 31  ssvr4\n", argv[1
3ae0: 5d 29 3b 20 65 78 69 74 20 28 30 29 3b 0a 09 23  ]); exit (0);..#
3af0: 65 6e 64 69 66 0a 09 23 69 66 20 64 65 66 69 6e  endif..#if defin
3b00: 65 64 20 28 53 59 53 54 59 50 45 5f 42 53 44 34  ed (SYSTYPE_BSD4
3b10: 33 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 53 59  3) || defined(SY
3b20: 53 54 59 50 45 5f 42 53 44 29 0a 09 20 20 70 72  STYPE_BSD)..  pr
3b30: 69 6e 74 66 20 28 22 6d 69 70 73 2d 6d 69 70 73  intf ("mips-mips
3b40: 2d 72 69 73 63 6f 73 25 73 62 73 64 5c 6e 22 2c  -riscos%sbsd\n",
3b50: 20 61 72 67 76 5b 31 5d 29 3b 20 65 78 69 74 20   argv[1]); exit 
3b60: 28 30 29 3b 0a 09 23 65 6e 64 69 66 0a 09 23 65  (0);..#endif..#e
3b70: 6e 64 69 66 0a 09 20 20 65 78 69 74 20 28 2d 31  ndif..  exit (-1
3b80: 29 3b 0a 09 7d 0a 45 4f 46 0a 09 24 43 43 5f 46  );..}.EOF..$CC_F
3b90: 4f 52 5f 42 55 49 4c 44 20 2d 6f 20 24 64 75 6d  OR_BUILD -o $dum
3ba0: 6d 79 20 24 64 75 6d 6d 79 2e 63 20 5c 0a 09 20  my $dummy.c \.. 
3bb0: 20 26 26 20 24 64 75 6d 6d 79 20 60 65 63 68 6f   && $dummy `echo
3bc0: 20 22 24 7b 55 4e 41 4d 45 5f 52 45 4c 45 41 53   "${UNAME_RELEAS
3bd0: 45 7d 22 20 7c 20 73 65 64 20 2d 6e 20 27 73 2f  E}" | sed -n 's/
3be0: 5c 28 5b 30 2d 39 5d 2a 5c 29 2e 2a 2f 5c 31 2f  \([0-9]*\).*/\1/
3bf0: 70 27 60 20 5c 0a 09 20 20 26 26 20 65 78 69 74  p'` \..  && exit
3c00: 20 30 0a 09 65 63 68 6f 20 6d 69 70 73 2d 6d 69   0..echo mips-mi
3c10: 70 73 2d 72 69 73 63 6f 73 24 7b 55 4e 41 4d 45  ps-riscos${UNAME
3c20: 5f 52 45 4c 45 41 53 45 7d 0a 09 65 78 69 74 20  _RELEASE}..exit 
3c30: 30 20 3b 3b 0a 20 20 20 20 4d 6f 74 6f 72 6f 6c  0 ;;.    Motorol
3c40: 61 3a 50 6f 77 65 72 4d 41 58 5f 4f 53 3a 2a 3a  a:PowerMAX_OS:*:
3c50: 2a 29 0a 09 65 63 68 6f 20 70 6f 77 65 72 70 63  *)..echo powerpc
3c60: 2d 6d 6f 74 6f 72 6f 6c 61 2d 70 6f 77 65 72 6d  -motorola-powerm
3c70: 61 78 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20  ax..exit 0 ;;.  
3c80: 20 20 4d 6f 74 6f 72 6f 6c 61 3a 2a 3a 34 2e 33    Motorola:*:4.3
3c90: 3a 50 4c 38 2d 2a 29 0a 09 65 63 68 6f 20 70 6f  :PL8-*)..echo po
3ca0: 77 65 72 70 63 2d 68 61 72 72 69 73 2d 70 6f 77  werpc-harris-pow
3cb0: 65 72 6d 61 78 0a 09 65 78 69 74 20 30 20 3b 3b  ermax..exit 0 ;;
3cc0: 0a 20 20 20 20 4e 69 67 68 74 5f 48 61 77 6b 3a  .    Night_Hawk:
3cd0: 2a 3a 2a 3a 50 6f 77 65 72 4d 41 58 5f 4f 53 20  *:*:PowerMAX_OS 
3ce0: 7c 20 53 79 6e 65 72 67 79 3a 50 6f 77 65 72 4d  | Synergy:PowerM
3cf0: 41 58 5f 4f 53 3a 2a 3a 2a 29 0a 09 65 63 68 6f  AX_OS:*:*)..echo
3d00: 20 70 6f 77 65 72 70 63 2d 68 61 72 72 69 73 2d   powerpc-harris-
3d10: 70 6f 77 65 72 6d 61 78 0a 09 65 78 69 74 20 30  powermax..exit 0
3d20: 20 3b 3b 0a 20 20 20 20 4e 69 67 68 74 5f 48 61   ;;.    Night_Ha
3d30: 77 6b 3a 50 6f 77 65 72 5f 55 4e 49 58 3a 2a 3a  wk:Power_UNIX:*:
3d40: 2a 29 0a 09 65 63 68 6f 20 70 6f 77 65 72 70 63  *)..echo powerpc
3d50: 2d 68 61 72 72 69 73 2d 70 6f 77 65 72 75 6e 69  -harris-poweruni
3d60: 78 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20  x..exit 0 ;;.   
3d70: 20 6d 38 38 6b 3a 43 58 2f 55 58 3a 37 2a 3a 2a   m88k:CX/UX:7*:*
3d80: 29 0a 09 65 63 68 6f 20 6d 38 38 6b 2d 68 61 72  )..echo m88k-har
3d90: 72 69 73 2d 63 78 75 78 37 0a 09 65 78 69 74 20  ris-cxux7..exit 
3da0: 30 20 3b 3b 0a 20 20 20 20 6d 38 38 6b 3a 2a 3a  0 ;;.    m88k:*:
3db0: 34 2a 3a 52 34 2a 29 0a 09 65 63 68 6f 20 6d 38  4*:R4*)..echo m8
3dc0: 38 6b 2d 6d 6f 74 6f 72 6f 6c 61 2d 73 79 73 76  8k-motorola-sysv
3dd0: 34 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20  4..exit 0 ;;.   
3de0: 20 6d 38 38 6b 3a 2a 3a 33 2a 3a 52 33 2a 29 0a   m88k:*:3*:R3*).
3df0: 09 65 63 68 6f 20 6d 38 38 6b 2d 6d 6f 74 6f 72  .echo m88k-motor
3e00: 6f 6c 61 2d 73 79 73 76 33 0a 09 65 78 69 74 20  ola-sysv3..exit 
3e10: 30 20 3b 3b 0a 20 20 20 20 41 56 69 69 4f 4e 3a  0 ;;.    AViiON:
3e20: 64 67 75 78 3a 2a 3a 2a 29 0a 20 20 20 20 20 20  dgux:*:*).      
3e30: 20 20 23 20 44 47 2f 55 58 20 72 65 74 75 72 6e    # DG/UX return
3e40: 73 20 41 56 69 69 4f 4e 20 66 6f 72 20 61 6c 6c  s AViiON for all
3e50: 20 61 72 63 68 69 74 65 63 74 75 72 65 73 0a 20   architectures. 
3e60: 20 20 20 20 20 20 20 55 4e 41 4d 45 5f 50 52 4f         UNAME_PRO
3e70: 43 45 53 53 4f 52 3d 60 2f 75 73 72 2f 62 69 6e  CESSOR=`/usr/bin
3e80: 2f 75 6e 61 6d 65 20 2d 70 60 0a 09 69 66 20 5b  /uname -p`..if [
3e90: 20 24 55 4e 41 4d 45 5f 50 52 4f 43 45 53 53 4f   $UNAME_PROCESSO
3ea0: 52 20 3d 20 6d 63 38 38 31 30 30 20 5d 20 7c 7c  R = mc88100 ] ||
3eb0: 20 5b 20 24 55 4e 41 4d 45 5f 50 52 4f 43 45 53   [ $UNAME_PROCES
3ec0: 53 4f 52 20 3d 20 6d 63 38 38 31 31 30 20 5d 0a  SOR = mc88110 ].
3ed0: 09 74 68 65 6e 0a 09 20 20 20 20 69 66 20 5b 20  .then..    if [ 
3ee0: 24 7b 54 41 52 47 45 54 5f 42 49 4e 41 52 59 5f  ${TARGET_BINARY_
3ef0: 49 4e 54 45 52 46 41 43 45 7d 78 20 3d 20 6d 38  INTERFACE}x = m8
3f00: 38 6b 64 67 75 78 65 6c 66 78 20 5d 20 7c 7c 20  8kdguxelfx ] || 
3f10: 5c 0a 09 20 20 20 20 20 20 20 5b 20 24 7b 54 41  \..       [ ${TA
3f20: 52 47 45 54 5f 42 49 4e 41 52 59 5f 49 4e 54 45  RGET_BINARY_INTE
3f30: 52 46 41 43 45 7d 78 20 3d 20 78 20 5d 0a 09 20  RFACE}x = x ].. 
3f40: 20 20 20 74 68 65 6e 0a 09 09 65 63 68 6f 20 6d     then...echo m
3f50: 38 38 6b 2d 64 67 2d 64 67 75 78 24 7b 55 4e 41  88k-dg-dgux${UNA
3f60: 4d 45 5f 52 45 4c 45 41 53 45 7d 0a 09 20 20 20  ME_RELEASE}..   
3f70: 20 65 6c 73 65 0a 09 09 65 63 68 6f 20 6d 38 38   else...echo m88
3f80: 6b 2d 64 67 2d 64 67 75 78 62 63 73 24 7b 55 4e  k-dg-dguxbcs${UN
3f90: 41 4d 45 5f 52 45 4c 45 41 53 45 7d 0a 09 20 20  AME_RELEASE}..  
3fa0: 20 20 66 69 0a 09 65 6c 73 65 0a 09 20 20 20 20    fi..else..    
3fb0: 65 63 68 6f 20 69 35 38 36 2d 64 67 2d 64 67 75  echo i586-dg-dgu
3fc0: 78 24 7b 55 4e 41 4d 45 5f 52 45 4c 45 41 53 45  x${UNAME_RELEASE
3fd0: 7d 0a 09 66 69 0a 20 09 65 78 69 74 20 30 20 3b  }..fi. .exit 0 ;
3fe0: 3b 0a 20 20 20 20 4d 38 38 2a 3a 44 6f 6c 70 68  ;.    M88*:Dolph
3ff0: 69 6e 4f 53 3a 2a 3a 2a 29 09 23 20 44 6f 6c 70  inOS:*:*).# Dolp
4000: 68 69 6e 4f 53 20 28 53 56 52 33 29 0a 09 65 63  hinOS (SVR3)..ec
4010: 68 6f 20 6d 38 38 6b 2d 64 6f 6c 70 68 69 6e 2d  ho m88k-dolphin-
4020: 73 79 73 76 33 0a 09 65 78 69 74 20 30 20 3b 3b  sysv3..exit 0 ;;
4030: 0a 20 20 20 20 4d 38 38 2a 3a 2a 3a 52 33 2a 3a  .    M88*:*:R3*:
4040: 2a 29 0a 09 23 20 44 65 6c 74 61 20 38 38 6b 20  *)..# Delta 88k 
4050: 73 79 73 74 65 6d 20 72 75 6e 6e 69 6e 67 20 53  system running S
4060: 56 52 33 0a 09 65 63 68 6f 20 6d 38 38 6b 2d 6d  VR3..echo m88k-m
4070: 6f 74 6f 72 6f 6c 61 2d 73 79 73 76 33 0a 09 65  otorola-sysv3..e
4080: 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 58 44 38  xit 0 ;;.    XD8
4090: 38 2a 3a 2a 3a 2a 3a 2a 29 20 23 20 54 65 6b 74  8*:*:*:*) # Tekt
40a0: 72 6f 6e 69 78 20 58 44 38 38 20 73 79 73 74 65  ronix XD88 syste
40b0: 6d 20 72 75 6e 6e 69 6e 67 20 55 54 65 6b 56 20  m running UTekV 
40c0: 28 53 56 52 33 29 0a 09 65 63 68 6f 20 6d 38 38  (SVR3)..echo m88
40d0: 6b 2d 74 65 6b 74 72 6f 6e 69 78 2d 73 79 73 76  k-tektronix-sysv
40e0: 33 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20  3..exit 0 ;;.   
40f0: 20 54 65 6b 34 33 5b 30 2d 39 5d 5b 30 2d 39 5d   Tek43[0-9][0-9]
4100: 3a 55 54 65 6b 3a 2a 3a 2a 29 20 23 20 54 65 6b  :UTek:*:*) # Tek
4110: 74 72 6f 6e 69 78 20 34 33 30 30 20 73 79 73 74  tronix 4300 syst
4120: 65 6d 20 72 75 6e 6e 69 6e 67 20 55 54 65 6b 20  em running UTek 
4130: 28 42 53 44 29 0a 09 65 63 68 6f 20 6d 36 38 6b  (BSD)..echo m68k
4140: 2d 74 65 6b 74 72 6f 6e 69 78 2d 62 73 64 0a 09  -tektronix-bsd..
4150: 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 2a 3a  exit 0 ;;.    *:
4160: 49 52 49 58 2a 3a 2a 3a 2a 29 0a 09 65 63 68 6f  IRIX*:*:*)..echo
4170: 20 6d 69 70 73 2d 73 67 69 2d 69 72 69 78 60 65   mips-sgi-irix`e
4180: 63 68 6f 20 24 7b 55 4e 41 4d 45 5f 52 45 4c 45  cho ${UNAME_RELE
4190: 41 53 45 7d 7c 73 65 64 20 2d 65 20 27 73 2f 2d  ASE}|sed -e 's/-
41a0: 2f 5f 2f 67 27 60 0a 09 65 78 69 74 20 30 20 3b  /_/g'`..exit 0 ;
41b0: 3b 0a 20 20 20 20 3f 3f 3f 3f 3f 3f 3f 3f 3a 41  ;.    ????????:A
41c0: 49 58 3f 3a 5b 31 32 5d 2e 31 3a 32 29 20 20 20  IX?:[12].1:2)   
41d0: 23 20 41 49 58 20 32 2e 32 2e 31 20 6f 72 20 41  # AIX 2.2.1 or A
41e0: 49 58 20 32 2e 31 2e 31 20 69 73 20 52 54 2f 50  IX 2.1.1 is RT/P
41f0: 43 20 41 49 58 2e 0a 09 65 63 68 6f 20 72 6f 6d  C AIX...echo rom
4200: 70 2d 69 62 6d 2d 61 69 78 20 20 20 20 20 20 23  p-ibm-aix      #
4210: 20 75 6e 61 6d 65 20 2d 6d 20 67 69 76 65 73 20   uname -m gives 
4220: 61 6e 20 38 20 68 65 78 2d 63 6f 64 65 20 43 50  an 8 hex-code CP
4230: 55 20 69 64 0a 09 65 78 69 74 20 30 20 3b 3b 20  U id..exit 0 ;; 
4240: 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 4e               # N
4250: 6f 74 65 20 74 68 61 74 3a 20 65 63 68 6f 20 22  ote that: echo "
4260: 27 60 75 6e 61 6d 65 20 2d 73 60 27 22 20 67 69  '`uname -s`'" gi
4270: 76 65 73 20 27 41 49 58 20 27 0a 20 20 20 20 69  ves 'AIX '.    i
4280: 2a 38 36 3a 41 49 58 3a 2a 3a 2a 29 0a 09 65 63  *86:AIX:*:*)..ec
4290: 68 6f 20 69 33 38 36 2d 69 62 6d 2d 61 69 78 0a  ho i386-ibm-aix.
42a0: 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 69  .exit 0 ;;.    i
42b0: 61 36 34 3a 41 49 58 3a 2a 3a 2a 29 0a 09 69 66  a64:AIX:*:*)..if
42c0: 20 5b 20 2d 78 20 2f 75 73 72 2f 62 69 6e 2f 6f   [ -x /usr/bin/o
42d0: 73 6c 65 76 65 6c 20 5d 20 3b 20 74 68 65 6e 0a  slevel ] ; then.
42e0: 09 09 49 42 4d 5f 52 45 56 3d 60 2f 75 73 72 2f  ..IBM_REV=`/usr/
42f0: 62 69 6e 2f 6f 73 6c 65 76 65 6c 60 0a 09 65 6c  bin/oslevel`..el
4300: 73 65 0a 09 09 49 42 4d 5f 52 45 56 3d 24 7b 55  se...IBM_REV=${U
4310: 4e 41 4d 45 5f 56 45 52 53 49 4f 4e 7d 2e 24 7b  NAME_VERSION}.${
4320: 55 4e 41 4d 45 5f 52 45 4c 45 41 53 45 7d 0a 09  UNAME_RELEASE}..
4330: 66 69 0a 09 65 63 68 6f 20 24 7b 55 4e 41 4d 45  fi..echo ${UNAME
4340: 5f 4d 41 43 48 49 4e 45 7d 2d 69 62 6d 2d 61 69  _MACHINE}-ibm-ai
4350: 78 24 7b 49 42 4d 5f 52 45 56 7d 0a 09 65 78 69  x${IBM_REV}..exi
4360: 74 20 30 20 3b 3b 0a 20 20 20 20 2a 3a 41 49 58  t 0 ;;.    *:AIX
4370: 3a 32 3a 33 29 0a 09 69 66 20 67 72 65 70 20 62  :2:3)..if grep b
4380: 6f 73 33 32 35 20 2f 75 73 72 2f 69 6e 63 6c 75  os325 /usr/inclu
4390: 64 65 2f 73 74 64 69 6f 2e 68 20 3e 2f 64 65 76  de/stdio.h >/dev
43a0: 2f 6e 75 6c 6c 20 32 3e 26 31 3b 20 74 68 65 6e  /null 2>&1; then
43b0: 0a 09 09 65 76 61 6c 20 24 73 65 74 5f 63 63 5f  ...eval $set_cc_
43c0: 66 6f 72 5f 62 75 69 6c 64 0a 09 09 73 65 64 20  for_build...sed 
43d0: 27 73 2f 5e 09 09 2f 2f 27 20 3c 3c 20 45 4f 46  's/^..//' << EOF
43e0: 20 3e 24 64 75 6d 6d 79 2e 63 0a 09 09 23 69 6e   >$dummy.c...#in
43f0: 63 6c 75 64 65 20 3c 73 79 73 2f 73 79 73 74 65  clude <sys/syste
4400: 6d 63 66 67 2e 68 3e 0a 0a 09 09 6d 61 69 6e 28  mcfg.h>....main(
4410: 29 0a 09 09 09 7b 0a 09 09 09 69 66 20 28 21 5f  )....{....if (!_
4420: 5f 70 6f 77 65 72 5f 70 63 28 29 29 0a 09 09 09  _power_pc())....
4430: 09 65 78 69 74 28 31 29 3b 0a 09 09 09 70 75 74  .exit(1);....put
4440: 73 28 22 70 6f 77 65 72 70 63 2d 69 62 6d 2d 61  s("powerpc-ibm-a
4450: 69 78 33 2e 32 2e 35 22 29 3b 0a 09 09 09 65 78  ix3.2.5");....ex
4460: 69 74 28 30 29 3b 0a 09 09 09 7d 0a 45 4f 46 0a  it(0);....}.EOF.
4470: 09 09 24 43 43 5f 46 4f 52 5f 42 55 49 4c 44 20  ..$CC_FOR_BUILD 
4480: 2d 6f 20 24 64 75 6d 6d 79 20 24 64 75 6d 6d 79  -o $dummy $dummy
4490: 2e 63 20 26 26 20 24 64 75 6d 6d 79 20 26 26 20  .c && $dummy && 
44a0: 65 78 69 74 20 30 0a 09 09 65 63 68 6f 20 72 73  exit 0...echo rs
44b0: 36 30 30 30 2d 69 62 6d 2d 61 69 78 33 2e 32 2e  6000-ibm-aix3.2.
44c0: 35 0a 09 65 6c 69 66 20 67 72 65 70 20 62 6f 73  5..elif grep bos
44d0: 33 32 34 20 2f 75 73 72 2f 69 6e 63 6c 75 64 65  324 /usr/include
44e0: 2f 73 74 64 69 6f 2e 68 20 3e 2f 64 65 76 2f 6e  /stdio.h >/dev/n
44f0: 75 6c 6c 20 32 3e 26 31 3b 20 74 68 65 6e 0a 09  ull 2>&1; then..
4500: 09 65 63 68 6f 20 72 73 36 30 30 30 2d 69 62 6d  .echo rs6000-ibm
4510: 2d 61 69 78 33 2e 32 2e 34 0a 09 65 6c 73 65 0a  -aix3.2.4..else.
4520: 09 09 65 63 68 6f 20 72 73 36 30 30 30 2d 69 62  ..echo rs6000-ib
4530: 6d 2d 61 69 78 33 2e 32 0a 09 66 69 0a 09 65 78  m-aix3.2..fi..ex
4540: 69 74 20 30 20 3b 3b 0a 20 20 20 20 2a 3a 41 49  it 0 ;;.    *:AI
4550: 58 3a 2a 3a 5b 34 35 5d 29 0a 09 49 42 4d 5f 43  X:*:[45])..IBM_C
4560: 50 55 5f 49 44 3d 60 2f 75 73 72 2f 73 62 69 6e  PU_ID=`/usr/sbin
4570: 2f 6c 73 64 65 76 20 2d 43 20 2d 63 20 70 72 6f  /lsdev -C -c pro
4580: 63 65 73 73 6f 72 20 2d 53 20 61 76 61 69 6c 61  cessor -S availa
4590: 62 6c 65 20 7c 20 73 65 64 20 31 71 20 7c 20 61  ble | sed 1q | a
45a0: 77 6b 20 27 7b 20 70 72 69 6e 74 20 24 31 20 7d  wk '{ print $1 }
45b0: 27 60 0a 09 69 66 20 2f 75 73 72 2f 73 62 69 6e  '`..if /usr/sbin
45c0: 2f 6c 73 61 74 74 72 20 2d 45 6c 20 24 7b 49 42  /lsattr -El ${IB
45d0: 4d 5f 43 50 55 5f 49 44 7d 20 7c 20 67 72 65 70  M_CPU_ID} | grep
45e0: 20 27 20 50 4f 57 45 52 27 20 3e 2f 64 65 76 2f   ' POWER' >/dev/
45f0: 6e 75 6c 6c 20 32 3e 26 31 3b 20 74 68 65 6e 0a  null 2>&1; then.
4600: 09 09 49 42 4d 5f 41 52 43 48 3d 72 73 36 30 30  ..IBM_ARCH=rs600
4610: 30 0a 09 65 6c 73 65 0a 09 09 49 42 4d 5f 41 52  0..else...IBM_AR
4620: 43 48 3d 70 6f 77 65 72 70 63 0a 09 66 69 0a 09  CH=powerpc..fi..
4630: 69 66 20 5b 20 2d 78 20 2f 75 73 72 2f 62 69 6e  if [ -x /usr/bin
4640: 2f 6f 73 6c 65 76 65 6c 20 5d 20 3b 20 74 68 65  /oslevel ] ; the
4650: 6e 0a 09 09 49 42 4d 5f 52 45 56 3d 60 2f 75 73  n...IBM_REV=`/us
4660: 72 2f 62 69 6e 2f 6f 73 6c 65 76 65 6c 60 0a 09  r/bin/oslevel`..
4670: 65 6c 73 65 0a 09 09 49 42 4d 5f 52 45 56 3d 24  else...IBM_REV=$
4680: 7b 55 4e 41 4d 45 5f 56 45 52 53 49 4f 4e 7d 2e  {UNAME_VERSION}.
4690: 24 7b 55 4e 41 4d 45 5f 52 45 4c 45 41 53 45 7d  ${UNAME_RELEASE}
46a0: 0a 09 66 69 0a 09 65 63 68 6f 20 24 7b 49 42 4d  ..fi..echo ${IBM
46b0: 5f 41 52 43 48 7d 2d 69 62 6d 2d 61 69 78 24 7b  _ARCH}-ibm-aix${
46c0: 49 42 4d 5f 52 45 56 7d 0a 09 65 78 69 74 20 30  IBM_REV}..exit 0
46d0: 20 3b 3b 0a 20 20 20 20 2a 3a 41 49 58 3a 2a 3a   ;;.    *:AIX:*:
46e0: 2a 29 0a 09 65 63 68 6f 20 72 73 36 30 30 30 2d  *)..echo rs6000-
46f0: 69 62 6d 2d 61 69 78 0a 09 65 78 69 74 20 30 20  ibm-aix..exit 0 
4700: 3b 3b 0a 20 20 20 20 69 62 6d 72 74 3a 34 2e 34  ;;.    ibmrt:4.4
4710: 42 53 44 3a 2a 7c 72 6f 6d 70 2d 69 62 6d 3a 42  BSD:*|romp-ibm:B
4720: 53 44 3a 2a 29 0a 09 65 63 68 6f 20 72 6f 6d 70  SD:*)..echo romp
4730: 2d 69 62 6d 2d 62 73 64 34 2e 34 0a 09 65 78 69  -ibm-bsd4.4..exi
4740: 74 20 30 20 3b 3b 0a 20 20 20 20 69 62 6d 72 74  t 0 ;;.    ibmrt
4750: 3a 2a 42 53 44 3a 2a 7c 72 6f 6d 70 2d 69 62 6d  :*BSD:*|romp-ibm
4760: 3a 42 53 44 3a 2a 29 20 20 20 20 20 20 20 20 20  :BSD:*)         
4770: 20 20 20 23 20 63 6f 76 65 72 73 20 52 54 2f 50     # covers RT/P
4780: 43 20 42 53 44 20 61 6e 64 0a 09 65 63 68 6f 20  C BSD and..echo 
4790: 72 6f 6d 70 2d 69 62 6d 2d 62 73 64 24 7b 55 4e  romp-ibm-bsd${UN
47a0: 41 4d 45 5f 52 45 4c 45 41 53 45 7d 20 20 20 23  AME_RELEASE}   #
47b0: 20 34 2e 33 20 77 69 74 68 20 75 6e 61 6d 65 20   4.3 with uname 
47c0: 61 64 64 65 64 20 74 6f 0a 09 65 78 69 74 20 30  added to..exit 0
47d0: 20 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 20   ;;             
47e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20                # 
47f0: 72 65 70 6f 72 74 3a 20 72 6f 6d 70 2d 69 62 6d  report: romp-ibm
4800: 20 42 53 44 20 34 2e 33 0a 20 20 20 20 2a 3a 42   BSD 4.3.    *:B
4810: 4f 53 58 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20 72  OSX:*:*)..echo r
4820: 73 36 30 30 30 2d 62 75 6c 6c 2d 62 6f 73 78 0a  s6000-bull-bosx.
4830: 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 44  .exit 0 ;;.    D
4840: 50 58 2f 32 3f 30 30 3a 42 2e 4f 2e 53 2e 3a 2a  PX/2?00:B.O.S.:*
4850: 3a 2a 29 0a 09 65 63 68 6f 20 6d 36 38 6b 2d 62  :*)..echo m68k-b
4860: 75 6c 6c 2d 73 79 73 76 33 0a 09 65 78 69 74 20  ull-sysv3..exit 
4870: 30 20 3b 3b 0a 20 20 20 20 39 30 30 30 2f 5b 33  0 ;;.    9000/[3
4880: 34 5d 3f 3f 3a 34 2e 33 62 73 64 3a 31 2e 2a 3a  4]??:4.3bsd:1.*:
4890: 2a 29 0a 09 65 63 68 6f 20 6d 36 38 6b 2d 68 70  *)..echo m68k-hp
48a0: 2d 62 73 64 0a 09 65 78 69 74 20 30 20 3b 3b 0a  -bsd..exit 0 ;;.
48b0: 20 20 20 20 68 70 33 30 30 3a 34 2e 34 42 53 44      hp300:4.4BSD
48c0: 3a 2a 3a 2a 20 7c 20 39 30 30 30 2f 5b 33 34 5d  :*:* | 9000/[34]
48d0: 3f 3f 3a 34 2e 33 62 73 64 3a 32 2e 2a 3a 2a 29  ??:4.3bsd:2.*:*)
48e0: 0a 09 65 63 68 6f 20 6d 36 38 6b 2d 68 70 2d 62  ..echo m68k-hp-b
48f0: 73 64 34 2e 34 0a 09 65 78 69 74 20 30 20 3b 3b  sd4.4..exit 0 ;;
4900: 0a 20 20 20 20 39 30 30 30 2f 5b 33 34 36 37 38  .    9000/[34678
4910: 5d 3f 3f 3a 48 50 2d 55 58 3a 2a 3a 2a 29 0a 09  ]??:HP-UX:*:*)..
4920: 48 50 55 58 5f 52 45 56 3d 60 65 63 68 6f 20 24  HPUX_REV=`echo $
4930: 7b 55 4e 41 4d 45 5f 52 45 4c 45 41 53 45 7d 7c  {UNAME_RELEASE}|
4940: 73 65 64 20 2d 65 20 27 73 2f 5b 5e 2e 5d 2a 2e  sed -e 's/[^.]*.
4950: 5b 30 42 5d 2a 2f 2f 27 60 0a 09 63 61 73 65 20  [0B]*//'`..case 
4960: 22 24 7b 55 4e 41 4d 45 5f 4d 41 43 48 49 4e 45  "${UNAME_MACHINE
4970: 7d 22 20 69 6e 0a 09 20 20 20 20 39 30 30 30 2f  }" in..    9000/
4980: 33 31 3f 20 29 20 20 20 20 20 20 20 20 20 20 20  31? )           
4990: 20 48 50 5f 41 52 43 48 3d 6d 36 38 30 30 30 20   HP_ARCH=m68000 
49a0: 3b 3b 0a 09 20 20 20 20 39 30 30 30 2f 5b 33 34  ;;..    9000/[34
49b0: 5d 3f 3f 20 29 20 20 20 20 20 20 20 20 20 48 50  ]?? )         HP
49c0: 5f 41 52 43 48 3d 6d 36 38 6b 20 3b 3b 0a 09 20  _ARCH=m68k ;;.. 
49d0: 20 20 20 39 30 30 30 2f 5b 36 37 38 5d 5b 30 2d     9000/[678][0-
49e0: 39 5d 5b 30 2d 39 5d 29 0a 09 09 69 66 20 5b 20  9][0-9])...if [ 
49f0: 2d 78 20 2f 75 73 72 2f 62 69 6e 2f 67 65 74 63  -x /usr/bin/getc
4a00: 6f 6e 66 20 5d 3b 20 74 68 65 6e 0a 09 09 20 20  onf ]; then...  
4a10: 20 20 73 63 5f 63 70 75 5f 76 65 72 73 69 6f 6e    sc_cpu_version
4a20: 3d 60 2f 75 73 72 2f 62 69 6e 2f 67 65 74 63 6f  =`/usr/bin/getco
4a30: 6e 66 20 53 43 5f 43 50 55 5f 56 45 52 53 49 4f  nf SC_CPU_VERSIO
4a40: 4e 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 60 0a 20  N 2>/dev/null`. 
4a50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4a60: 20 20 20 73 63 5f 6b 65 72 6e 65 6c 5f 62 69 74     sc_kernel_bit
4a70: 73 3d 60 2f 75 73 72 2f 62 69 6e 2f 67 65 74 63  s=`/usr/bin/getc
4a80: 6f 6e 66 20 53 43 5f 4b 45 52 4e 45 4c 5f 42 49  onf SC_KERNEL_BI
4a90: 54 53 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 60 0a  TS 2>/dev/null`.
4aa0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4ab0: 20 20 20 20 63 61 73 65 20 22 24 7b 73 63 5f 63      case "${sc_c
4ac0: 70 75 5f 76 65 72 73 69 6f 6e 7d 22 20 69 6e 0a  pu_version}" in.
4ad0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4ae0: 20 20 20 20 20 20 35 32 33 29 20 48 50 5f 41 52        523) HP_AR
4af0: 43 48 3d 22 68 70 70 61 31 2e 30 22 20 3b 3b 20  CH="hppa1.0" ;; 
4b00: 23 20 43 50 55 5f 50 41 5f 52 49 53 43 31 5f 30  # CPU_PA_RISC1_0
4b10: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
4b20: 20 20 20 20 20 20 20 35 32 38 29 20 48 50 5f 41         528) HP_A
4b30: 52 43 48 3d 22 68 70 70 61 31 2e 31 22 20 3b 3b  RCH="hppa1.1" ;;
4b40: 20 23 20 43 50 55 5f 50 41 5f 52 49 53 43 31 5f   # CPU_PA_RISC1_
4b50: 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  1.              
4b60: 20 20 20 20 20 20 20 20 35 33 32 29 20 20 20 20          532)    
4b70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4b80: 20 20 23 20 43 50 55 5f 50 41 5f 52 49 53 43 32    # CPU_PA_RISC2
4b90: 5f 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  _0.             
4ba0: 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20             case 
4bb0: 22 24 7b 73 63 5f 6b 65 72 6e 65 6c 5f 62 69 74  "${sc_kernel_bit
4bc0: 73 7d 22 20 69 6e 0a 20 20 20 20 20 20 20 20 20  s}" in.         
4bd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4be0: 20 33 32 29 20 48 50 5f 41 52 43 48 3d 22 68 70   32) HP_ARCH="hp
4bf0: 70 61 32 2e 30 6e 22 20 3b 3b 0a 20 20 20 20 20  pa2.0n" ;;.     
4c00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4c10: 20 20 20 20 20 36 34 29 20 48 50 5f 41 52 43 48       64) HP_ARCH
4c20: 3d 22 68 70 70 61 32 2e 30 77 22 20 3b 3b 0a 09  ="hppa2.0w" ;;..
4c30: 09 09 20 20 27 27 29 20 48 50 5f 41 52 43 48 3d  ..  '') HP_ARCH=
4c40: 22 68 70 70 61 32 2e 30 22 20 3b 3b 20 20 20 23  "hppa2.0" ;;   #
4c50: 20 48 50 2d 55 58 20 31 30 2e 32 30 0a 20 20 20   HP-UX 10.20.   
4c60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4c70: 20 20 20 20 20 65 73 61 63 20 3b 3b 0a 20 20 20       esac ;;.   
4c80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4c90: 20 65 73 61 63 0a 09 09 66 69 0a 09 09 69 66 20   esac...fi...if 
4ca0: 5b 20 22 24 7b 48 50 5f 41 52 43 48 7d 22 20 3d  [ "${HP_ARCH}" =
4cb0: 20 22 22 20 5d 3b 20 74 68 65 6e 0a 09 09 20 20   "" ]; then...  
4cc0: 20 20 65 76 61 6c 20 24 73 65 74 5f 63 63 5f 66    eval $set_cc_f
4cd0: 6f 72 5f 62 75 69 6c 64 0a 09 09 20 20 20 20 73  or_build...    s
4ce0: 65 64 20 27 73 2f 5e 20 20 20 20 20 20 20 20 20  ed 's/^         
4cf0: 20 20 20 20 20 2f 2f 27 20 3c 3c 20 45 4f 46 20       //' << EOF 
4d00: 3e 24 64 75 6d 6d 79 2e 63 0a 0a 20 20 20 20 20  >$dummy.c..     
4d10: 20 20 20 20 20 20 20 20 20 23 64 65 66 69 6e 65           #define
4d20: 20 5f 48 50 55 58 5f 53 4f 55 52 43 45 0a 20 20   _HPUX_SOURCE.  
4d30: 20 20 20 20 20 20 20 20 20 20 20 20 23 69 6e 63              #inc
4d40: 6c 75 64 65 20 3c 73 74 64 6c 69 62 2e 68 3e 0a  lude <stdlib.h>.
4d50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 69                #i
4d60: 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68  nclude <unistd.h
4d70: 3e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  >..             
4d80: 20 69 6e 74 20 6d 61 69 6e 20 28 29 0a 20 20 20   int main ().   
4d90: 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20             {.   
4da0: 20 20 20 20 20 20 20 20 20 20 20 23 69 66 20 64             #if d
4db0: 65 66 69 6e 65 64 28 5f 53 43 5f 4b 45 52 4e 45  efined(_SC_KERNE
4dc0: 4c 5f 42 49 54 53 29 0a 20 20 20 20 20 20 20 20  L_BITS).        
4dd0: 20 20 20 20 20 20 20 20 20 20 6c 6f 6e 67 20 62            long b
4de0: 69 74 73 20 3d 20 73 79 73 63 6f 6e 66 28 5f 53  its = sysconf(_S
4df0: 43 5f 4b 45 52 4e 45 4c 5f 42 49 54 53 29 3b 0a  C_KERNEL_BITS);.
4e00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 65                #e
4e10: 6e 64 69 66 0a 20 20 20 20 20 20 20 20 20 20 20  ndif.           
4e20: 20 20 20 20 20 20 20 6c 6f 6e 67 20 63 70 75 20         long cpu 
4e30: 20 3d 20 73 79 73 63 6f 6e 66 20 28 5f 53 43 5f   = sysconf (_SC_
4e40: 43 50 55 5f 56 45 52 53 49 4f 4e 29 3b 0a 0a 20  CPU_VERSION);.. 
4e50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4e60: 20 73 77 69 74 63 68 20 28 63 70 75 29 0a 20 20   switch (cpu).  
4e70: 20 20 20 20 20 20 20 20 20 20 20 20 09 7b 0a 20              .{. 
4e80: 20 20 20 20 20 20 20 20 20 20 20 20 20 09 63 61               .ca
4e90: 73 65 20 43 50 55 5f 50 41 5f 52 49 53 43 31 5f  se CPU_PA_RISC1_
4ea0: 30 3a 20 70 75 74 73 20 28 22 68 70 70 61 31 2e  0: puts ("hppa1.
4eb0: 30 22 29 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20  0"); break;.    
4ec0: 20 20 20 20 20 20 20 20 20 20 09 63 61 73 65 20            .case 
4ed0: 43 50 55 5f 50 41 5f 52 49 53 43 31 5f 31 3a 20  CPU_PA_RISC1_1: 
4ee0: 70 75 74 73 20 28 22 68 70 70 61 31 2e 31 22 29  puts ("hppa1.1")
4ef0: 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20  ; break;.       
4f00: 20 20 20 20 20 20 20 09 63 61 73 65 20 43 50 55         .case CPU
4f10: 5f 50 41 5f 52 49 53 43 32 5f 30 3a 0a 20 20 20  _PA_RISC2_0:.   
4f20: 20 20 20 20 20 20 20 20 20 20 20 23 69 66 20 64             #if d
4f30: 65 66 69 6e 65 64 28 5f 53 43 5f 4b 45 52 4e 45  efined(_SC_KERNE
4f40: 4c 5f 42 49 54 53 29 0a 20 20 20 20 20 20 20 20  L_BITS).        
4f50: 20 20 20 20 20 20 09 20 20 20 20 73 77 69 74 63        .    switc
4f60: 68 20 28 62 69 74 73 29 0a 20 20 20 20 20 20 20  h (bits).       
4f70: 20 20 20 20 20 20 20 09 09 7b 0a 20 20 20 20 20         ..{.     
4f80: 20 20 20 20 20 20 20 20 20 09 09 63 61 73 65 20           ..case 
4f90: 36 34 3a 20 70 75 74 73 20 28 22 68 70 70 61 32  64: puts ("hppa2
4fa0: 2e 30 77 22 29 3b 20 62 72 65 61 6b 3b 0a 20 20  .0w"); break;.  
4fb0: 20 20 20 20 20 20 20 20 20 20 20 20 09 09 63 61              ..ca
4fc0: 73 65 20 33 32 3a 20 70 75 74 73 20 28 22 68 70  se 32: puts ("hp
4fd0: 70 61 32 2e 30 6e 22 29 3b 20 62 72 65 61 6b 3b  pa2.0n"); break;
4fe0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09  .              .
4ff0: 09 64 65 66 61 75 6c 74 3a 20 70 75 74 73 20 28  .default: puts (
5000: 22 68 70 70 61 32 2e 30 22 29 3b 20 62 72 65 61  "hppa2.0"); brea
5010: 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  k;.             
5020: 20 09 09 7d 20 62 72 65 61 6b 3b 0a 20 20 20 20   ..} break;.    
5030: 20 20 20 20 20 20 20 20 20 20 23 65 6c 73 65 20            #else 
5040: 20 2f 2a 20 21 64 65 66 69 6e 65 64 28 5f 53 43   /* !defined(_SC
5050: 5f 4b 45 52 4e 45 4c 5f 42 49 54 53 29 20 2a 2f  _KERNEL_BITS) */
5060: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09  .              .
5070: 20 20 20 20 70 75 74 73 20 28 22 68 70 70 61 32      puts ("hppa2
5080: 2e 30 22 29 3b 20 62 72 65 61 6b 3b 0a 20 20 20  .0"); break;.   
5090: 20 20 20 20 20 20 20 20 20 20 20 23 65 6e 64 69             #endi
50a0: 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  f.              
50b0: 09 64 65 66 61 75 6c 74 3a 20 70 75 74 73 20 28  .default: puts (
50c0: 22 68 70 70 61 31 2e 30 22 29 3b 20 62 72 65 61  "hppa1.0"); brea
50d0: 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  k;.             
50e0: 20 09 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20   .}.            
50f0: 20 20 20 20 20 20 65 78 69 74 20 28 30 29 3b 0a        exit (0);.
5100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a                }.
5110: 45 4f 46 0a 09 09 20 20 20 20 28 43 43 4f 50 54  EOF...    (CCOPT
5120: 53 3d 20 24 43 43 5f 46 4f 52 5f 42 55 49 4c 44  S= $CC_FOR_BUILD
5130: 20 2d 6f 20 24 64 75 6d 6d 79 20 24 64 75 6d 6d   -o $dummy $dumm
5140: 79 2e 63 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 29  y.c 2>/dev/null)
5150: 20 26 26 20 48 50 5f 41 52 43 48 3d 60 24 64 75   && HP_ARCH=`$du
5160: 6d 6d 79 60 0a 09 09 20 20 20 20 74 65 73 74 20  mmy`...    test 
5170: 2d 7a 20 22 24 48 50 5f 41 52 43 48 22 20 26 26  -z "$HP_ARCH" &&
5180: 20 48 50 5f 41 52 43 48 3d 68 70 70 61 0a 09 09   HP_ARCH=hppa...
5190: 66 69 20 3b 3b 0a 09 65 73 61 63 0a 09 69 66 20  fi ;;..esac..if 
51a0: 5b 20 24 7b 48 50 5f 41 52 43 48 7d 20 3d 20 22  [ ${HP_ARCH} = "
51b0: 68 70 70 61 32 2e 30 77 22 20 5d 0a 09 74 68 65  hppa2.0w" ]..the
51c0: 6e 0a 09 20 20 20 20 23 20 61 76 6f 69 64 20 64  n..    # avoid d
51d0: 6f 75 62 6c 65 20 65 76 61 6c 75 61 74 69 6f 6e  ouble evaluation
51e0: 20 6f 66 20 24 73 65 74 5f 63 63 5f 66 6f 72 5f   of $set_cc_for_
51f0: 62 75 69 6c 64 0a 09 20 20 20 20 74 65 73 74 20  build..    test 
5200: 2d 6e 20 22 24 43 43 5f 46 4f 52 5f 42 55 49 4c  -n "$CC_FOR_BUIL
5210: 44 22 20 7c 7c 20 65 76 61 6c 20 24 73 65 74 5f  D" || eval $set_
5220: 63 63 5f 66 6f 72 5f 62 75 69 6c 64 0a 09 20 20  cc_for_build..  
5230: 20 20 69 66 20 65 63 68 6f 20 5f 5f 4c 50 36 34    if echo __LP64
5240: 5f 5f 20 7c 20 28 43 43 4f 50 54 53 3d 20 24 43  __ | (CCOPTS= $C
5250: 43 5f 46 4f 52 5f 42 55 49 4c 44 20 2d 45 20 2d  C_FOR_BUILD -E -
5260: 29 20 7c 20 67 72 65 70 20 5f 5f 4c 50 36 34 5f  ) | grep __LP64_
5270: 5f 20 3e 2f 64 65 76 2f 6e 75 6c 6c 0a 09 20 20  _ >/dev/null..  
5280: 20 20 74 68 65 6e 0a 09 09 48 50 5f 41 52 43 48    then...HP_ARCH
5290: 3d 22 68 70 70 61 32 2e 30 77 22 0a 09 20 20 20  ="hppa2.0w"..   
52a0: 20 65 6c 73 65 0a 09 09 48 50 5f 41 52 43 48 3d   else...HP_ARCH=
52b0: 22 68 70 70 61 36 34 22 0a 09 20 20 20 20 66 69  "hppa64"..    fi
52c0: 0a 09 66 69 0a 09 65 63 68 6f 20 24 7b 48 50 5f  ..fi..echo ${HP_
52d0: 41 52 43 48 7d 2d 68 70 2d 68 70 75 78 24 7b 48  ARCH}-hp-hpux${H
52e0: 50 55 58 5f 52 45 56 7d 0a 09 65 78 69 74 20 30  PUX_REV}..exit 0
52f0: 20 3b 3b 0a 20 20 20 20 69 61 36 34 3a 48 50 2d   ;;.    ia64:HP-
5300: 55 58 3a 2a 3a 2a 29 0a 09 48 50 55 58 5f 52 45  UX:*:*)..HPUX_RE
5310: 56 3d 60 65 63 68 6f 20 24 7b 55 4e 41 4d 45 5f  V=`echo ${UNAME_
5320: 52 45 4c 45 41 53 45 7d 7c 73 65 64 20 2d 65 20  RELEASE}|sed -e 
5330: 27 73 2f 5b 5e 2e 5d 2a 2e 5b 30 42 5d 2a 2f 2f  's/[^.]*.[0B]*//
5340: 27 60 0a 09 65 63 68 6f 20 69 61 36 34 2d 68 70  '`..echo ia64-hp
5350: 2d 68 70 75 78 24 7b 48 50 55 58 5f 52 45 56 7d  -hpux${HPUX_REV}
5360: 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20  ..exit 0 ;;.    
5370: 33 30 35 30 2a 3a 48 49 2d 55 58 3a 2a 3a 2a 29  3050*:HI-UX:*:*)
5380: 0a 09 65 76 61 6c 20 24 73 65 74 5f 63 63 5f 66  ..eval $set_cc_f
5390: 6f 72 5f 62 75 69 6c 64 0a 09 73 65 64 20 27 73  or_build..sed 's
53a0: 2f 5e 09 2f 2f 27 20 3c 3c 20 45 4f 46 20 3e 24  /^.//' << EOF >$
53b0: 64 75 6d 6d 79 2e 63 0a 09 23 69 6e 63 6c 75 64  dummy.c..#includ
53c0: 65 20 3c 75 6e 69 73 74 64 2e 68 3e 0a 09 69 6e  e <unistd.h>..in
53d0: 74 0a 09 6d 61 69 6e 20 28 29 0a 09 7b 0a 09 20  t..main ()..{.. 
53e0: 20 6c 6f 6e 67 20 63 70 75 20 3d 20 73 79 73 63   long cpu = sysc
53f0: 6f 6e 66 20 28 5f 53 43 5f 43 50 55 5f 56 45 52  onf (_SC_CPU_VER
5400: 53 49 4f 4e 29 3b 0a 09 20 20 2f 2a 20 54 68 65  SION);..  /* The
5410: 20 6f 72 64 65 72 20 6d 61 74 74 65 72 73 2c 20   order matters, 
5420: 62 65 63 61 75 73 65 20 43 50 55 5f 49 53 5f 48  because CPU_IS_H
5430: 50 5f 4d 43 36 38 4b 20 65 72 72 6f 6e 65 6f 75  P_MC68K erroneou
5440: 73 6c 79 20 72 65 74 75 72 6e 73 0a 09 20 20 20  sly returns..   
5450: 20 20 74 72 75 65 20 66 6f 72 20 43 50 55 5f 50    true for CPU_P
5460: 41 5f 52 49 53 43 31 5f 30 2e 20 20 43 50 55 5f  A_RISC1_0.  CPU_
5470: 49 53 5f 50 41 5f 52 49 53 43 20 72 65 74 75 72  IS_PA_RISC retur
5480: 6e 73 20 63 6f 72 72 65 63 74 0a 09 20 20 20 20  ns correct..    
5490: 20 72 65 73 75 6c 74 73 2c 20 68 6f 77 65 76 65   results, howeve
54a0: 72 2e 20 20 2a 2f 0a 09 20 20 69 66 20 28 43 50  r.  */..  if (CP
54b0: 55 5f 49 53 5f 50 41 5f 52 49 53 43 20 28 63 70  U_IS_PA_RISC (cp
54c0: 75 29 29 0a 09 20 20 20 20 7b 0a 09 20 20 20 20  u))..    {..    
54d0: 20 20 73 77 69 74 63 68 20 28 63 70 75 29 0a 09    switch (cpu)..
54e0: 09 7b 0a 09 09 20 20 63 61 73 65 20 43 50 55 5f  .{...  case CPU_
54f0: 50 41 5f 52 49 53 43 31 5f 30 3a 20 70 75 74 73  PA_RISC1_0: puts
5500: 20 28 22 68 70 70 61 31 2e 30 2d 68 69 74 61 63   ("hppa1.0-hitac
5510: 68 69 2d 68 69 75 78 77 65 32 22 29 3b 20 62 72  hi-hiuxwe2"); br
5520: 65 61 6b 3b 0a 09 09 20 20 63 61 73 65 20 43 50  eak;...  case CP
5530: 55 5f 50 41 5f 52 49 53 43 31 5f 31 3a 20 70 75  U_PA_RISC1_1: pu
5540: 74 73 20 28 22 68 70 70 61 31 2e 31 2d 68 69 74  ts ("hppa1.1-hit
5550: 61 63 68 69 2d 68 69 75 78 77 65 32 22 29 3b 20  achi-hiuxwe2"); 
5560: 62 72 65 61 6b 3b 0a 09 09 20 20 63 61 73 65 20  break;...  case 
5570: 43 50 55 5f 50 41 5f 52 49 53 43 32 5f 30 3a 20  CPU_PA_RISC2_0: 
5580: 70 75 74 73 20 28 22 68 70 70 61 32 2e 30 2d 68  puts ("hppa2.0-h
5590: 69 74 61 63 68 69 2d 68 69 75 78 77 65 32 22 29  itachi-hiuxwe2")
55a0: 3b 20 62 72 65 61 6b 3b 0a 09 09 20 20 64 65 66  ; break;...  def
55b0: 61 75 6c 74 3a 20 70 75 74 73 20 28 22 68 70 70  ault: puts ("hpp
55c0: 61 2d 68 69 74 61 63 68 69 2d 68 69 75 78 77 65  a-hitachi-hiuxwe
55d0: 32 22 29 3b 20 62 72 65 61 6b 3b 0a 09 09 7d 0a  2"); break;...}.
55e0: 09 20 20 20 20 7d 0a 09 20 20 65 6c 73 65 20 69  .    }..  else i
55f0: 66 20 28 43 50 55 5f 49 53 5f 48 50 5f 4d 43 36  f (CPU_IS_HP_MC6
5600: 38 4b 20 28 63 70 75 29 29 0a 09 20 20 20 20 70  8K (cpu))..    p
5610: 75 74 73 20 28 22 6d 36 38 6b 2d 68 69 74 61 63  uts ("m68k-hitac
5620: 68 69 2d 68 69 75 78 77 65 32 22 29 3b 0a 09 20  hi-hiuxwe2");.. 
5630: 20 65 6c 73 65 20 70 75 74 73 20 28 22 75 6e 6b   else puts ("unk
5640: 6e 6f 77 6e 2d 68 69 74 61 63 68 69 2d 68 69 75  nown-hitachi-hiu
5650: 78 77 65 32 22 29 3b 0a 09 20 20 65 78 69 74 20  xwe2");..  exit 
5660: 28 30 29 3b 0a 09 7d 0a 45 4f 46 0a 09 24 43 43  (0);..}.EOF..$CC
5670: 5f 46 4f 52 5f 42 55 49 4c 44 20 2d 6f 20 24 64  _FOR_BUILD -o $d
5680: 75 6d 6d 79 20 24 64 75 6d 6d 79 2e 63 20 26 26  ummy $dummy.c &&
5690: 20 24 64 75 6d 6d 79 20 26 26 20 65 78 69 74 20   $dummy && exit 
56a0: 30 0a 09 65 63 68 6f 20 75 6e 6b 6e 6f 77 6e 2d  0..echo unknown-
56b0: 68 69 74 61 63 68 69 2d 68 69 75 78 77 65 32 0a  hitachi-hiuxwe2.
56c0: 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 39  .exit 0 ;;.    9
56d0: 30 30 30 2f 37 3f 3f 3a 34 2e 33 62 73 64 3a 2a  000/7??:4.3bsd:*
56e0: 3a 2a 20 7c 20 39 30 30 30 2f 38 3f 5b 37 39 5d  :* | 9000/8?[79]
56f0: 3a 34 2e 33 62 73 64 3a 2a 3a 2a 20 29 0a 09 65  :4.3bsd:*:* )..e
5700: 63 68 6f 20 68 70 70 61 31 2e 31 2d 68 70 2d 62  cho hppa1.1-hp-b
5710: 73 64 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20  sd..exit 0 ;;.  
5720: 20 20 39 30 30 30 2f 38 3f 3f 3a 34 2e 33 62 73    9000/8??:4.3bs
5730: 64 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20 68 70 70  d:*:*)..echo hpp
5740: 61 31 2e 30 2d 68 70 2d 62 73 64 0a 09 65 78 69  a1.0-hp-bsd..exi
5750: 74 20 30 20 3b 3b 0a 20 20 20 20 2a 39 3f 3f 2a  t 0 ;;.    *9??*
5760: 3a 4d 50 45 2f 69 58 3a 2a 3a 2a 20 7c 20 2a 33  :MPE/iX:*:* | *3
5770: 30 30 30 2a 3a 4d 50 45 2f 69 58 3a 2a 3a 2a 29  000*:MPE/iX:*:*)
5780: 0a 09 65 63 68 6f 20 68 70 70 61 31 2e 30 2d 68  ..echo hppa1.0-h
5790: 70 2d 6d 70 65 69 78 0a 09 65 78 69 74 20 30 20  p-mpeix..exit 0 
57a0: 3b 3b 0a 20 20 20 20 68 70 37 3f 3f 3a 4f 53 46  ;;.    hp7??:OSF
57b0: 31 3a 2a 3a 2a 20 7c 20 68 70 38 3f 5b 37 39 5d  1:*:* | hp8?[79]
57c0: 3a 4f 53 46 31 3a 2a 3a 2a 20 29 0a 09 65 63 68  :OSF1:*:* )..ech
57d0: 6f 20 68 70 70 61 31 2e 31 2d 68 70 2d 6f 73 66  o hppa1.1-hp-osf
57e0: 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20  ..exit 0 ;;.    
57f0: 68 70 38 3f 3f 3a 4f 53 46 31 3a 2a 3a 2a 29 0a  hp8??:OSF1:*:*).
5800: 09 65 63 68 6f 20 68 70 70 61 31 2e 30 2d 68 70  .echo hppa1.0-hp
5810: 2d 6f 73 66 0a 09 65 78 69 74 20 30 20 3b 3b 0a  -osf..exit 0 ;;.
5820: 20 20 20 20 69 2a 38 36 3a 4f 53 46 31 3a 2a 3a      i*86:OSF1:*:
5830: 2a 29 0a 09 69 66 20 5b 20 2d 78 20 2f 75 73 72  *)..if [ -x /usr
5840: 2f 73 62 69 6e 2f 73 79 73 76 65 72 73 69 6f 6e  /sbin/sysversion
5850: 20 5d 20 3b 20 74 68 65 6e 0a 09 20 20 20 20 65   ] ; then..    e
5860: 63 68 6f 20 24 7b 55 4e 41 4d 45 5f 4d 41 43 48  cho ${UNAME_MACH
5870: 49 4e 45 7d 2d 75 6e 6b 6e 6f 77 6e 2d 6f 73 66  INE}-unknown-osf
5880: 31 6d 6b 0a 09 65 6c 73 65 0a 09 20 20 20 20 65  1mk..else..    e
5890: 63 68 6f 20 24 7b 55 4e 41 4d 45 5f 4d 41 43 48  cho ${UNAME_MACH
58a0: 49 4e 45 7d 2d 75 6e 6b 6e 6f 77 6e 2d 6f 73 66  INE}-unknown-osf
58b0: 31 0a 09 66 69 0a 09 65 78 69 74 20 30 20 3b 3b  1..fi..exit 0 ;;
58c0: 0a 20 20 20 20 70 61 72 69 73 63 2a 3a 4c 69 74  .    parisc*:Lit
58d0: 65 73 2a 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20 68  es*:*:*)..echo h
58e0: 70 70 61 31 2e 31 2d 68 70 2d 6c 69 74 65 73 0a  ppa1.1-hp-lites.
58f0: 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 43  .exit 0 ;;.    C
5900: 31 2a 3a 43 6f 6e 76 65 78 4f 53 3a 2a 3a 2a 20  1*:ConvexOS:*:* 
5910: 7c 20 63 6f 6e 76 65 78 3a 43 6f 6e 76 65 78 4f  | convex:ConvexO
5920: 53 3a 43 31 2a 3a 2a 29 0a 09 65 63 68 6f 20 63  S:C1*:*)..echo c
5930: 31 2d 63 6f 6e 76 65 78 2d 62 73 64 0a 20 20 20  1-convex-bsd.   
5940: 20 20 20 20 20 65 78 69 74 20 30 20 3b 3b 0a 20       exit 0 ;;. 
5950: 20 20 20 43 32 2a 3a 43 6f 6e 76 65 78 4f 53 3a     C2*:ConvexOS:
5960: 2a 3a 2a 20 7c 20 63 6f 6e 76 65 78 3a 43 6f 6e  *:* | convex:Con
5970: 76 65 78 4f 53 3a 43 32 2a 3a 2a 29 0a 09 69 66  vexOS:C2*:*)..if
5980: 20 67 65 74 73 79 73 69 6e 66 6f 20 2d 66 20 73   getsysinfo -f s
5990: 63 61 6c 61 72 5f 61 63 63 0a 09 74 68 65 6e 20  calar_acc..then 
59a0: 65 63 68 6f 20 63 33 32 2d 63 6f 6e 76 65 78 2d  echo c32-convex-
59b0: 62 73 64 0a 09 65 6c 73 65 20 65 63 68 6f 20 63  bsd..else echo c
59c0: 32 2d 63 6f 6e 76 65 78 2d 62 73 64 0a 09 66 69  2-convex-bsd..fi
59d0: 0a 20 20 20 20 20 20 20 20 65 78 69 74 20 30 20  .        exit 0 
59e0: 3b 3b 0a 20 20 20 20 43 33 34 2a 3a 43 6f 6e 76  ;;.    C34*:Conv
59f0: 65 78 4f 53 3a 2a 3a 2a 20 7c 20 63 6f 6e 76 65  exOS:*:* | conve
5a00: 78 3a 43 6f 6e 76 65 78 4f 53 3a 43 33 34 2a 3a  x:ConvexOS:C34*:
5a10: 2a 29 0a 09 65 63 68 6f 20 63 33 34 2d 63 6f 6e  *)..echo c34-con
5a20: 76 65 78 2d 62 73 64 0a 20 20 20 20 20 20 20 20  vex-bsd.        
5a30: 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 43 33  exit 0 ;;.    C3
5a40: 38 2a 3a 43 6f 6e 76 65 78 4f 53 3a 2a 3a 2a 20  8*:ConvexOS:*:* 
5a50: 7c 20 63 6f 6e 76 65 78 3a 43 6f 6e 76 65 78 4f  | convex:ConvexO
5a60: 53 3a 43 33 38 2a 3a 2a 29 0a 09 65 63 68 6f 20  S:C38*:*)..echo 
5a70: 63 33 38 2d 63 6f 6e 76 65 78 2d 62 73 64 0a 20  c38-convex-bsd. 
5a80: 20 20 20 20 20 20 20 65 78 69 74 20 30 20 3b 3b         exit 0 ;;
5a90: 0a 20 20 20 20 43 34 2a 3a 43 6f 6e 76 65 78 4f  .    C4*:ConvexO
5aa0: 53 3a 2a 3a 2a 20 7c 20 63 6f 6e 76 65 78 3a 43  S:*:* | convex:C
5ab0: 6f 6e 76 65 78 4f 53 3a 43 34 2a 3a 2a 29 0a 09  onvexOS:C4*:*)..
5ac0: 65 63 68 6f 20 63 34 2d 63 6f 6e 76 65 78 2d 62  echo c4-convex-b
5ad0: 73 64 0a 20 20 20 20 20 20 20 20 65 78 69 74 20  sd.        exit 
5ae0: 30 20 3b 3b 0a 20 20 20 20 43 52 41 59 2a 59 2d  0 ;;.    CRAY*Y-
5af0: 4d 50 3a 2a 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20  MP:*:*:*)..echo 
5b00: 79 6d 70 2d 63 72 61 79 2d 75 6e 69 63 6f 73 24  ymp-cray-unicos$
5b10: 7b 55 4e 41 4d 45 5f 52 45 4c 45 41 53 45 7d 20  {UNAME_RELEASE} 
5b20: 7c 20 73 65 64 20 2d 65 20 27 73 2f 5c 2e 5b 5e  | sed -e 's/\.[^
5b30: 2e 5d 2a 24 2f 2e 58 2f 27 0a 09 65 78 69 74 20  .]*$/.X/'..exit 
5b40: 30 20 3b 3b 0a 20 20 20 20 43 52 41 59 2a 5b 41  0 ;;.    CRAY*[A
5b50: 2d 5a 5d 39 30 3a 2a 3a 2a 3a 2a 29 0a 09 65 63  -Z]90:*:*:*)..ec
5b60: 68 6f 20 24 7b 55 4e 41 4d 45 5f 4d 41 43 48 49  ho ${UNAME_MACHI
5b70: 4e 45 7d 2d 63 72 61 79 2d 75 6e 69 63 6f 73 24  NE}-cray-unicos$
5b80: 7b 55 4e 41 4d 45 5f 52 45 4c 45 41 53 45 7d 20  {UNAME_RELEASE} 
5b90: 5c 0a 09 7c 20 73 65 64 20 2d 65 20 27 73 2f 43  \..| sed -e 's/C
5ba0: 52 41 59 2e 2a 5c 28 5b 41 2d 5a 5d 39 30 5c 29  RAY.*\([A-Z]90\)
5bb0: 2f 5c 31 2f 27 20 5c 0a 09 20 20 20 20 20 20 2d  /\1/' \..      -
5bc0: 65 20 79 2f 41 42 43 44 45 46 47 48 49 4a 4b 4c  e y/ABCDEFGHIJKL
5bd0: 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 2f 61  MNOPQRSTUVWXYZ/a
5be0: 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71  bcdefghijklmnopq
5bf0: 72 73 74 75 76 77 78 79 7a 2f 20 5c 0a 09 20 20  rstuvwxyz/ \..  
5c00: 20 20 20 20 2d 65 20 27 73 2f 5c 2e 5b 5e 2e 5d      -e 's/\.[^.]
5c10: 2a 24 2f 2e 58 2f 27 0a 09 65 78 69 74 20 30 20  *$/.X/'..exit 0 
5c20: 3b 3b 0a 20 20 20 20 43 52 41 59 2a 54 53 3a 2a  ;;.    CRAY*TS:*
5c30: 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20 74 39 30 2d  :*:*)..echo t90-
5c40: 63 72 61 79 2d 75 6e 69 63 6f 73 24 7b 55 4e 41  cray-unicos${UNA
5c50: 4d 45 5f 52 45 4c 45 41 53 45 7d 20 7c 20 73 65  ME_RELEASE} | se
5c60: 64 20 2d 65 20 27 73 2f 5c 2e 5b 5e 2e 5d 2a 24  d -e 's/\.[^.]*$
5c70: 2f 2e 58 2f 27 0a 09 65 78 69 74 20 30 20 3b 3b  /.X/'..exit 0 ;;
5c80: 0a 20 20 20 20 43 52 41 59 2a 54 33 45 3a 2a 3a  .    CRAY*T3E:*:
5c90: 2a 3a 2a 29 0a 09 65 63 68 6f 20 61 6c 70 68 61  *:*)..echo alpha
5ca0: 65 76 35 2d 63 72 61 79 2d 75 6e 69 63 6f 73 6d  ev5-cray-unicosm
5cb0: 6b 24 7b 55 4e 41 4d 45 5f 52 45 4c 45 41 53 45  k${UNAME_RELEASE
5cc0: 7d 20 7c 20 73 65 64 20 2d 65 20 27 73 2f 5c 2e  } | sed -e 's/\.
5cd0: 5b 5e 2e 5d 2a 24 2f 2e 58 2f 27 0a 09 65 78 69  [^.]*$/.X/'..exi
5ce0: 74 20 30 20 3b 3b 0a 20 20 20 20 43 52 41 59 2a  t 0 ;;.    CRAY*
5cf0: 53 56 31 3a 2a 3a 2a 3a 2a 29 0a 09 65 63 68 6f  SV1:*:*:*)..echo
5d00: 20 73 76 31 2d 63 72 61 79 2d 75 6e 69 63 6f 73   sv1-cray-unicos
5d10: 24 7b 55 4e 41 4d 45 5f 52 45 4c 45 41 53 45 7d  ${UNAME_RELEASE}
5d20: 20 7c 20 73 65 64 20 2d 65 20 27 73 2f 5c 2e 5b   | sed -e 's/\.[
5d30: 5e 2e 5d 2a 24 2f 2e 58 2f 27 0a 09 65 78 69 74  ^.]*$/.X/'..exit
5d40: 20 30 20 3b 3b 0a 20 20 20 20 2a 3a 55 4e 49 43   0 ;;.    *:UNIC
5d50: 4f 53 2f 6d 70 3a 2a 3a 2a 29 0a 09 65 63 68 6f  OS/mp:*:*)..echo
5d60: 20 6e 76 31 2d 63 72 61 79 2d 75 6e 69 63 6f 73   nv1-cray-unicos
5d70: 6d 70 24 7b 55 4e 41 4d 45 5f 52 45 4c 45 41 53  mp${UNAME_RELEAS
5d80: 45 7d 20 7c 20 73 65 64 20 2d 65 20 27 73 2f 5c  E} | sed -e 's/\
5d90: 2e 5b 5e 2e 5d 2a 24 2f 2e 58 2f 27 0a 09 65 78  .[^.]*$/.X/'..ex
5da0: 69 74 20 30 20 3b 3b 0a 20 20 20 20 46 33 30 5b  it 0 ;;.    F30[
5db0: 30 31 5d 3a 55 4e 49 58 5f 53 79 73 74 65 6d 5f  01]:UNIX_System_
5dc0: 56 3a 2a 3a 2a 20 7c 20 46 37 30 30 3a 55 4e 49  V:*:* | F700:UNI
5dd0: 58 5f 53 79 73 74 65 6d 5f 56 3a 2a 3a 2a 29 0a  X_System_V:*:*).
5de0: 09 46 55 4a 49 54 53 55 5f 50 52 4f 43 3d 60 75  .FUJITSU_PROC=`u
5df0: 6e 61 6d 65 20 2d 6d 20 7c 20 74 72 20 27 41 42  name -m | tr 'AB
5e00: 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52  CDEFGHIJKLMNOPQR
5e10: 53 54 55 56 57 58 59 5a 27 20 27 61 62 63 64 65  STUVWXYZ' 'abcde
5e20: 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75  fghijklmnopqrstu
5e30: 76 77 78 79 7a 27 60 0a 20 20 20 20 20 20 20 20  vwxyz'`.        
5e40: 46 55 4a 49 54 53 55 5f 53 59 53 3d 60 75 6e 61  FUJITSU_SYS=`una
5e50: 6d 65 20 2d 70 20 7c 20 74 72 20 27 41 42 43 44  me -p | tr 'ABCD
5e60: 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54  EFGHIJKLMNOPQRST
5e70: 55 56 57 58 59 5a 27 20 27 61 62 63 64 65 66 67  UVWXYZ' 'abcdefg
5e80: 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77  hijklmnopqrstuvw
5e90: 78 79 7a 27 20 7c 20 73 65 64 20 2d 65 20 27 73  xyz' | sed -e 's
5ea0: 2f 5c 2f 2f 2f 27 60 0a 20 20 20 20 20 20 20 20  /\///'`.        
5eb0: 46 55 4a 49 54 53 55 5f 52 45 4c 3d 60 65 63 68  FUJITSU_REL=`ech
5ec0: 6f 20 24 7b 55 4e 41 4d 45 5f 52 45 4c 45 41 53  o ${UNAME_RELEAS
5ed0: 45 7d 20 7c 20 73 65 64 20 2d 65 20 27 73 2f 20  E} | sed -e 's/ 
5ee0: 2f 5f 2f 27 60 0a 20 20 20 20 20 20 20 20 65 63  /_/'`.        ec
5ef0: 68 6f 20 22 24 7b 46 55 4a 49 54 53 55 5f 50 52  ho "${FUJITSU_PR
5f00: 4f 43 7d 2d 66 75 6a 69 74 73 75 2d 24 7b 46 55  OC}-fujitsu-${FU
5f10: 4a 49 54 53 55 5f 53 59 53 7d 24 7b 46 55 4a 49  JITSU_SYS}${FUJI
5f20: 54 53 55 5f 52 45 4c 7d 22 0a 20 20 20 20 20 20  TSU_REL}".      
5f30: 20 20 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20    exit 0 ;;.    
5f40: 35 30 30 30 3a 55 4e 49 58 5f 53 79 73 74 65 6d  5000:UNIX_System
5f50: 5f 56 3a 34 2e 2a 3a 2a 29 0a 20 20 20 20 20 20  _V:4.*:*).      
5f60: 20 20 46 55 4a 49 54 53 55 5f 53 59 53 3d 60 75    FUJITSU_SYS=`u
5f70: 6e 61 6d 65 20 2d 70 20 7c 20 74 72 20 27 41 42  name -p | tr 'AB
5f80: 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52  CDEFGHIJKLMNOPQR
5f90: 53 54 55 56 57 58 59 5a 27 20 27 61 62 63 64 65  STUVWXYZ' 'abcde
5fa0: 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75  fghijklmnopqrstu
5fb0: 76 77 78 79 7a 27 20 7c 20 73 65 64 20 2d 65 20  vwxyz' | sed -e 
5fc0: 27 73 2f 5c 2f 2f 2f 27 60 0a 20 20 20 20 20 20  's/\///'`.      
5fd0: 20 20 46 55 4a 49 54 53 55 5f 52 45 4c 3d 60 65    FUJITSU_REL=`e
5fe0: 63 68 6f 20 24 7b 55 4e 41 4d 45 5f 52 45 4c 45  cho ${UNAME_RELE
5ff0: 41 53 45 7d 20 7c 20 74 72 20 27 41 42 43 44 45  ASE} | tr 'ABCDE
6000: 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55  FGHIJKLMNOPQRSTU
6010: 56 57 58 59 5a 27 20 27 61 62 63 64 65 66 67 68  VWXYZ' 'abcdefgh
6020: 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78  ijklmnopqrstuvwx
6030: 79 7a 27 20 7c 20 73 65 64 20 2d 65 20 27 73 2f  yz' | sed -e 's/
6040: 20 2f 5f 2f 27 60 0a 20 20 20 20 20 20 20 20 65   /_/'`.        e
6050: 63 68 6f 20 22 73 70 61 72 63 2d 66 75 6a 69 74  cho "sparc-fujit
6060: 73 75 2d 24 7b 46 55 4a 49 54 53 55 5f 53 59 53  su-${FUJITSU_SYS
6070: 7d 24 7b 46 55 4a 49 54 53 55 5f 52 45 4c 7d 22  }${FUJITSU_REL}"
6080: 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20  ..exit 0 ;;.    
6090: 69 2a 38 36 3a 42 53 44 2f 33 38 36 3a 2a 3a 2a  i*86:BSD/386:*:*
60a0: 20 7c 20 69 2a 38 36 3a 42 53 44 2f 4f 53 3a 2a   | i*86:BSD/OS:*
60b0: 3a 2a 20 7c 20 2a 3a 41 73 63 65 6e 64 5c 20 45  :* | *:Ascend\ E
60c0: 6d 62 65 64 64 65 64 2f 4f 53 3a 2a 3a 2a 29 0a  mbedded/OS:*:*).
60d0: 09 65 63 68 6f 20 24 7b 55 4e 41 4d 45 5f 4d 41  .echo ${UNAME_MA
60e0: 43 48 49 4e 45 7d 2d 70 63 2d 62 73 64 69 24 7b  CHINE}-pc-bsdi${
60f0: 55 4e 41 4d 45 5f 52 45 4c 45 41 53 45 7d 0a 09  UNAME_RELEASE}..
6100: 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 73 70  exit 0 ;;.    sp
6110: 61 72 63 2a 3a 42 53 44 2f 4f 53 3a 2a 3a 2a 29  arc*:BSD/OS:*:*)
6120: 0a 09 65 63 68 6f 20 73 70 61 72 63 2d 75 6e 6b  ..echo sparc-unk
6130: 6e 6f 77 6e 2d 62 73 64 69 24 7b 55 4e 41 4d 45  nown-bsdi${UNAME
6140: 5f 52 45 4c 45 41 53 45 7d 0a 09 65 78 69 74 20  _RELEASE}..exit 
6150: 30 20 3b 3b 0a 20 20 20 20 2a 3a 42 53 44 2f 4f  0 ;;.    *:BSD/O
6160: 53 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20 24 7b 55  S:*:*)..echo ${U
6170: 4e 41 4d 45 5f 4d 41 43 48 49 4e 45 7d 2d 75 6e  NAME_MACHINE}-un
6180: 6b 6e 6f 77 6e 2d 62 73 64 69 24 7b 55 4e 41 4d  known-bsdi${UNAM
6190: 45 5f 52 45 4c 45 41 53 45 7d 0a 09 65 78 69 74  E_RELEASE}..exit
61a0: 20 30 20 3b 3b 0a 20 20 20 20 2a 3a 46 72 65 65   0 ;;.    *:Free
61b0: 42 53 44 3a 2a 3a 2a 29 0a 09 23 20 44 65 74 65  BSD:*:*)..# Dete
61c0: 72 6d 69 6e 65 20 77 68 65 74 68 65 72 20 74 68  rmine whether th
61d0: 65 20 64 65 66 61 75 6c 74 20 63 6f 6d 70 69 6c  e default compil
61e0: 65 72 20 75 73 65 73 20 67 6c 69 62 63 2e 0a 09  er uses glibc...
61f0: 65 76 61 6c 20 24 73 65 74 5f 63 63 5f 66 6f 72  eval $set_cc_for
6200: 5f 62 75 69 6c 64 0a 09 73 65 64 20 27 73 2f 5e  _build..sed 's/^
6210: 09 2f 2f 27 20 3c 3c 20 45 4f 46 20 3e 24 64 75  .//' << EOF >$du
6220: 6d 6d 79 2e 63 0a 09 23 69 6e 63 6c 75 64 65 20  mmy.c..#include 
6230: 3c 66 65 61 74 75 72 65 73 2e 68 3e 0a 09 23 69  <features.h>..#i
6240: 66 20 5f 5f 47 4c 49 42 43 5f 5f 20 3e 3d 20 32  f __GLIBC__ >= 2
6250: 0a 09 4c 49 42 43 3d 67 6e 75 0a 09 23 65 6c 73  ..LIBC=gnu..#els
6260: 65 0a 09 4c 49 42 43 3d 0a 09 23 65 6e 64 69 66  e..LIBC=..#endif
6270: 0a 45 4f 46 0a 09 65 76 61 6c 20 60 24 43 43 5f  .EOF..eval `$CC_
6280: 46 4f 52 5f 42 55 49 4c 44 20 2d 45 20 24 64 75  FOR_BUILD -E $du
6290: 6d 6d 79 2e 63 20 32 3e 2f 64 65 76 2f 6e 75 6c  mmy.c 2>/dev/nul
62a0: 6c 20 7c 20 67 72 65 70 20 5e 4c 49 42 43 3d 60  l | grep ^LIBC=`
62b0: 0a 09 23 20 47 4e 55 2f 4b 46 72 65 65 42 53 44  ..# GNU/KFreeBSD
62c0: 20 73 79 73 74 65 6d 73 20 68 61 76 65 20 61 20   systems have a 
62d0: 22 6b 22 20 70 72 65 66 69 78 20 74 6f 20 69 6e  "k" prefix to in
62e0: 64 69 63 61 74 65 20 77 65 20 61 72 65 20 75 73  dicate we are us
62f0: 69 6e 67 0a 09 23 20 46 72 65 65 42 53 44 27 73  ing..# FreeBSD's
6300: 20 6b 65 72 6e 65 6c 2c 20 62 75 74 20 6e 6f 74   kernel, but not
6310: 20 74 68 65 20 63 6f 6d 70 6c 65 74 65 20 4f 53   the complete OS
6320: 2e 0a 09 63 61 73 65 20 24 7b 4c 49 42 43 7d 20  ...case ${LIBC} 
6330: 69 6e 20 67 6e 75 29 20 6b 65 72 6e 65 6c 5f 6f  in gnu) kernel_o
6340: 6e 6c 79 3d 27 6b 27 20 3b 3b 20 65 73 61 63 0a  nly='k' ;; esac.
6350: 09 65 63 68 6f 20 24 7b 55 4e 41 4d 45 5f 4d 41  .echo ${UNAME_MA
6360: 43 48 49 4e 45 7d 2d 75 6e 6b 6e 6f 77 6e 2d 24  CHINE}-unknown-$
6370: 7b 6b 65 72 6e 65 6c 5f 6f 6e 6c 79 7d 66 72 65  {kernel_only}fre
6380: 65 62 73 64 60 65 63 68 6f 20 24 7b 55 4e 41 4d  ebsd`echo ${UNAM
6390: 45 5f 52 45 4c 45 41 53 45 7d 7c 73 65 64 20 2d  E_RELEASE}|sed -
63a0: 65 20 27 73 2f 5b 2d 28 5d 2e 2a 2f 2f 27 60 24  e 's/[-(].*//'`$
63b0: 7b 4c 49 42 43 3a 2b 2d 24 4c 49 42 43 7d 0a 09  {LIBC:+-$LIBC}..
63c0: 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 69 2a  exit 0 ;;.    i*
63d0: 3a 43 59 47 57 49 4e 2a 3a 2a 29 0a 09 65 63 68  :CYGWIN*:*)..ech
63e0: 6f 20 24 7b 55 4e 41 4d 45 5f 4d 41 43 48 49 4e  o ${UNAME_MACHIN
63f0: 45 7d 2d 70 63 2d 63 79 67 77 69 6e 0a 09 65 78  E}-pc-cygwin..ex
6400: 69 74 20 30 20 3b 3b 0a 20 20 20 20 69 2a 3a 4d  it 0 ;;.    i*:M
6410: 49 4e 47 57 2a 3a 2a 29 0a 09 65 63 68 6f 20 24  INGW*:*)..echo $
6420: 7b 55 4e 41 4d 45 5f 4d 41 43 48 49 4e 45 7d 2d  {UNAME_MACHINE}-
6430: 70 63 2d 6d 69 6e 67 77 33 32 0a 09 65 78 69 74  pc-mingw32..exit
6440: 20 30 20 3b 3b 0a 20 20 20 20 69 2a 3a 50 57 2a   0 ;;.    i*:PW*
6450: 3a 2a 29 0a 09 65 63 68 6f 20 24 7b 55 4e 41 4d  :*)..echo ${UNAM
6460: 45 5f 4d 41 43 48 49 4e 45 7d 2d 70 63 2d 70 77  E_MACHINE}-pc-pw
6470: 33 32 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20  32..exit 0 ;;.  
6480: 20 20 78 38 36 3a 49 6e 74 65 72 69 78 2a 3a 5b    x86:Interix*:[
6490: 33 34 5d 2a 29 0a 09 65 63 68 6f 20 69 35 38 36  34]*)..echo i586
64a0: 2d 70 63 2d 69 6e 74 65 72 69 78 24 7b 55 4e 41  -pc-interix${UNA
64b0: 4d 45 5f 52 45 4c 45 41 53 45 7d 7c 73 65 64 20  ME_RELEASE}|sed 
64c0: 2d 65 20 27 73 2f 5c 2e 2e 2a 2f 2f 27 0a 09 65  -e 's/\..*//'..e
64d0: 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 5b 33 34  xit 0 ;;.    [34
64e0: 35 5d 38 36 3a 57 69 6e 64 6f 77 73 5f 39 35 3a  5]86:Windows_95:
64f0: 2a 20 7c 20 5b 33 34 35 5d 38 36 3a 57 69 6e 64  * | [345]86:Wind
6500: 6f 77 73 5f 39 38 3a 2a 20 7c 20 5b 33 34 35 5d  ows_98:* | [345]
6510: 38 36 3a 57 69 6e 64 6f 77 73 5f 4e 54 3a 2a 29  86:Windows_NT:*)
6520: 0a 09 65 63 68 6f 20 69 24 7b 55 4e 41 4d 45 5f  ..echo i${UNAME_
6530: 4d 41 43 48 49 4e 45 7d 2d 70 63 2d 6d 6b 73 0a  MACHINE}-pc-mks.
6540: 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 69  .exit 0 ;;.    i
6550: 2a 3a 57 69 6e 64 6f 77 73 5f 4e 54 2a 3a 2a 20  *:Windows_NT*:* 
6560: 7c 20 50 65 6e 74 69 75 6d 2a 3a 57 69 6e 64 6f  | Pentium*:Windo
6570: 77 73 5f 4e 54 2a 3a 2a 29 0a 09 23 20 48 6f 77  ws_NT*:*)..# How
6580: 20 64 6f 20 77 65 20 6b 6e 6f 77 20 69 74 27 73   do we know it's
6590: 20 49 6e 74 65 72 69 78 20 72 61 74 68 65 72 20   Interix rather 
65a0: 74 68 61 6e 20 74 68 65 20 67 65 6e 65 72 69 63  than the generic
65b0: 20 50 4f 53 49 58 20 73 75 62 73 79 73 74 65 6d   POSIX subsystem
65c0: 3f 0a 09 23 20 49 74 20 61 6c 73 6f 20 63 6f 6e  ?..# It also con
65d0: 66 6c 69 63 74 73 20 77 69 74 68 20 70 72 65 2d  flicts with pre-
65e0: 32 2e 30 20 76 65 72 73 69 6f 6e 73 20 6f 66 20  2.0 versions of 
65f0: 41 54 26 54 20 55 57 49 4e 2e 20 53 68 6f 75 6c  AT&T UWIN. Shoul
6600: 64 20 77 65 0a 09 23 20 55 4e 41 4d 45 5f 4d 41  d we..# UNAME_MA
6610: 43 48 49 4e 45 20 62 61 73 65 64 20 6f 6e 20 74  CHINE based on t
6620: 68 65 20 6f 75 74 70 75 74 20 6f 66 20 75 6e 61  he output of una
6630: 6d 65 20 69 6e 73 74 65 61 64 20 6f 66 20 69 33  me instead of i3
6640: 38 36 3f 0a 09 65 63 68 6f 20 69 35 38 36 2d 70  86?..echo i586-p
6650: 63 2d 69 6e 74 65 72 69 78 0a 09 65 78 69 74 20  c-interix..exit 
6660: 30 20 3b 3b 0a 20 20 20 20 69 2a 3a 55 57 49 4e  0 ;;.    i*:UWIN
6670: 2a 3a 2a 29 0a 09 65 63 68 6f 20 24 7b 55 4e 41  *:*)..echo ${UNA
6680: 4d 45 5f 4d 41 43 48 49 4e 45 7d 2d 70 63 2d 75  ME_MACHINE}-pc-u
6690: 77 69 6e 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20  win..exit 0 ;;. 
66a0: 20 20 20 70 2a 3a 43 59 47 57 49 4e 2a 3a 2a 29     p*:CYGWIN*:*)
66b0: 0a 09 65 63 68 6f 20 70 6f 77 65 72 70 63 6c 65  ..echo powerpcle
66c0: 2d 75 6e 6b 6e 6f 77 6e 2d 63 79 67 77 69 6e 0a  -unknown-cygwin.
66d0: 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 70  .exit 0 ;;.    p
66e0: 72 65 70 2a 3a 53 75 6e 4f 53 3a 35 2e 2a 3a 2a  rep*:SunOS:5.*:*
66f0: 29 0a 09 65 63 68 6f 20 70 6f 77 65 72 70 63 6c  )..echo powerpcl
6700: 65 2d 75 6e 6b 6e 6f 77 6e 2d 73 6f 6c 61 72 69  e-unknown-solari
6710: 73 32 60 65 63 68 6f 20 24 7b 55 4e 41 4d 45 5f  s2`echo ${UNAME_
6720: 52 45 4c 45 41 53 45 7d 7c 73 65 64 20 2d 65 20  RELEASE}|sed -e 
6730: 27 73 2f 5b 5e 2e 5d 2a 2f 2f 27 60 0a 09 65 78  's/[^.]*//'`..ex
6740: 69 74 20 30 20 3b 3b 0a 20 20 20 20 2a 3a 47 4e  it 0 ;;.    *:GN
6750: 55 3a 2a 3a 2a 29 0a 09 23 20 74 68 65 20 47 4e  U:*:*)..# the GN
6760: 55 20 73 79 73 74 65 6d 0a 09 65 63 68 6f 20 60  U system..echo `
6770: 65 63 68 6f 20 24 7b 55 4e 41 4d 45 5f 4d 41 43  echo ${UNAME_MAC
6780: 48 49 4e 45 7d 7c 73 65 64 20 2d 65 20 27 73 2c  HINE}|sed -e 's,
6790: 5b 2d 2f 5d 2e 2a 24 2c 2c 27 60 2d 75 6e 6b 6e  [-/].*$,,'`-unkn
67a0: 6f 77 6e 2d 67 6e 75 60 65 63 68 6f 20 24 7b 55  own-gnu`echo ${U
67b0: 4e 41 4d 45 5f 52 45 4c 45 41 53 45 7d 7c 73 65  NAME_RELEASE}|se
67c0: 64 20 2d 65 20 27 73 2c 2f 2e 2a 24 2c 2c 27 60  d -e 's,/.*$,,'`
67d0: 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20  ..exit 0 ;;.    
67e0: 2a 3a 47 4e 55 2f 2a 3a 2a 3a 2a 29 0a 09 23 20  *:GNU/*:*:*)..# 
67f0: 6f 74 68 65 72 20 73 79 73 74 65 6d 73 20 77 69  other systems wi
6800: 74 68 20 47 4e 55 20 6c 69 62 63 20 61 6e 64 20  th GNU libc and 
6810: 75 73 65 72 6c 61 6e 64 0a 09 65 63 68 6f 20 24  userland..echo $
6820: 7b 55 4e 41 4d 45 5f 4d 41 43 48 49 4e 45 7d 2d  {UNAME_MACHINE}-
6830: 75 6e 6b 6e 6f 77 6e 2d 60 65 63 68 6f 20 24 7b  unknown-`echo ${
6840: 55 4e 41 4d 45 5f 53 59 53 54 45 4d 7d 20 7c 20  UNAME_SYSTEM} | 
6850: 73 65 64 20 27 73 2c 5e 5b 5e 2f 5d 2a 2f 2c 2c  sed 's,^[^/]*/,,
6860: 27 20 7c 20 74 72 20 27 5b 41 2d 5a 5d 27 20 27  ' | tr '[A-Z]' '
6870: 5b 61 2d 7a 5d 27 60 60 65 63 68 6f 20 24 7b 55  [a-z]'``echo ${U
6880: 4e 41 4d 45 5f 52 45 4c 45 41 53 45 7d 7c 73 65  NAME_RELEASE}|se
6890: 64 20 2d 65 20 27 73 2f 5b 2d 28 5d 2e 2a 2f 2f  d -e 's/[-(].*//
68a0: 27 60 2d 67 6e 75 0a 09 65 78 69 74 20 30 20 3b  '`-gnu..exit 0 ;
68b0: 3b 0a 20 20 20 20 69 2a 38 36 3a 4d 69 6e 69 78  ;.    i*86:Minix
68c0: 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20 24 7b 55 4e  :*:*)..echo ${UN
68d0: 41 4d 45 5f 4d 41 43 48 49 4e 45 7d 2d 70 63 2d  AME_MACHINE}-pc-
68e0: 6d 69 6e 69 78 0a 09 65 78 69 74 20 30 20 3b 3b  minix..exit 0 ;;
68f0: 0a 20 20 20 20 61 72 6d 2a 3a 4c 69 6e 75 78 3a  .    arm*:Linux:
6900: 2a 3a 2a 29 0a 09 65 63 68 6f 20 24 7b 55 4e 41  *:*)..echo ${UNA
6910: 4d 45 5f 4d 41 43 48 49 4e 45 7d 2d 75 6e 6b 6e  ME_MACHINE}-unkn
6920: 6f 77 6e 2d 6c 69 6e 75 78 2d 67 6e 75 0a 09 65  own-linux-gnu..e
6930: 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 63 72 69  xit 0 ;;.    cri
6940: 73 3a 4c 69 6e 75 78 3a 2a 3a 2a 29 0a 09 65 63  s:Linux:*:*)..ec
6950: 68 6f 20 63 72 69 73 2d 61 78 69 73 2d 6c 69 6e  ho cris-axis-lin
6960: 75 78 2d 67 6e 75 0a 09 65 78 69 74 20 30 20 3b  ux-gnu..exit 0 ;
6970: 3b 0a 20 20 20 20 69 61 36 34 3a 4c 69 6e 75 78  ;.    ia64:Linux
6980: 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20 24 7b 55 4e  :*:*)..echo ${UN
6990: 41 4d 45 5f 4d 41 43 48 49 4e 45 7d 2d 75 6e 6b  AME_MACHINE}-unk
69a0: 6e 6f 77 6e 2d 6c 69 6e 75 78 2d 67 6e 75 0a 09  nown-linux-gnu..
69b0: 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 6d 36  exit 0 ;;.    m6
69c0: 38 2a 3a 4c 69 6e 75 78 3a 2a 3a 2a 29 0a 09 65  8*:Linux:*:*)..e
69d0: 63 68 6f 20 24 7b 55 4e 41 4d 45 5f 4d 41 43 48  cho ${UNAME_MACH
69e0: 49 4e 45 7d 2d 75 6e 6b 6e 6f 77 6e 2d 6c 69 6e  INE}-unknown-lin
69f0: 75 78 2d 67 6e 75 0a 09 65 78 69 74 20 30 20 3b  ux-gnu..exit 0 ;
6a00: 3b 0a 20 20 20 20 6d 69 70 73 3a 4c 69 6e 75 78  ;.    mips:Linux
6a10: 3a 2a 3a 2a 29 0a 09 65 76 61 6c 20 24 73 65 74  :*:*)..eval $set
6a20: 5f 63 63 5f 66 6f 72 5f 62 75 69 6c 64 0a 09 73  _cc_for_build..s
6a30: 65 64 20 27 73 2f 5e 09 2f 2f 27 20 3c 3c 20 45  ed 's/^.//' << E
6a40: 4f 46 20 3e 24 64 75 6d 6d 79 2e 63 0a 09 23 75  OF >$dummy.c..#u
6a50: 6e 64 65 66 20 43 50 55 0a 09 23 75 6e 64 65 66  ndef CPU..#undef
6a60: 20 6d 69 70 73 0a 09 23 75 6e 64 65 66 20 6d 69   mips..#undef mi
6a70: 70 73 65 6c 0a 09 23 69 66 20 64 65 66 69 6e 65  psel..#if define
6a80: 64 28 5f 5f 4d 49 50 53 45 4c 5f 5f 29 20 7c 7c  d(__MIPSEL__) ||
6a90: 20 64 65 66 69 6e 65 64 28 5f 5f 4d 49 50 53 45   defined(__MIPSE
6aa0: 4c 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f 4d  L) || defined(_M
6ab0: 49 50 53 45 4c 29 20 7c 7c 20 64 65 66 69 6e 65  IPSEL) || define
6ac0: 64 28 4d 49 50 53 45 4c 29 0a 09 43 50 55 3d 6d  d(MIPSEL)..CPU=m
6ad0: 69 70 73 65 6c 0a 09 23 65 6c 73 65 0a 09 23 69  ipsel..#else..#i
6ae0: 66 20 64 65 66 69 6e 65 64 28 5f 5f 4d 49 50 53  f defined(__MIPS
6af0: 45 42 5f 5f 29 20 7c 7c 20 64 65 66 69 6e 65 64  EB__) || defined
6b00: 28 5f 5f 4d 49 50 53 45 42 29 20 7c 7c 20 64 65  (__MIPSEB) || de
6b10: 66 69 6e 65 64 28 5f 4d 49 50 53 45 42 29 20 7c  fined(_MIPSEB) |
6b20: 7c 20 64 65 66 69 6e 65 64 28 4d 49 50 53 45 42  | defined(MIPSEB
6b30: 29 0a 09 43 50 55 3d 6d 69 70 73 0a 09 23 65 6c  )..CPU=mips..#el
6b40: 73 65 0a 09 43 50 55 3d 0a 09 23 65 6e 64 69 66  se..CPU=..#endif
6b50: 0a 09 23 65 6e 64 69 66 0a 45 4f 46 0a 09 65 76  ..#endif.EOF..ev
6b60: 61 6c 20 60 24 43 43 5f 46 4f 52 5f 42 55 49 4c  al `$CC_FOR_BUIL
6b70: 44 20 2d 45 20 24 64 75 6d 6d 79 2e 63 20 32 3e  D -E $dummy.c 2>
6b80: 2f 64 65 76 2f 6e 75 6c 6c 20 7c 20 67 72 65 70  /dev/null | grep
6b90: 20 5e 43 50 55 3d 60 0a 09 74 65 73 74 20 78 22   ^CPU=`..test x"
6ba0: 24 7b 43 50 55 7d 22 20 21 3d 20 78 20 26 26 20  ${CPU}" != x && 
6bb0: 65 63 68 6f 20 22 24 7b 43 50 55 7d 2d 75 6e 6b  echo "${CPU}-unk
6bc0: 6e 6f 77 6e 2d 6c 69 6e 75 78 2d 67 6e 75 22 20  nown-linux-gnu" 
6bd0: 26 26 20 65 78 69 74 20 30 0a 09 3b 3b 0a 20 20  && exit 0..;;.  
6be0: 20 20 6d 69 70 73 36 34 3a 4c 69 6e 75 78 3a 2a    mips64:Linux:*
6bf0: 3a 2a 29 0a 09 65 76 61 6c 20 24 73 65 74 5f 63  :*)..eval $set_c
6c00: 63 5f 66 6f 72 5f 62 75 69 6c 64 0a 09 73 65 64  c_for_build..sed
6c10: 20 27 73 2f 5e 09 2f 2f 27 20 3c 3c 20 45 4f 46   's/^.//' << EOF
6c20: 20 3e 24 64 75 6d 6d 79 2e 63 0a 09 23 75 6e 64   >$dummy.c..#und
6c30: 65 66 20 43 50 55 0a 09 23 75 6e 64 65 66 20 6d  ef CPU..#undef m
6c40: 69 70 73 36 34 0a 09 23 75 6e 64 65 66 20 6d 69  ips64..#undef mi
6c50: 70 73 36 34 65 6c 0a 09 23 69 66 20 64 65 66 69  ps64el..#if defi
6c60: 6e 65 64 28 5f 5f 4d 49 50 53 45 4c 5f 5f 29 20  ned(__MIPSEL__) 
6c70: 7c 7c 20 64 65 66 69 6e 65 64 28 5f 5f 4d 49 50  || defined(__MIP
6c80: 53 45 4c 29 20 7c 7c 20 64 65 66 69 6e 65 64 28  SEL) || defined(
6c90: 5f 4d 49 50 53 45 4c 29 20 7c 7c 20 64 65 66 69  _MIPSEL) || defi
6ca0: 6e 65 64 28 4d 49 50 53 45 4c 29 0a 09 43 50 55  ned(MIPSEL)..CPU
6cb0: 3d 6d 69 70 73 36 34 65 6c 0a 09 23 65 6c 73 65  =mips64el..#else
6cc0: 0a 09 23 69 66 20 64 65 66 69 6e 65 64 28 5f 5f  ..#if defined(__
6cd0: 4d 49 50 53 45 42 5f 5f 29 20 7c 7c 20 64 65 66  MIPSEB__) || def
6ce0: 69 6e 65 64 28 5f 5f 4d 49 50 53 45 42 29 20 7c  ined(__MIPSEB) |
6cf0: 7c 20 64 65 66 69 6e 65 64 28 5f 4d 49 50 53 45  | defined(_MIPSE
6d00: 42 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 4d 49  B) || defined(MI
6d10: 50 53 45 42 29 0a 09 43 50 55 3d 6d 69 70 73 36  PSEB)..CPU=mips6
6d20: 34 0a 09 23 65 6c 73 65 0a 09 43 50 55 3d 0a 09  4..#else..CPU=..
6d30: 23 65 6e 64 69 66 0a 09 23 65 6e 64 69 66 0a 45  #endif..#endif.E
6d40: 4f 46 0a 09 65 76 61 6c 20 60 24 43 43 5f 46 4f  OF..eval `$CC_FO
6d50: 52 5f 42 55 49 4c 44 20 2d 45 20 24 64 75 6d 6d  R_BUILD -E $dumm
6d60: 79 2e 63 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 20  y.c 2>/dev/null 
6d70: 7c 20 67 72 65 70 20 5e 43 50 55 3d 60 0a 09 74  | grep ^CPU=`..t
6d80: 65 73 74 20 78 22 24 7b 43 50 55 7d 22 20 21 3d  est x"${CPU}" !=
6d90: 20 78 20 26 26 20 65 63 68 6f 20 22 24 7b 43 50   x && echo "${CP
6da0: 55 7d 2d 75 6e 6b 6e 6f 77 6e 2d 6c 69 6e 75 78  U}-unknown-linux
6db0: 2d 67 6e 75 22 20 26 26 20 65 78 69 74 20 30 0a  -gnu" && exit 0.
6dc0: 09 3b 3b 0a 20 20 20 20 70 70 63 3a 4c 69 6e 75  .;;.    ppc:Linu
6dd0: 78 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20 70 6f 77  x:*:*)..echo pow
6de0: 65 72 70 63 2d 75 6e 6b 6e 6f 77 6e 2d 6c 69 6e  erpc-unknown-lin
6df0: 75 78 2d 67 6e 75 0a 09 65 78 69 74 20 30 20 3b  ux-gnu..exit 0 ;
6e00: 3b 0a 20 20 20 20 70 70 63 36 34 3a 4c 69 6e 75  ;.    ppc64:Linu
6e10: 78 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20 70 6f 77  x:*:*)..echo pow
6e20: 65 72 70 63 36 34 2d 75 6e 6b 6e 6f 77 6e 2d 6c  erpc64-unknown-l
6e30: 69 6e 75 78 2d 67 6e 75 0a 09 65 78 69 74 20 30  inux-gnu..exit 0
6e40: 20 3b 3b 0a 20 20 20 20 61 6c 70 68 61 3a 4c 69   ;;.    alpha:Li
6e50: 6e 75 78 3a 2a 3a 2a 29 0a 09 63 61 73 65 20 60  nux:*:*)..case `
6e60: 73 65 64 20 2d 6e 20 27 2f 5e 63 70 75 20 6d 6f  sed -n '/^cpu mo
6e70: 64 65 6c 2f 73 2f 5e 2e 2a 3a 20 5c 28 2e 2a 5c  del/s/^.*: \(.*\
6e80: 29 2f 5c 31 2f 70 27 20 3c 20 2f 70 72 6f 63 2f  )/\1/p' < /proc/
6e90: 63 70 75 69 6e 66 6f 60 20 69 6e 0a 09 20 20 45  cpuinfo` in..  E
6ea0: 56 35 29 20 20 20 55 4e 41 4d 45 5f 4d 41 43 48  V5)   UNAME_MACH
6eb0: 49 4e 45 3d 61 6c 70 68 61 65 76 35 20 3b 3b 0a  INE=alphaev5 ;;.
6ec0: 09 20 20 45 56 35 36 29 20 20 55 4e 41 4d 45 5f  .  EV56)  UNAME_
6ed0: 4d 41 43 48 49 4e 45 3d 61 6c 70 68 61 65 76 35  MACHINE=alphaev5
6ee0: 36 20 3b 3b 0a 09 20 20 50 43 41 35 36 29 20 55  6 ;;..  PCA56) U
6ef0: 4e 41 4d 45 5f 4d 41 43 48 49 4e 45 3d 61 6c 70  NAME_MACHINE=alp
6f00: 68 61 70 63 61 35 36 20 3b 3b 0a 09 20 20 50 43  hapca56 ;;..  PC
6f10: 41 35 37 29 20 55 4e 41 4d 45 5f 4d 41 43 48 49  A57) UNAME_MACHI
6f20: 4e 45 3d 61 6c 70 68 61 70 63 61 35 36 20 3b 3b  NE=alphapca56 ;;
6f30: 0a 09 20 20 45 56 36 29 20 20 20 55 4e 41 4d 45  ..  EV6)   UNAME
6f40: 5f 4d 41 43 48 49 4e 45 3d 61 6c 70 68 61 65 76  _MACHINE=alphaev
6f50: 36 20 3b 3b 0a 09 20 20 45 56 36 37 29 20 20 55  6 ;;..  EV67)  U
6f60: 4e 41 4d 45 5f 4d 41 43 48 49 4e 45 3d 61 6c 70  NAME_MACHINE=alp
6f70: 68 61 65 76 36 37 20 3b 3b 0a 09 20 20 45 56 36  haev67 ;;..  EV6
6f80: 38 2a 29 20 55 4e 41 4d 45 5f 4d 41 43 48 49 4e  8*) UNAME_MACHIN
6f90: 45 3d 61 6c 70 68 61 65 76 36 38 20 3b 3b 0a 20  E=alphaev68 ;;. 
6fa0: 20 20 20 20 20 20 20 65 73 61 63 0a 09 6f 62 6a         esac..obj
6fb0: 64 75 6d 70 20 2d 2d 70 72 69 76 61 74 65 2d 68  dump --private-h
6fc0: 65 61 64 65 72 73 20 2f 62 69 6e 2f 73 68 20 7c  eaders /bin/sh |
6fd0: 20 67 72 65 70 20 6c 64 2e 73 6f 2e 31 20 3e 2f   grep ld.so.1 >/
6fe0: 64 65 76 2f 6e 75 6c 6c 0a 09 69 66 20 74 65 73  dev/null..if tes
6ff0: 74 20 22 24 3f 22 20 3d 20 30 20 3b 20 74 68 65  t "$?" = 0 ; the
7000: 6e 20 4c 49 42 43 3d 22 6c 69 62 63 31 22 20 3b  n LIBC="libc1" ;
7010: 20 65 6c 73 65 20 4c 49 42 43 3d 22 22 20 3b 20   else LIBC="" ; 
7020: 66 69 0a 09 65 63 68 6f 20 24 7b 55 4e 41 4d 45  fi..echo ${UNAME
7030: 5f 4d 41 43 48 49 4e 45 7d 2d 75 6e 6b 6e 6f 77  _MACHINE}-unknow
7040: 6e 2d 6c 69 6e 75 78 2d 67 6e 75 24 7b 4c 49 42  n-linux-gnu${LIB
7050: 43 7d 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20  C}..exit 0 ;;.  
7060: 20 20 70 61 72 69 73 63 3a 4c 69 6e 75 78 3a 2a    parisc:Linux:*
7070: 3a 2a 20 7c 20 68 70 70 61 3a 4c 69 6e 75 78 3a  :* | hppa:Linux:
7080: 2a 3a 2a 29 0a 09 23 20 4c 6f 6f 6b 20 66 6f 72  *:*)..# Look for
7090: 20 43 50 55 20 6c 65 76 65 6c 0a 09 63 61 73 65   CPU level..case
70a0: 20 60 67 72 65 70 20 27 5e 63 70 75 5b 5e 61 2d   `grep '^cpu[^a-
70b0: 7a 5d 2a 3a 27 20 2f 70 72 6f 63 2f 63 70 75 69  z]*:' /proc/cpui
70c0: 6e 66 6f 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 20  nfo 2>/dev/null 
70d0: 7c 20 63 75 74 20 2d 64 27 20 27 20 2d 66 32 60  | cut -d' ' -f2`
70e0: 20 69 6e 0a 09 20 20 50 41 37 2a 29 20 65 63 68   in..  PA7*) ech
70f0: 6f 20 68 70 70 61 31 2e 31 2d 75 6e 6b 6e 6f 77  o hppa1.1-unknow
7100: 6e 2d 6c 69 6e 75 78 2d 67 6e 75 20 3b 3b 0a 09  n-linux-gnu ;;..
7110: 20 20 50 41 38 2a 29 20 65 63 68 6f 20 68 70 70    PA8*) echo hpp
7120: 61 32 2e 30 2d 75 6e 6b 6e 6f 77 6e 2d 6c 69 6e  a2.0-unknown-lin
7130: 75 78 2d 67 6e 75 20 3b 3b 0a 09 20 20 2a 29 20  ux-gnu ;;..  *) 
7140: 20 20 20 65 63 68 6f 20 68 70 70 61 2d 75 6e 6b     echo hppa-unk
7150: 6e 6f 77 6e 2d 6c 69 6e 75 78 2d 67 6e 75 20 3b  nown-linux-gnu ;
7160: 3b 0a 09 65 73 61 63 0a 09 65 78 69 74 20 30 20  ;..esac..exit 0 
7170: 3b 3b 0a 20 20 20 20 70 61 72 69 73 63 36 34 3a  ;;.    parisc64:
7180: 4c 69 6e 75 78 3a 2a 3a 2a 20 7c 20 68 70 70 61  Linux:*:* | hppa
7190: 36 34 3a 4c 69 6e 75 78 3a 2a 3a 2a 29 0a 09 65  64:Linux:*:*)..e
71a0: 63 68 6f 20 68 70 70 61 36 34 2d 75 6e 6b 6e 6f  cho hppa64-unkno
71b0: 77 6e 2d 6c 69 6e 75 78 2d 67 6e 75 0a 09 65 78  wn-linux-gnu..ex
71c0: 69 74 20 30 20 3b 3b 0a 20 20 20 20 73 33 39 30  it 0 ;;.    s390
71d0: 3a 4c 69 6e 75 78 3a 2a 3a 2a 20 7c 20 73 33 39  :Linux:*:* | s39
71e0: 30 78 3a 4c 69 6e 75 78 3a 2a 3a 2a 29 0a 09 65  0x:Linux:*:*)..e
71f0: 63 68 6f 20 24 7b 55 4e 41 4d 45 5f 4d 41 43 48  cho ${UNAME_MACH
7200: 49 4e 45 7d 2d 69 62 6d 2d 6c 69 6e 75 78 0a 09  INE}-ibm-linux..
7210: 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 73 68  exit 0 ;;.    sh
7220: 36 34 2a 3a 4c 69 6e 75 78 3a 2a 3a 2a 29 0a 20  64*:Linux:*:*). 
7230: 20 20 20 09 65 63 68 6f 20 24 7b 55 4e 41 4d 45     .echo ${UNAME
7240: 5f 4d 41 43 48 49 4e 45 7d 2d 75 6e 6b 6e 6f 77  _MACHINE}-unknow
7250: 6e 2d 6c 69 6e 75 78 2d 67 6e 75 0a 09 65 78 69  n-linux-gnu..exi
7260: 74 20 30 20 3b 3b 0a 20 20 20 20 73 68 2a 3a 4c  t 0 ;;.    sh*:L
7270: 69 6e 75 78 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20  inux:*:*)..echo 
7280: 24 7b 55 4e 41 4d 45 5f 4d 41 43 48 49 4e 45 7d  ${UNAME_MACHINE}
7290: 2d 75 6e 6b 6e 6f 77 6e 2d 6c 69 6e 75 78 2d 67  -unknown-linux-g
72a0: 6e 75 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20  nu..exit 0 ;;.  
72b0: 20 20 73 70 61 72 63 3a 4c 69 6e 75 78 3a 2a 3a    sparc:Linux:*:
72c0: 2a 20 7c 20 73 70 61 72 63 36 34 3a 4c 69 6e 75  * | sparc64:Linu
72d0: 78 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20 24 7b 55  x:*:*)..echo ${U
72e0: 4e 41 4d 45 5f 4d 41 43 48 49 4e 45 7d 2d 75 6e  NAME_MACHINE}-un
72f0: 6b 6e 6f 77 6e 2d 6c 69 6e 75 78 2d 67 6e 75 0a  known-linux-gnu.
7300: 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 78  .exit 0 ;;.    x
7310: 38 36 5f 36 34 3a 4c 69 6e 75 78 3a 2a 3a 2a 29  86_64:Linux:*:*)
7320: 0a 09 65 63 68 6f 20 78 38 36 5f 36 34 2d 75 6e  ..echo x86_64-un
7330: 6b 6e 6f 77 6e 2d 6c 69 6e 75 78 2d 67 6e 75 0a  known-linux-gnu.
7340: 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 69  .exit 0 ;;.    i
7350: 2a 38 36 3a 4c 69 6e 75 78 3a 2a 3a 2a 29 0a 09  *86:Linux:*:*)..
7360: 23 20 54 68 65 20 42 46 44 20 6c 69 6e 6b 65 72  # The BFD linker
7370: 20 6b 6e 6f 77 73 20 77 68 61 74 20 74 68 65 20   knows what the 
7380: 64 65 66 61 75 6c 74 20 6f 62 6a 65 63 74 20 66  default object f
7390: 69 6c 65 20 66 6f 72 6d 61 74 20 69 73 2c 20 73  ile format is, s
73a0: 6f 0a 09 23 20 66 69 72 73 74 20 73 65 65 20 69  o..# first see i
73b0: 66 20 69 74 20 77 69 6c 6c 20 74 65 6c 6c 20 75  f it will tell u
73c0: 73 2e 20 63 64 20 74 6f 20 74 68 65 20 72 6f 6f  s. cd to the roo
73d0: 74 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 70  t directory to p
73e0: 72 65 76 65 6e 74 0a 09 23 20 70 72 6f 62 6c 65  revent..# proble
73f0: 6d 73 20 77 69 74 68 20 6f 74 68 65 72 20 70 72  ms with other pr
7400: 6f 67 72 61 6d 73 20 6f 72 20 64 69 72 65 63 74  ograms or direct
7410: 6f 72 69 65 73 20 63 61 6c 6c 65 64 20 60 6c 64  ories called `ld
7420: 27 20 69 6e 20 74 68 65 20 70 61 74 68 2e 0a 09  ' in the path...
7430: 23 20 53 65 74 20 4c 43 5f 41 4c 4c 3d 43 20 74  # Set LC_ALL=C t
7440: 6f 20 65 6e 73 75 72 65 20 6c 64 20 6f 75 74 70  o ensure ld outp
7450: 75 74 73 20 6d 65 73 73 61 67 65 73 20 69 6e 20  uts messages in 
7460: 45 6e 67 6c 69 73 68 2e 0a 09 6c 64 5f 73 75 70  English...ld_sup
7470: 70 6f 72 74 65 64 5f 74 61 72 67 65 74 73 3d 60  ported_targets=`
7480: 63 64 20 2f 3b 20 4c 43 5f 41 4c 4c 3d 43 20 6c  cd /; LC_ALL=C l
7490: 64 20 2d 2d 68 65 6c 70 20 32 3e 26 31 20 5c 0a  d --help 2>&1 \.
74a0: 09 09 09 20 7c 20 73 65 64 20 2d 6e 65 20 27 2f  ... | sed -ne '/
74b0: 73 75 70 70 6f 72 74 65 64 20 74 61 72 67 65 74  supported target
74c0: 73 3a 2f 21 64 0a 09 09 09 09 20 20 20 20 73 2f  s:/!d.....    s/
74d0: 5b 20 09 5d 5b 20 09 5d 2a 2f 20 2f 67 0a 09 09  [ .][ .]*/ /g...
74e0: 09 09 20 20 20 20 73 2f 2e 2a 73 75 70 70 6f 72  ..    s/.*suppor
74f0: 74 65 64 20 74 61 72 67 65 74 73 3a 20 2a 2f 2f  ted targets: *//
7500: 0a 09 09 09 09 20 20 20 20 73 2f 20 2e 2a 2f 2f  .....    s/ .*//
7510: 0a 09 09 09 09 20 20 20 20 70 27 60 0a 20 20 20  .....    p'`.   
7520: 20 20 20 20 20 63 61 73 65 20 22 24 6c 64 5f 73       case "$ld_s
7530: 75 70 70 6f 72 74 65 64 5f 74 61 72 67 65 74 73  upported_targets
7540: 22 20 69 6e 0a 09 20 20 65 6c 66 33 32 2d 69 33  " in..  elf32-i3
7550: 38 36 29 0a 09 09 54 45 4e 54 41 54 49 56 45 3d  86)...TENTATIVE=
7560: 22 24 7b 55 4e 41 4d 45 5f 4d 41 43 48 49 4e 45  "${UNAME_MACHINE
7570: 7d 2d 70 63 2d 6c 69 6e 75 78 2d 67 6e 75 22 0a  }-pc-linux-gnu".
7580: 09 09 3b 3b 0a 09 20 20 61 2e 6f 75 74 2d 69 33  ..;;..  a.out-i3
7590: 38 36 2d 6c 69 6e 75 78 29 0a 09 09 65 63 68 6f  86-linux)...echo
75a0: 20 22 24 7b 55 4e 41 4d 45 5f 4d 41 43 48 49 4e   "${UNAME_MACHIN
75b0: 45 7d 2d 70 63 2d 6c 69 6e 75 78 2d 67 6e 75 61  E}-pc-linux-gnua
75c0: 6f 75 74 22 0a 09 09 65 78 69 74 20 30 20 3b 3b  out"...exit 0 ;;
75d0: 0a 09 20 20 63 6f 66 66 2d 69 33 38 36 29 0a 09  ..  coff-i386)..
75e0: 09 65 63 68 6f 20 22 24 7b 55 4e 41 4d 45 5f 4d  .echo "${UNAME_M
75f0: 41 43 48 49 4e 45 7d 2d 70 63 2d 6c 69 6e 75 78  ACHINE}-pc-linux
7600: 2d 67 6e 75 63 6f 66 66 22 0a 09 09 65 78 69 74  -gnucoff"...exit
7610: 20 30 20 3b 3b 0a 09 20 20 22 22 29 0a 09 09 23   0 ;;..  "")...#
7620: 20 45 69 74 68 65 72 20 61 20 70 72 65 2d 42 46   Either a pre-BF
7630: 44 20 61 2e 6f 75 74 20 6c 69 6e 6b 65 72 20 28  D a.out linker (
7640: 6c 69 6e 75 78 2d 67 6e 75 6f 6c 64 6c 64 29 20  linux-gnuoldld) 
7650: 6f 72 0a 09 09 23 20 6f 6e 65 20 74 68 61 74 20  or...# one that 
7660: 64 6f 65 73 20 6e 6f 74 20 67 69 76 65 20 75 73  does not give us
7670: 20 75 73 65 66 75 6c 20 2d 2d 68 65 6c 70 2e 0a   useful --help..
7680: 09 09 65 63 68 6f 20 22 24 7b 55 4e 41 4d 45 5f  ..echo "${UNAME_
7690: 4d 41 43 48 49 4e 45 7d 2d 70 63 2d 6c 69 6e 75  MACHINE}-pc-linu
76a0: 78 2d 67 6e 75 6f 6c 64 6c 64 22 0a 09 09 65 78  x-gnuoldld"...ex
76b0: 69 74 20 30 20 3b 3b 0a 09 65 73 61 63 0a 09 23  it 0 ;;..esac..#
76c0: 20 44 65 74 65 72 6d 69 6e 65 20 77 68 65 74 68   Determine wheth
76d0: 65 72 20 74 68 65 20 64 65 66 61 75 6c 74 20 63  er the default c
76e0: 6f 6d 70 69 6c 65 72 20 69 73 20 61 2e 6f 75 74  ompiler is a.out
76f0: 20 6f 72 20 65 6c 66 0a 09 65 76 61 6c 20 24 73   or elf..eval $s
7700: 65 74 5f 63 63 5f 66 6f 72 5f 62 75 69 6c 64 0a  et_cc_for_build.
7710: 09 73 65 64 20 27 73 2f 5e 09 2f 2f 27 20 3c 3c  .sed 's/^.//' <<
7720: 20 45 4f 46 20 3e 24 64 75 6d 6d 79 2e 63 0a 09   EOF >$dummy.c..
7730: 23 69 6e 63 6c 75 64 65 20 3c 66 65 61 74 75 72  #include <featur
7740: 65 73 2e 68 3e 0a 09 23 69 66 64 65 66 20 5f 5f  es.h>..#ifdef __
7750: 45 4c 46 5f 5f 0a 09 23 20 69 66 64 65 66 20 5f  ELF__..# ifdef _
7760: 5f 47 4c 49 42 43 5f 5f 0a 09 23 20 20 69 66 20  _GLIBC__..#  if 
7770: 5f 5f 47 4c 49 42 43 5f 5f 20 3e 3d 20 32 0a 09  __GLIBC__ >= 2..
7780: 4c 49 42 43 3d 67 6e 75 0a 09 23 20 20 65 6c 73  LIBC=gnu..#  els
7790: 65 0a 09 4c 49 42 43 3d 67 6e 75 6c 69 62 63 31  e..LIBC=gnulibc1
77a0: 0a 09 23 20 20 65 6e 64 69 66 0a 09 23 20 65 6c  ..#  endif..# el
77b0: 73 65 0a 09 4c 49 42 43 3d 67 6e 75 6c 69 62 63  se..LIBC=gnulibc
77c0: 31 0a 09 23 20 65 6e 64 69 66 0a 09 23 65 6c 73  1..# endif..#els
77d0: 65 0a 09 23 69 66 64 65 66 20 5f 5f 49 4e 54 45  e..#ifdef __INTE
77e0: 4c 5f 43 4f 4d 50 49 4c 45 52 0a 09 4c 49 42 43  L_COMPILER..LIBC
77f0: 3d 67 6e 75 0a 09 23 65 6c 73 65 0a 09 4c 49 42  =gnu..#else..LIB
7800: 43 3d 67 6e 75 61 6f 75 74 0a 09 23 65 6e 64 69  C=gnuaout..#endi
7810: 66 0a 09 23 65 6e 64 69 66 0a 09 23 69 66 64 65  f..#endif..#ifde
7820: 66 20 5f 5f 64 69 65 74 6c 69 62 63 5f 5f 0a 09  f __dietlibc__..
7830: 4c 49 42 43 3d 64 69 65 74 6c 69 62 63 0a 09 23  LIBC=dietlibc..#
7840: 65 6e 64 69 66 0a 45 4f 46 0a 09 65 76 61 6c 20  endif.EOF..eval 
7850: 60 24 43 43 5f 46 4f 52 5f 42 55 49 4c 44 20 2d  `$CC_FOR_BUILD -
7860: 45 20 24 64 75 6d 6d 79 2e 63 20 32 3e 2f 64 65  E $dummy.c 2>/de
7870: 76 2f 6e 75 6c 6c 20 7c 20 67 72 65 70 20 5e 4c  v/null | grep ^L
7880: 49 42 43 3d 60 0a 09 74 65 73 74 20 78 22 24 7b  IBC=`..test x"${
7890: 4c 49 42 43 7d 22 20 21 3d 20 78 20 26 26 20 65  LIBC}" != x && e
78a0: 63 68 6f 20 22 24 7b 55 4e 41 4d 45 5f 4d 41 43  cho "${UNAME_MAC
78b0: 48 49 4e 45 7d 2d 70 63 2d 6c 69 6e 75 78 2d 24  HINE}-pc-linux-$
78c0: 7b 4c 49 42 43 7d 22 20 26 26 20 65 78 69 74 20  {LIBC}" && exit 
78d0: 30 0a 09 74 65 73 74 20 78 22 24 7b 54 45 4e 54  0..test x"${TENT
78e0: 41 54 49 56 45 7d 22 20 21 3d 20 78 20 26 26 20  ATIVE}" != x && 
78f0: 65 63 68 6f 20 22 24 7b 54 45 4e 54 41 54 49 56  echo "${TENTATIV
7900: 45 7d 22 20 26 26 20 65 78 69 74 20 30 0a 09 3b  E}" && exit 0..;
7910: 3b 0a 20 20 20 20 69 2a 38 36 3a 44 59 4e 49 58  ;.    i*86:DYNIX
7920: 2f 70 74 78 3a 34 2a 3a 2a 29 0a 09 23 20 70 74  /ptx:4*:*)..# pt
7930: 78 20 34 2e 30 20 64 6f 65 73 20 75 6e 61 6d 65  x 4.0 does uname
7940: 20 2d 73 20 63 6f 72 72 65 63 74 6c 79 2c 20 77   -s correctly, w
7950: 69 74 68 20 44 59 4e 49 58 2f 70 74 78 20 69 6e  ith DYNIX/ptx in
7960: 20 74 68 65 72 65 2e 0a 09 23 20 65 61 72 6c 69   there...# earli
7970: 65 72 20 76 65 72 73 69 6f 6e 73 20 61 72 65 20  er versions are 
7980: 6d 65 73 73 65 64 20 75 70 20 61 6e 64 20 70 75  messed up and pu
7990: 74 20 74 68 65 20 6e 6f 64 65 6e 61 6d 65 20 69  t the nodename i
79a0: 6e 20 62 6f 74 68 0a 09 23 20 73 79 73 6e 61 6d  n both..# sysnam
79b0: 65 20 61 6e 64 20 6e 6f 64 65 6e 61 6d 65 2e 0a  e and nodename..
79c0: 09 65 63 68 6f 20 69 33 38 36 2d 73 65 71 75 65  .echo i386-seque
79d0: 6e 74 2d 73 79 73 76 34 0a 09 65 78 69 74 20 30  nt-sysv4..exit 0
79e0: 20 3b 3b 0a 20 20 20 20 69 2a 38 36 3a 55 4e 49   ;;.    i*86:UNI
79f0: 58 5f 53 56 3a 34 2e 32 4d 50 3a 32 2e 2a 29 0a  X_SV:4.2MP:2.*).
7a00: 20 20 20 20 20 20 20 20 23 20 55 6e 69 78 77 61          # Unixwa
7a10: 72 65 20 69 73 20 61 6e 20 6f 66 66 73 68 6f 6f  re is an offshoo
7a20: 74 20 6f 66 20 53 56 52 34 2c 20 62 75 74 20 69  t of SVR4, but i
7a30: 74 20 68 61 73 20 69 74 73 20 6f 77 6e 20 76 65  t has its own ve
7a40: 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 23 20  rsion.        # 
7a50: 6e 75 6d 62 65 72 20 73 65 72 69 65 73 20 73 74  number series st
7a60: 61 72 74 69 6e 67 20 77 69 74 68 20 32 2e 2e 2e  arting with 2...
7a70: 0a 20 20 20 20 20 20 20 20 23 20 49 20 61 6d 20  .        # I am 
7a80: 6e 6f 74 20 70 6f 73 69 74 69 76 65 20 74 68 61  not positive tha
7a90: 74 20 6f 74 68 65 72 20 53 56 52 34 20 73 79 73  t other SVR4 sys
7aa0: 74 65 6d 73 20 77 6f 6e 27 74 20 6d 61 74 63 68  tems won't match
7ab0: 20 74 68 69 73 2c 0a 09 23 20 49 20 6a 75 73 74   this,..# I just
7ac0: 20 68 61 76 65 20 74 6f 20 68 6f 70 65 2e 20 20   have to hope.  
7ad0: 2d 2d 20 72 6d 73 2e 0a 20 20 20 20 20 20 20 20  -- rms..        
7ae0: 23 20 55 73 65 20 73 79 73 76 34 2e 32 75 77 2e  # Use sysv4.2uw.
7af0: 2e 2e 20 73 6f 20 74 68 61 74 20 73 79 73 76 34  .. so that sysv4
7b00: 2a 20 6d 61 74 63 68 65 73 20 69 74 2e 0a 09 65  * matches it...e
7b10: 63 68 6f 20 24 7b 55 4e 41 4d 45 5f 4d 41 43 48  cho ${UNAME_MACH
7b20: 49 4e 45 7d 2d 70 63 2d 73 79 73 76 34 2e 32 75  INE}-pc-sysv4.2u
7b30: 77 24 7b 55 4e 41 4d 45 5f 56 45 52 53 49 4f 4e  w${UNAME_VERSION
7b40: 7d 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20  }..exit 0 ;;.   
7b50: 20 69 2a 38 36 3a 4f 53 2f 32 3a 2a 3a 2a 29 0a   i*86:OS/2:*:*).
7b60: 09 23 20 49 66 20 77 65 20 77 65 72 65 20 61 62  .# If we were ab
7b70: 6c 65 20 74 6f 20 66 69 6e 64 20 60 75 6e 61 6d  le to find `unam
7b80: 65 27 2c 20 74 68 65 6e 20 45 4d 58 20 55 6e 69  e', then EMX Uni
7b90: 78 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 0a  x compatibility.
7ba0: 09 23 20 69 73 20 70 72 6f 62 61 62 6c 79 20 69  .# is probably i
7bb0: 6e 73 74 61 6c 6c 65 64 2e 0a 09 65 63 68 6f 20  nstalled...echo 
7bc0: 24 7b 55 4e 41 4d 45 5f 4d 41 43 48 49 4e 45 7d  ${UNAME_MACHINE}
7bd0: 2d 70 63 2d 6f 73 32 2d 65 6d 78 0a 09 65 78 69  -pc-os2-emx..exi
7be0: 74 20 30 20 3b 3b 0a 20 20 20 20 69 2a 38 36 3a  t 0 ;;.    i*86:
7bf0: 58 54 53 2d 33 30 30 3a 2a 3a 53 54 4f 50 29 0a  XTS-300:*:STOP).
7c00: 09 65 63 68 6f 20 24 7b 55 4e 41 4d 45 5f 4d 41  .echo ${UNAME_MA
7c10: 43 48 49 4e 45 7d 2d 75 6e 6b 6e 6f 77 6e 2d 73  CHINE}-unknown-s
7c20: 74 6f 70 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20  top..exit 0 ;;. 
7c30: 20 20 20 69 2a 38 36 3a 61 74 68 65 6f 73 3a 2a     i*86:atheos:*
7c40: 3a 2a 29 0a 09 65 63 68 6f 20 24 7b 55 4e 41 4d  :*)..echo ${UNAM
7c50: 45 5f 4d 41 43 48 49 4e 45 7d 2d 75 6e 6b 6e 6f  E_MACHINE}-unkno
7c60: 77 6e 2d 61 74 68 65 6f 73 0a 09 65 78 69 74 20  wn-atheos..exit 
7c70: 30 20 3b 3b 0a 09 69 2a 38 36 3a 73 79 6c 6c 61  0 ;;..i*86:sylla
7c80: 62 6c 65 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20 24  ble:*:*)..echo $
7c90: 7b 55 4e 41 4d 45 5f 4d 41 43 48 49 4e 45 7d 2d  {UNAME_MACHINE}-
7ca0: 70 63 2d 73 79 6c 6c 61 62 6c 65 0a 09 65 78 69  pc-syllable..exi
7cb0: 74 20 30 20 3b 3b 0a 20 20 20 20 69 2a 38 36 3a  t 0 ;;.    i*86:
7cc0: 4c 79 6e 78 4f 53 3a 32 2e 2a 3a 2a 20 7c 20 69  LynxOS:2.*:* | i
7cd0: 2a 38 36 3a 4c 79 6e 78 4f 53 3a 33 2e 5b 30 31  *86:LynxOS:3.[01
7ce0: 5d 2a 3a 2a 20 7c 20 69 2a 38 36 3a 4c 79 6e 78  ]*:* | i*86:Lynx
7cf0: 4f 53 3a 34 2e 30 2a 3a 2a 29 0a 09 65 63 68 6f  OS:4.0*:*)..echo
7d00: 20 69 33 38 36 2d 75 6e 6b 6e 6f 77 6e 2d 6c 79   i386-unknown-ly
7d10: 6e 78 6f 73 24 7b 55 4e 41 4d 45 5f 52 45 4c 45  nxos${UNAME_RELE
7d20: 41 53 45 7d 0a 09 65 78 69 74 20 30 20 3b 3b 0a  ASE}..exit 0 ;;.
7d30: 20 20 20 20 69 2a 38 36 3a 2a 44 4f 53 3a 2a 3a      i*86:*DOS:*:
7d40: 2a 29 0a 09 65 63 68 6f 20 24 7b 55 4e 41 4d 45  *)..echo ${UNAME
7d50: 5f 4d 41 43 48 49 4e 45 7d 2d 70 63 2d 6d 73 64  _MACHINE}-pc-msd
7d60: 6f 73 64 6a 67 70 70 0a 09 65 78 69 74 20 30 20  osdjgpp..exit 0 
7d70: 3b 3b 0a 20 20 20 20 69 2a 38 36 3a 2a 3a 34 2e  ;;.    i*86:*:4.
7d80: 2a 3a 2a 20 7c 20 69 2a 38 36 3a 53 59 53 54 45  *:* | i*86:SYSTE
7d90: 4d 5f 56 3a 34 2e 2a 3a 2a 29 0a 09 55 4e 41 4d  M_V:4.*:*)..UNAM
7da0: 45 5f 52 45 4c 3d 60 65 63 68 6f 20 24 7b 55 4e  E_REL=`echo ${UN
7db0: 41 4d 45 5f 52 45 4c 45 41 53 45 7d 20 7c 20 73  AME_RELEASE} | s
7dc0: 65 64 20 27 73 2f 5c 2f 4d 50 24 2f 2f 27 60 0a  ed 's/\/MP$//'`.
7dd0: 09 69 66 20 67 72 65 70 20 4e 6f 76 65 6c 6c 20  .if grep Novell 
7de0: 2f 75 73 72 2f 69 6e 63 6c 75 64 65 2f 6c 69 6e  /usr/include/lin
7df0: 6b 2e 68 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32  k.h >/dev/null 2
7e00: 3e 2f 64 65 76 2f 6e 75 6c 6c 3b 20 74 68 65 6e  >/dev/null; then
7e10: 0a 09 09 65 63 68 6f 20 24 7b 55 4e 41 4d 45 5f  ...echo ${UNAME_
7e20: 4d 41 43 48 49 4e 45 7d 2d 75 6e 69 76 65 6c 2d  MACHINE}-univel-
7e30: 73 79 73 76 24 7b 55 4e 41 4d 45 5f 52 45 4c 7d  sysv${UNAME_REL}
7e40: 0a 09 65 6c 73 65 0a 09 09 65 63 68 6f 20 24 7b  ..else...echo ${
7e50: 55 4e 41 4d 45 5f 4d 41 43 48 49 4e 45 7d 2d 70  UNAME_MACHINE}-p
7e60: 63 2d 73 79 73 76 24 7b 55 4e 41 4d 45 5f 52 45  c-sysv${UNAME_RE
7e70: 4c 7d 0a 09 66 69 0a 09 65 78 69 74 20 30 20 3b  L}..fi..exit 0 ;
7e80: 3b 0a 20 20 20 20 69 2a 38 36 3a 2a 3a 35 3a 5b  ;.    i*86:*:5:[
7e90: 37 38 5d 2a 29 0a 09 63 61 73 65 20 60 2f 62 69  78]*)..case `/bi
7ea0: 6e 2f 75 6e 61 6d 65 20 2d 58 20 7c 20 67 72 65  n/uname -X | gre
7eb0: 70 20 22 5e 4d 61 63 68 69 6e 65 22 60 20 69 6e  p "^Machine"` in
7ec0: 0a 09 20 20 20 20 2a 34 38 36 2a 29 09 20 20 20  ..    *486*).   
7ed0: 20 20 55 4e 41 4d 45 5f 4d 41 43 48 49 4e 45 3d    UNAME_MACHINE=
7ee0: 69 34 38 36 20 3b 3b 0a 09 20 20 20 20 2a 50 65  i486 ;;..    *Pe
7ef0: 6e 74 69 75 6d 29 09 20 20 20 20 20 55 4e 41 4d  ntium).     UNAM
7f00: 45 5f 4d 41 43 48 49 4e 45 3d 69 35 38 36 20 3b  E_MACHINE=i586 ;
7f10: 3b 0a 09 20 20 20 20 2a 50 65 6e 74 2a 7c 2a 43  ;..    *Pent*|*C
7f20: 65 6c 65 72 6f 6e 29 20 55 4e 41 4d 45 5f 4d 41  eleron) UNAME_MA
7f30: 43 48 49 4e 45 3d 69 36 38 36 20 3b 3b 0a 09 65  CHINE=i686 ;;..e
7f40: 73 61 63 0a 09 65 63 68 6f 20 24 7b 55 4e 41 4d  sac..echo ${UNAM
7f50: 45 5f 4d 41 43 48 49 4e 45 7d 2d 75 6e 6b 6e 6f  E_MACHINE}-unkno
7f60: 77 6e 2d 73 79 73 76 24 7b 55 4e 41 4d 45 5f 52  wn-sysv${UNAME_R
7f70: 45 4c 45 41 53 45 7d 24 7b 55 4e 41 4d 45 5f 53  ELEASE}${UNAME_S
7f80: 59 53 54 45 4d 7d 24 7b 55 4e 41 4d 45 5f 56 45  YSTEM}${UNAME_VE
7f90: 52 53 49 4f 4e 7d 0a 09 65 78 69 74 20 30 20 3b  RSION}..exit 0 ;
7fa0: 3b 0a 20 20 20 20 69 2a 38 36 3a 2a 3a 33 2e 32  ;.    i*86:*:3.2
7fb0: 3a 2a 29 0a 09 69 66 20 74 65 73 74 20 2d 66 20  :*)..if test -f 
7fc0: 2f 75 73 72 2f 6f 70 74 69 6f 6e 73 2f 63 62 2e  /usr/options/cb.
7fd0: 6e 61 6d 65 3b 20 74 68 65 6e 0a 09 09 55 4e 41  name; then...UNA
7fe0: 4d 45 5f 52 45 4c 3d 60 73 65 64 20 2d 6e 20 27  ME_REL=`sed -n '
7ff0: 73 2f 2e 2a 56 65 72 73 69 6f 6e 20 2f 2f 70 27  s/.*Version //p'
8000: 20 3c 2f 75 73 72 2f 6f 70 74 69 6f 6e 73 2f 63   </usr/options/c
8010: 62 2e 6e 61 6d 65 60 0a 09 09 65 63 68 6f 20 24  b.name`...echo $
8020: 7b 55 4e 41 4d 45 5f 4d 41 43 48 49 4e 45 7d 2d  {UNAME_MACHINE}-
8030: 70 63 2d 69 73 63 24 55 4e 41 4d 45 5f 52 45 4c  pc-isc$UNAME_REL
8040: 0a 09 65 6c 69 66 20 2f 62 69 6e 2f 75 6e 61 6d  ..elif /bin/unam
8050: 65 20 2d 58 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c  e -X 2>/dev/null
8060: 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 3b 20 74 68   >/dev/null ; th
8070: 65 6e 0a 09 09 55 4e 41 4d 45 5f 52 45 4c 3d 60  en...UNAME_REL=`
8080: 28 2f 62 69 6e 2f 75 6e 61 6d 65 20 2d 58 7c 67  (/bin/uname -X|g
8090: 72 65 70 20 52 65 6c 65 61 73 65 7c 73 65 64 20  rep Release|sed 
80a0: 2d 65 20 27 73 2f 2e 2a 3d 20 2f 2f 27 29 60 0a  -e 's/.*= //')`.
80b0: 09 09 28 2f 62 69 6e 2f 75 6e 61 6d 65 20 2d 58  ..(/bin/uname -X
80c0: 7c 67 72 65 70 20 69 38 30 34 38 36 20 3e 2f 64  |grep i80486 >/d
80d0: 65 76 2f 6e 75 6c 6c 29 20 26 26 20 55 4e 41 4d  ev/null) && UNAM
80e0: 45 5f 4d 41 43 48 49 4e 45 3d 69 34 38 36 0a 09  E_MACHINE=i486..
80f0: 09 28 2f 62 69 6e 2f 75 6e 61 6d 65 20 2d 58 7c  .(/bin/uname -X|
8100: 67 72 65 70 20 27 5e 4d 61 63 68 69 6e 65 2e 2a  grep '^Machine.*
8110: 50 65 6e 74 69 75 6d 27 20 3e 2f 64 65 76 2f 6e  Pentium' >/dev/n
8120: 75 6c 6c 29 20 5c 0a 09 09 09 26 26 20 55 4e 41  ull) \....&& UNA
8130: 4d 45 5f 4d 41 43 48 49 4e 45 3d 69 35 38 36 0a  ME_MACHINE=i586.
8140: 09 09 28 2f 62 69 6e 2f 75 6e 61 6d 65 20 2d 58  ..(/bin/uname -X
8150: 7c 67 72 65 70 20 27 5e 4d 61 63 68 69 6e 65 2e  |grep '^Machine.
8160: 2a 50 65 6e 74 20 2a 49 49 27 20 3e 2f 64 65 76  *Pent *II' >/dev
8170: 2f 6e 75 6c 6c 29 20 5c 0a 09 09 09 26 26 20 55  /null) \....&& U
8180: 4e 41 4d 45 5f 4d 41 43 48 49 4e 45 3d 69 36 38  NAME_MACHINE=i68
8190: 36 0a 09 09 28 2f 62 69 6e 2f 75 6e 61 6d 65 20  6...(/bin/uname 
81a0: 2d 58 7c 67 72 65 70 20 27 5e 4d 61 63 68 69 6e  -X|grep '^Machin
81b0: 65 2e 2a 50 65 6e 74 69 75 6d 20 50 72 6f 27 20  e.*Pentium Pro' 
81c0: 3e 2f 64 65 76 2f 6e 75 6c 6c 29 20 5c 0a 09 09  >/dev/null) \...
81d0: 09 26 26 20 55 4e 41 4d 45 5f 4d 41 43 48 49 4e  .&& UNAME_MACHIN
81e0: 45 3d 69 36 38 36 0a 09 09 65 63 68 6f 20 24 7b  E=i686...echo ${
81f0: 55 4e 41 4d 45 5f 4d 41 43 48 49 4e 45 7d 2d 70  UNAME_MACHINE}-p
8200: 63 2d 73 63 6f 24 55 4e 41 4d 45 5f 52 45 4c 0a  c-sco$UNAME_REL.
8210: 09 65 6c 73 65 0a 09 09 65 63 68 6f 20 24 7b 55  .else...echo ${U
8220: 4e 41 4d 45 5f 4d 41 43 48 49 4e 45 7d 2d 70 63  NAME_MACHINE}-pc
8230: 2d 73 79 73 76 33 32 0a 09 66 69 0a 09 65 78 69  -sysv32..fi..exi
8240: 74 20 30 20 3b 3b 0a 20 20 20 20 70 63 3a 2a 3a  t 0 ;;.    pc:*:
8250: 2a 3a 2a 29 0a 09 23 20 4c 65 66 74 20 68 65 72  *:*)..# Left her
8260: 65 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c  e for compatibil
8270: 69 74 79 3a 0a 20 20 20 20 20 20 20 20 23 20 75  ity:.        # u
8280: 6e 61 6d 65 20 2d 6d 20 70 72 69 6e 74 73 20 66  name -m prints f
8290: 6f 72 20 44 4a 47 50 50 20 61 6c 77 61 79 73 20  or DJGPP always 
82a0: 27 70 63 27 2c 20 62 75 74 20 69 74 20 70 72 69  'pc', but it pri
82b0: 6e 74 73 20 6e 6f 74 68 69 6e 67 20 61 62 6f 75  nts nothing abou
82c0: 74 0a 20 20 20 20 20 20 20 20 23 20 74 68 65 20  t.        # the 
82d0: 70 72 6f 63 65 73 73 6f 72 2c 20 73 6f 20 77 65  processor, so we
82e0: 20 70 6c 61 79 20 73 61 66 65 20 62 79 20 61 73   play safe by as
82f0: 73 75 6d 69 6e 67 20 69 33 38 36 2e 0a 09 65 63  suming i386...ec
8300: 68 6f 20 69 33 38 36 2d 70 63 2d 6d 73 64 6f 73  ho i386-pc-msdos
8310: 64 6a 67 70 70 0a 20 20 20 20 20 20 20 20 65 78  djgpp.        ex
8320: 69 74 20 30 20 3b 3b 0a 20 20 20 20 49 6e 74 65  it 0 ;;.    Inte
8330: 6c 3a 4d 61 63 68 3a 33 2a 3a 2a 29 0a 09 65 63  l:Mach:3*:*)..ec
8340: 68 6f 20 69 33 38 36 2d 70 63 2d 6d 61 63 68 33  ho i386-pc-mach3
8350: 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20  ..exit 0 ;;.    
8360: 70 61 72 61 67 6f 6e 3a 2a 3a 2a 3a 2a 29 0a 09  paragon:*:*:*)..
8370: 65 63 68 6f 20 69 38 36 30 2d 69 6e 74 65 6c 2d  echo i860-intel-
8380: 6f 73 66 31 0a 09 65 78 69 74 20 30 20 3b 3b 0a  osf1..exit 0 ;;.
8390: 20 20 20 20 69 38 36 30 3a 2a 3a 34 2e 2a 3a 2a      i860:*:4.*:*
83a0: 29 20 23 20 69 38 36 30 2d 53 56 52 34 0a 09 69  ) # i860-SVR4..i
83b0: 66 20 67 72 65 70 20 53 74 61 72 64 65 6e 74 20  f grep Stardent 
83c0: 2f 75 73 72 2f 69 6e 63 6c 75 64 65 2f 73 79 73  /usr/include/sys
83d0: 2f 75 61 64 6d 69 6e 2e 68 20 3e 2f 64 65 76 2f  /uadmin.h >/dev/
83e0: 6e 75 6c 6c 20 32 3e 26 31 20 3b 20 74 68 65 6e  null 2>&1 ; then
83f0: 0a 09 20 20 65 63 68 6f 20 69 38 36 30 2d 73 74  ..  echo i860-st
8400: 61 72 64 65 6e 74 2d 73 79 73 76 24 7b 55 4e 41  ardent-sysv${UNA
8410: 4d 45 5f 52 45 4c 45 41 53 45 7d 20 23 20 53 74  ME_RELEASE} # St
8420: 61 72 64 65 6e 74 20 56 69 73 74 72 61 20 69 38  ardent Vistra i8
8430: 36 30 2d 53 56 52 34 0a 09 65 6c 73 65 20 23 20  60-SVR4..else # 
8440: 41 64 64 20 6f 74 68 65 72 20 69 38 36 30 2d 53  Add other i860-S
8450: 56 52 34 20 76 65 6e 64 6f 72 73 20 62 65 6c 6f  VR4 vendors belo
8460: 77 20 61 73 20 74 68 65 79 20 61 72 65 20 64 69  w as they are di
8470: 73 63 6f 76 65 72 65 64 2e 0a 09 20 20 65 63 68  scovered...  ech
8480: 6f 20 69 38 36 30 2d 75 6e 6b 6e 6f 77 6e 2d 73  o i860-unknown-s
8490: 79 73 76 24 7b 55 4e 41 4d 45 5f 52 45 4c 45 41  ysv${UNAME_RELEA
84a0: 53 45 7d 20 20 23 20 55 6e 6b 6e 6f 77 6e 20 69  SE}  # Unknown i
84b0: 38 36 30 2d 53 56 52 34 0a 09 66 69 0a 09 65 78  860-SVR4..fi..ex
84c0: 69 74 20 30 20 3b 3b 0a 20 20 20 20 6d 69 6e 69  it 0 ;;.    mini
84d0: 2a 3a 43 54 49 58 3a 53 59 53 2a 35 3a 2a 29 0a  *:CTIX:SYS*5:*).
84e0: 09 23 20 22 6d 69 6e 69 66 72 61 6d 65 22 0a 09  .# "miniframe"..
84f0: 65 63 68 6f 20 6d 36 38 30 31 30 2d 63 6f 6e 76  echo m68010-conv
8500: 65 72 67 65 6e 74 2d 73 79 73 76 0a 09 65 78 69  ergent-sysv..exi
8510: 74 20 30 20 3b 3b 0a 20 20 20 20 6d 63 36 38 6b  t 0 ;;.    mc68k
8520: 3a 55 4e 49 58 3a 53 59 53 54 45 4d 35 3a 33 2e  :UNIX:SYSTEM5:3.
8530: 35 31 6d 29 0a 09 65 63 68 6f 20 6d 36 38 6b 2d  51m)..echo m68k-
8540: 63 6f 6e 76 65 72 67 65 6e 74 2d 73 79 73 76 0a  convergent-sysv.
8550: 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 4d  .exit 0 ;;.    M
8560: 36 38 30 3f 30 3a 44 2d 4e 49 58 3a 35 2e 33 3a  680?0:D-NIX:5.3:
8570: 2a 29 0a 09 65 63 68 6f 20 6d 36 38 6b 2d 64 69  *)..echo m68k-di
8580: 61 62 2d 64 6e 69 78 0a 09 65 78 69 74 20 30 20  ab-dnix..exit 0 
8590: 3b 3b 0a 20 20 20 20 4d 36 38 2a 3a 2a 3a 52 33  ;;.    M68*:*:R3
85a0: 56 5b 35 36 37 5d 2a 3a 2a 29 0a 09 74 65 73 74  V[567]*:*)..test
85b0: 20 2d 72 20 2f 73 79 73 56 36 38 20 26 26 20 65   -r /sysV68 && e
85c0: 63 68 6f 20 27 6d 36 38 6b 2d 6d 6f 74 6f 72 6f  cho 'm68k-motoro
85d0: 6c 61 2d 73 79 73 76 27 20 26 26 20 65 78 69 74  la-sysv' && exit
85e0: 20 30 20 3b 3b 0a 20 20 20 20 33 5b 33 34 35 5d   0 ;;.    3[345]
85f0: 3f 3f 3a 2a 3a 34 2e 30 3a 33 2e 30 20 7c 20 33  ??:*:4.0:3.0 | 3
8600: 5b 33 34 5d 3f 3f 41 3a 2a 3a 34 2e 30 3a 33 2e  [34]??A:*:4.0:3.
8610: 30 20 7c 20 33 5b 33 34 5d 3f 3f 2c 2a 3a 2a 3a  0 | 3[34]??,*:*:
8620: 34 2e 30 3a 33 2e 30 20 7c 20 33 5b 33 34 5d 3f  4.0:3.0 | 3[34]?
8630: 3f 2f 2a 3a 2a 3a 34 2e 30 3a 33 2e 30 20 7c 20  ?/*:*:4.0:3.0 | 
8640: 34 34 30 30 3a 2a 3a 34 2e 30 3a 33 2e 30 20 7c  4400:*:4.0:3.0 |
8650: 20 34 38 35 30 3a 2a 3a 34 2e 30 3a 33 2e 30 20   4850:*:4.0:3.0 
8660: 7c 20 53 4b 41 34 30 3a 2a 3a 34 2e 30 3a 33 2e  | SKA40:*:4.0:3.
8670: 30 20 7c 20 53 44 53 32 3a 2a 3a 34 2e 30 3a 33  0 | SDS2:*:4.0:3
8680: 2e 30 20 7c 20 53 48 47 32 3a 2a 3a 34 2e 30 3a  .0 | SHG2:*:4.0:
8690: 33 2e 30 29 0a 09 4f 53 5f 52 45 4c 3d 27 27 0a  3.0)..OS_REL=''.
86a0: 09 74 65 73 74 20 2d 72 20 2f 65 74 63 2f 2e 72  .test -r /etc/.r
86b0: 65 6c 69 64 20 5c 0a 09 26 26 20 4f 53 5f 52 45  elid \..&& OS_RE
86c0: 4c 3d 2e 60 73 65 64 20 2d 6e 20 27 73 2f 5b 5e  L=.`sed -n 's/[^
86d0: 20 5d 2a 20 5b 5e 20 5d 2a 20 5c 28 5b 30 2d 39   ]* [^ ]* \([0-9
86e0: 5d 5b 30 2d 39 5d 5c 29 2e 2a 2f 5c 31 2f 70 27  ][0-9]\).*/\1/p'
86f0: 20 3c 20 2f 65 74 63 2f 2e 72 65 6c 69 64 60 0a   < /etc/.relid`.
8700: 09 2f 62 69 6e 2f 75 6e 61 6d 65 20 2d 70 20 32  ./bin/uname -p 2
8710: 3e 2f 64 65 76 2f 6e 75 6c 6c 20 7c 20 67 72 65  >/dev/null | gre
8720: 70 20 38 36 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20  p 86 >/dev/null 
8730: 5c 0a 09 20 20 26 26 20 65 63 68 6f 20 69 34 38  \..  && echo i48
8740: 36 2d 6e 63 72 2d 73 79 73 76 34 2e 33 24 7b 4f  6-ncr-sysv4.3${O
8750: 53 5f 52 45 4c 7d 20 26 26 20 65 78 69 74 20 30  S_REL} && exit 0
8760: 0a 09 2f 62 69 6e 2f 75 6e 61 6d 65 20 2d 70 20  ../bin/uname -p 
8770: 32 3e 2f 64 65 76 2f 6e 75 6c 6c 20 7c 20 2f 62  2>/dev/null | /b
8780: 69 6e 2f 67 72 65 70 20 65 6e 74 69 75 6d 20 3e  in/grep entium >
8790: 2f 64 65 76 2f 6e 75 6c 6c 20 5c 0a 09 20 20 26  /dev/null \..  &
87a0: 26 20 65 63 68 6f 20 69 35 38 36 2d 6e 63 72 2d  & echo i586-ncr-
87b0: 73 79 73 76 34 2e 33 24 7b 4f 53 5f 52 45 4c 7d  sysv4.3${OS_REL}
87c0: 20 26 26 20 65 78 69 74 20 30 20 3b 3b 0a 20 20   && exit 0 ;;.  
87d0: 20 20 33 5b 33 34 5d 3f 3f 3a 2a 3a 34 2e 30 3a    3[34]??:*:4.0:
87e0: 2a 20 7c 20 33 5b 33 34 5d 3f 3f 2c 2a 3a 2a 3a  * | 3[34]??,*:*:
87f0: 34 2e 30 3a 2a 29 0a 20 20 20 20 20 20 20 20 2f  4.0:*).        /
8800: 62 69 6e 2f 75 6e 61 6d 65 20 2d 70 20 32 3e 2f  bin/uname -p 2>/
8810: 64 65 76 2f 6e 75 6c 6c 20 7c 20 67 72 65 70 20  dev/null | grep 
8820: 38 36 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 5c 0a  86 >/dev/null \.
8830: 20 20 20 20 20 20 20 20 20 20 26 26 20 65 63 68            && ech
8840: 6f 20 69 34 38 36 2d 6e 63 72 2d 73 79 73 76 34  o i486-ncr-sysv4
8850: 20 26 26 20 65 78 69 74 20 30 20 3b 3b 0a 20 20   && exit 0 ;;.  
8860: 20 20 6d 36 38 2a 3a 4c 79 6e 78 4f 53 3a 32 2e    m68*:LynxOS:2.
8870: 2a 3a 2a 20 7c 20 6d 36 38 2a 3a 4c 79 6e 78 4f  *:* | m68*:LynxO
8880: 53 3a 33 2e 30 2a 3a 2a 29 0a 09 65 63 68 6f 20  S:3.0*:*)..echo 
8890: 6d 36 38 6b 2d 75 6e 6b 6e 6f 77 6e 2d 6c 79 6e  m68k-unknown-lyn
88a0: 78 6f 73 24 7b 55 4e 41 4d 45 5f 52 45 4c 45 41  xos${UNAME_RELEA
88b0: 53 45 7d 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20  SE}..exit 0 ;;. 
88c0: 20 20 20 6d 63 36 38 30 33 30 3a 55 4e 49 58 5f     mc68030:UNIX_
88d0: 53 79 73 74 65 6d 5f 56 3a 34 2e 2a 3a 2a 29 0a  System_V:4.*:*).
88e0: 09 65 63 68 6f 20 6d 36 38 6b 2d 61 74 61 72 69  .echo m68k-atari
88f0: 2d 73 79 73 76 34 0a 09 65 78 69 74 20 30 20 3b  -sysv4..exit 0 ;
8900: 3b 0a 20 20 20 20 54 53 55 4e 41 4d 49 3a 4c 79  ;.    TSUNAMI:Ly
8910: 6e 78 4f 53 3a 32 2e 2a 3a 2a 29 0a 09 65 63 68  nxOS:2.*:*)..ech
8920: 6f 20 73 70 61 72 63 2d 75 6e 6b 6e 6f 77 6e 2d  o sparc-unknown-
8930: 6c 79 6e 78 6f 73 24 7b 55 4e 41 4d 45 5f 52 45  lynxos${UNAME_RE
8940: 4c 45 41 53 45 7d 0a 09 65 78 69 74 20 30 20 3b  LEASE}..exit 0 ;
8950: 3b 0a 20 20 20 20 72 73 36 30 30 30 3a 4c 79 6e  ;.    rs6000:Lyn
8960: 78 4f 53 3a 32 2e 2a 3a 2a 29 0a 09 65 63 68 6f  xOS:2.*:*)..echo
8970: 20 72 73 36 30 30 30 2d 75 6e 6b 6e 6f 77 6e 2d   rs6000-unknown-
8980: 6c 79 6e 78 6f 73 24 7b 55 4e 41 4d 45 5f 52 45  lynxos${UNAME_RE
8990: 4c 45 41 53 45 7d 0a 09 65 78 69 74 20 30 20 3b  LEASE}..exit 0 ;
89a0: 3b 0a 20 20 20 20 50 6f 77 65 72 50 43 3a 4c 79  ;.    PowerPC:Ly
89b0: 6e 78 4f 53 3a 32 2e 2a 3a 2a 20 7c 20 50 6f 77  nxOS:2.*:* | Pow
89c0: 65 72 50 43 3a 4c 79 6e 78 4f 53 3a 33 2e 5b 30  erPC:LynxOS:3.[0
89d0: 31 5d 2a 3a 2a 20 7c 20 50 6f 77 65 72 50 43 3a  1]*:* | PowerPC:
89e0: 4c 79 6e 78 4f 53 3a 34 2e 30 2a 3a 2a 29 0a 09  LynxOS:4.0*:*)..
89f0: 65 63 68 6f 20 70 6f 77 65 72 70 63 2d 75 6e 6b  echo powerpc-unk
8a00: 6e 6f 77 6e 2d 6c 79 6e 78 6f 73 24 7b 55 4e 41  nown-lynxos${UNA
8a10: 4d 45 5f 52 45 4c 45 41 53 45 7d 0a 09 65 78 69  ME_RELEASE}..exi
8a20: 74 20 30 20 3b 3b 0a 20 20 20 20 53 4d 5b 42 45  t 0 ;;.    SM[BE
8a30: 5d 53 3a 55 4e 49 58 5f 53 56 3a 2a 3a 2a 29 0a  ]S:UNIX_SV:*:*).
8a40: 09 65 63 68 6f 20 6d 69 70 73 2d 64 64 65 2d 73  .echo mips-dde-s
8a50: 79 73 76 24 7b 55 4e 41 4d 45 5f 52 45 4c 45 41  ysv${UNAME_RELEA
8a60: 53 45 7d 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20  SE}..exit 0 ;;. 
8a70: 20 20 20 52 4d 2a 3a 52 65 6c 69 61 6e 74 55 4e     RM*:ReliantUN
8a80: 49 58 2d 2a 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20  IX-*:*:*)..echo 
8a90: 6d 69 70 73 2d 73 6e 69 2d 73 79 73 76 34 0a 09  mips-sni-sysv4..
8aa0: 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 52 4d  exit 0 ;;.    RM
8ab0: 2a 3a 53 49 4e 49 58 2d 2a 3a 2a 3a 2a 29 0a 09  *:SINIX-*:*:*)..
8ac0: 65 63 68 6f 20 6d 69 70 73 2d 73 6e 69 2d 73 79  echo mips-sni-sy
8ad0: 73 76 34 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20  sv4..exit 0 ;;. 
8ae0: 20 20 20 2a 3a 53 49 4e 49 58 2d 2a 3a 2a 3a 2a     *:SINIX-*:*:*
8af0: 29 0a 09 69 66 20 75 6e 61 6d 65 20 2d 70 20 32  )..if uname -p 2
8b00: 3e 2f 64 65 76 2f 6e 75 6c 6c 20 3e 2f 64 65 76  >/dev/null >/dev
8b10: 2f 6e 75 6c 6c 20 3b 20 74 68 65 6e 0a 09 09 55  /null ; then...U
8b20: 4e 41 4d 45 5f 4d 41 43 48 49 4e 45 3d 60 28 75  NAME_MACHINE=`(u
8b30: 6e 61 6d 65 20 2d 70 29 20 32 3e 2f 64 65 76 2f  name -p) 2>/dev/
8b40: 6e 75 6c 6c 60 0a 09 09 65 63 68 6f 20 24 7b 55  null`...echo ${U
8b50: 4e 41 4d 45 5f 4d 41 43 48 49 4e 45 7d 2d 73 6e  NAME_MACHINE}-sn
8b60: 69 2d 73 79 73 76 34 0a 09 65 6c 73 65 0a 09 09  i-sysv4..else...
8b70: 65 63 68 6f 20 6e 73 33 32 6b 2d 73 6e 69 2d 73  echo ns32k-sni-s
8b80: 79 73 76 0a 09 66 69 0a 09 65 78 69 74 20 30 20  ysv..fi..exit 0 
8b90: 3b 3b 0a 20 20 20 20 50 45 4e 54 49 55 4d 3a 2a  ;;.    PENTIUM:*
8ba0: 3a 34 2e 30 2a 3a 2a 29 20 23 20 55 6e 69 73 79  :4.0*:*) # Unisy
8bb0: 73 20 60 43 6c 65 61 72 50 61 74 68 20 48 4d 50  s `ClearPath HMP
8bc0: 20 49 58 20 34 30 30 30 27 20 53 56 52 34 2f 4d   IX 4000' SVR4/M
8bd0: 50 20 65 66 66 6f 72 74 0a 20 20 20 20 20 20 20  P effort.       
8be0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23                 #
8bf0: 20 73 61 79 73 20 3c 52 69 63 68 61 72 64 2e 4d   says <Richard.M
8c00: 2e 42 61 72 74 65 6c 40 63 63 4d 61 69 6c 2e 43  .Bartel@ccMail.C
8c10: 65 6e 73 75 73 2e 47 4f 56 3e 0a 20 20 20 20 20  ensus.GOV>.     
8c20: 20 20 20 65 63 68 6f 20 69 35 38 36 2d 75 6e 69     echo i586-uni
8c30: 73 79 73 2d 73 79 73 76 34 0a 20 20 20 20 20 20  sys-sysv4.      
8c40: 20 20 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20    exit 0 ;;.    
8c50: 2a 3a 55 4e 49 58 5f 53 79 73 74 65 6d 5f 56 3a  *:UNIX_System_V:
8c60: 34 2a 3a 46 54 58 2a 29 0a 09 23 20 46 72 6f 6d  4*:FTX*)..# From
8c70: 20 47 65 72 61 6c 64 20 48 65 77 65 73 20 3c 68   Gerald Hewes <h
8c80: 65 77 65 73 40 6f 70 65 6e 6d 61 72 6b 65 74 2e  ewes@openmarket.
8c90: 63 6f 6d 3e 2e 0a 09 23 20 48 6f 77 20 61 62 6f  com>...# How abo
8ca0: 75 74 20 64 69 66 66 65 72 65 6e 74 69 61 74 69  ut differentiati
8cb0: 6e 67 20 62 65 74 77 65 65 6e 20 73 74 72 61 74  ng between strat
8cc0: 75 73 20 61 72 63 68 69 74 65 63 74 75 72 65 73  us architectures
8cd0: 3f 20 2d 64 6a 6d 0a 09 65 63 68 6f 20 68 70 70  ? -djm..echo hpp
8ce0: 61 31 2e 31 2d 73 74 72 61 74 75 73 2d 73 79 73  a1.1-stratus-sys
8cf0: 76 34 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20  v4..exit 0 ;;.  
8d00: 20 20 2a 3a 2a 3a 2a 3a 46 54 58 2a 29 0a 09 23    *:*:*:FTX*)..#
8d10: 20 46 72 6f 6d 20 73 65 61 6e 66 40 73 77 64 63   From seanf@swdc
8d20: 2e 73 74 72 61 74 75 73 2e 63 6f 6d 2e 0a 09 65  .stratus.com...e
8d30: 63 68 6f 20 69 38 36 30 2d 73 74 72 61 74 75 73  cho i860-stratus
8d40: 2d 73 79 73 76 34 0a 09 65 78 69 74 20 30 20 3b  -sysv4..exit 0 ;
8d50: 3b 0a 20 20 20 20 2a 3a 56 4f 53 3a 2a 3a 2a 29  ;.    *:VOS:*:*)
8d60: 0a 09 23 20 46 72 6f 6d 20 50 61 75 6c 2e 47 72  ..# From Paul.Gr
8d70: 65 65 6e 40 73 74 72 61 74 75 73 2e 63 6f 6d 2e  een@stratus.com.
8d80: 0a 09 65 63 68 6f 20 68 70 70 61 31 2e 31 2d 73  ..echo hppa1.1-s
8d90: 74 72 61 74 75 73 2d 76 6f 73 0a 09 65 78 69 74  tratus-vos..exit
8da0: 20 30 20 3b 3b 0a 20 20 20 20 6d 63 36 38 2a 3a   0 ;;.    mc68*:
8db0: 41 2f 55 58 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20  A/UX:*:*)..echo 
8dc0: 6d 36 38 6b 2d 61 70 70 6c 65 2d 61 75 78 24 7b  m68k-apple-aux${
8dd0: 55 4e 41 4d 45 5f 52 45 4c 45 41 53 45 7d 0a 09  UNAME_RELEASE}..
8de0: 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 6e 65  exit 0 ;;.    ne
8df0: 77 73 2a 3a 4e 45 57 53 2d 4f 53 3a 36 2a 3a 2a  ws*:NEWS-OS:6*:*
8e00: 29 0a 09 65 63 68 6f 20 6d 69 70 73 2d 73 6f 6e  )..echo mips-son
8e10: 79 2d 6e 65 77 73 6f 73 36 0a 09 65 78 69 74 20  y-newsos6..exit 
8e20: 30 20 3b 3b 0a 20 20 20 20 52 5b 33 34 5d 30 30  0 ;;.    R[34]00
8e30: 30 3a 2a 53 79 73 74 65 6d 5f 56 2a 3a 2a 3a 2a  0:*System_V*:*:*
8e40: 20 7c 20 52 34 30 30 30 3a 55 4e 49 58 5f 53 59   | R4000:UNIX_SY
8e50: 53 56 3a 2a 3a 2a 20 7c 20 52 2a 30 30 30 3a 55  SV:*:* | R*000:U
8e60: 4e 49 58 5f 53 56 3a 2a 3a 2a 29 0a 09 69 66 20  NIX_SV:*:*)..if 
8e70: 5b 20 2d 64 20 2f 75 73 72 2f 6e 65 63 20 5d 3b  [ -d /usr/nec ];
8e80: 20 74 68 65 6e 0a 09 20 20 20 20 20 20 20 20 65   then..        e
8e90: 63 68 6f 20 6d 69 70 73 2d 6e 65 63 2d 73 79 73  cho mips-nec-sys
8ea0: 76 24 7b 55 4e 41 4d 45 5f 52 45 4c 45 41 53 45  v${UNAME_RELEASE
8eb0: 7d 0a 09 65 6c 73 65 0a 09 20 20 20 20 20 20 20  }..else..       
8ec0: 20 65 63 68 6f 20 6d 69 70 73 2d 75 6e 6b 6e 6f   echo mips-unkno
8ed0: 77 6e 2d 73 79 73 76 24 7b 55 4e 41 4d 45 5f 52  wn-sysv${UNAME_R
8ee0: 45 4c 45 41 53 45 7d 0a 09 66 69 0a 20 20 20 20  ELEASE}..fi.    
8ef0: 20 20 20 20 65 78 69 74 20 30 20 3b 3b 0a 20 20      exit 0 ;;.  
8f00: 20 20 42 65 42 6f 78 3a 42 65 4f 53 3a 2a 3a 2a    BeBox:BeOS:*:*
8f10: 29 09 23 20 42 65 4f 53 20 72 75 6e 6e 69 6e 67  ).# BeOS running
8f20: 20 6f 6e 20 68 61 72 64 77 61 72 65 20 6d 61 64   on hardware mad
8f30: 65 20 62 79 20 42 65 2c 20 50 50 43 20 6f 6e 6c  e by Be, PPC onl
8f40: 79 2e 0a 09 65 63 68 6f 20 70 6f 77 65 72 70 63  y...echo powerpc
8f50: 2d 62 65 2d 62 65 6f 73 0a 09 65 78 69 74 20 30  -be-beos..exit 0
8f60: 20 3b 3b 0a 20 20 20 20 42 65 4d 61 63 3a 42 65   ;;.    BeMac:Be
8f70: 4f 53 3a 2a 3a 2a 29 09 23 20 42 65 4f 53 20 72  OS:*:*).# BeOS r
8f80: 75 6e 6e 69 6e 67 20 6f 6e 20 4d 61 63 20 6f 72  unning on Mac or
8f90: 20 4d 61 63 20 63 6c 6f 6e 65 2c 20 50 50 43 20   Mac clone, PPC 
8fa0: 6f 6e 6c 79 2e 0a 09 65 63 68 6f 20 70 6f 77 65  only...echo powe
8fb0: 72 70 63 2d 61 70 70 6c 65 2d 62 65 6f 73 0a 09  rpc-apple-beos..
8fc0: 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 42 65  exit 0 ;;.    Be
8fd0: 50 43 3a 42 65 4f 53 3a 2a 3a 2a 29 09 23 20 42  PC:BeOS:*:*).# B
8fe0: 65 4f 53 20 72 75 6e 6e 69 6e 67 20 6f 6e 20 49  eOS running on I
8ff0: 6e 74 65 6c 20 50 43 20 63 6f 6d 70 61 74 69 62  ntel PC compatib
9000: 6c 65 2e 0a 09 65 63 68 6f 20 69 35 38 36 2d 70  le...echo i586-p
9010: 63 2d 62 65 6f 73 0a 09 65 78 69 74 20 30 20 3b  c-beos..exit 0 ;
9020: 3b 0a 20 20 20 20 53 58 2d 34 3a 53 55 50 45 52  ;.    SX-4:SUPER
9030: 2d 55 58 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20 73  -UX:*:*)..echo s
9040: 78 34 2d 6e 65 63 2d 73 75 70 65 72 75 78 24 7b  x4-nec-superux${
9050: 55 4e 41 4d 45 5f 52 45 4c 45 41 53 45 7d 0a 09  UNAME_RELEASE}..
9060: 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 53 58  exit 0 ;;.    SX
9070: 2d 35 3a 53 55 50 45 52 2d 55 58 3a 2a 3a 2a 29  -5:SUPER-UX:*:*)
9080: 0a 09 65 63 68 6f 20 73 78 35 2d 6e 65 63 2d 73  ..echo sx5-nec-s
9090: 75 70 65 72 75 78 24 7b 55 4e 41 4d 45 5f 52 45  uperux${UNAME_RE
90a0: 4c 45 41 53 45 7d 0a 09 65 78 69 74 20 30 20 3b  LEASE}..exit 0 ;
90b0: 3b 0a 20 20 20 20 53 58 2d 36 3a 53 55 50 45 52  ;.    SX-6:SUPER
90c0: 2d 55 58 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20 73  -UX:*:*)..echo s
90d0: 78 36 2d 6e 65 63 2d 73 75 70 65 72 75 78 24 7b  x6-nec-superux${
90e0: 55 4e 41 4d 45 5f 52 45 4c 45 41 53 45 7d 0a 09  UNAME_RELEASE}..
90f0: 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 50 6f  exit 0 ;;.    Po
9100: 77 65 72 2a 3a 52 68 61 70 73 6f 64 79 3a 2a 3a  wer*:Rhapsody:*:
9110: 2a 29 0a 09 65 63 68 6f 20 70 6f 77 65 72 70 63  *)..echo powerpc
9120: 2d 61 70 70 6c 65 2d 72 68 61 70 73 6f 64 79 24  -apple-rhapsody$
9130: 7b 55 4e 41 4d 45 5f 52 45 4c 45 41 53 45 7d 0a  {UNAME_RELEASE}.
9140: 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 2a  .exit 0 ;;.    *
9150: 3a 52 68 61 70 73 6f 64 79 3a 2a 3a 2a 29 0a 09  :Rhapsody:*:*)..
9160: 65 63 68 6f 20 24 7b 55 4e 41 4d 45 5f 4d 41 43  echo ${UNAME_MAC
9170: 48 49 4e 45 7d 2d 61 70 70 6c 65 2d 72 68 61 70  HINE}-apple-rhap
9180: 73 6f 64 79 24 7b 55 4e 41 4d 45 5f 52 45 4c 45  sody${UNAME_RELE
9190: 41 53 45 7d 0a 09 65 78 69 74 20 30 20 3b 3b 0a  ASE}..exit 0 ;;.
91a0: 20 20 20 20 2a 3a 44 61 72 77 69 6e 3a 2a 3a 2a      *:Darwin:*:*
91b0: 29 0a 09 63 61 73 65 20 60 75 6e 61 6d 65 20 2d  )..case `uname -
91c0: 70 60 20 69 6e 0a 09 20 20 20 20 2a 38 36 29 20  p` in..    *86) 
91d0: 55 4e 41 4d 45 5f 50 52 4f 43 45 53 53 4f 52 3d  UNAME_PROCESSOR=
91e0: 69 36 38 36 20 3b 3b 0a 09 20 20 20 20 70 6f 77  i686 ;;..    pow
91f0: 65 72 70 63 29 20 55 4e 41 4d 45 5f 50 52 4f 43  erpc) UNAME_PROC
9200: 45 53 53 4f 52 3d 70 6f 77 65 72 70 63 20 3b 3b  ESSOR=powerpc ;;
9210: 0a 09 65 73 61 63 0a 09 65 63 68 6f 20 24 7b 55  ..esac..echo ${U
9220: 4e 41 4d 45 5f 50 52 4f 43 45 53 53 4f 52 7d 2d  NAME_PROCESSOR}-
9230: 61 70 70 6c 65 2d 64 61 72 77 69 6e 24 7b 55 4e  apple-darwin${UN
9240: 41 4d 45 5f 52 45 4c 45 41 53 45 7d 0a 09 65 78  AME_RELEASE}..ex
9250: 69 74 20 30 20 3b 3b 0a 20 20 20 20 2a 3a 70 72  it 0 ;;.    *:pr
9260: 6f 63 6e 74 6f 2a 3a 2a 3a 2a 20 7c 20 2a 3a 51  ocnto*:*:* | *:Q
9270: 4e 58 3a 5b 30 31 32 33 34 35 36 37 38 39 5d 2a  NX:[0123456789]*
9280: 3a 2a 29 0a 09 55 4e 41 4d 45 5f 50 52 4f 43 45  :*)..UNAME_PROCE
9290: 53 53 4f 52 3d 60 75 6e 61 6d 65 20 2d 70 60 0a  SSOR=`uname -p`.
92a0: 09 69 66 20 74 65 73 74 20 22 24 55 4e 41 4d 45  .if test "$UNAME
92b0: 5f 50 52 4f 43 45 53 53 4f 52 22 20 3d 20 22 78  _PROCESSOR" = "x
92c0: 38 36 22 3b 20 74 68 65 6e 0a 09 09 55 4e 41 4d  86"; then...UNAM
92d0: 45 5f 50 52 4f 43 45 53 53 4f 52 3d 69 33 38 36  E_PROCESSOR=i386
92e0: 0a 09 09 55 4e 41 4d 45 5f 4d 41 43 48 49 4e 45  ...UNAME_MACHINE
92f0: 3d 70 63 0a 09 66 69 0a 09 65 63 68 6f 20 24 7b  =pc..fi..echo ${
9300: 55 4e 41 4d 45 5f 50 52 4f 43 45 53 53 4f 52 7d  UNAME_PROCESSOR}
9310: 2d 24 7b 55 4e 41 4d 45 5f 4d 41 43 48 49 4e 45  -${UNAME_MACHINE
9320: 7d 2d 6e 74 6f 2d 71 6e 78 24 7b 55 4e 41 4d 45  }-nto-qnx${UNAME
9330: 5f 52 45 4c 45 41 53 45 7d 0a 09 65 78 69 74 20  _RELEASE}..exit 
9340: 30 20 3b 3b 0a 20 20 20 20 2a 3a 51 4e 58 3a 2a  0 ;;.    *:QNX:*
9350: 3a 34 2a 29 0a 09 65 63 68 6f 20 69 33 38 36 2d  :4*)..echo i386-
9360: 70 63 2d 71 6e 78 0a 09 65 78 69 74 20 30 20 3b  pc-qnx..exit 0 ;
9370: 3b 0a 20 20 20 20 4e 53 52 2d 3f 3a 4e 4f 4e 53  ;.    NSR-?:NONS
9380: 54 4f 50 5f 4b 45 52 4e 45 4c 3a 2a 3a 2a 29 0a  TOP_KERNEL:*:*).
9390: 09 65 63 68 6f 20 6e 73 72 2d 74 61 6e 64 65 6d  .echo nsr-tandem
93a0: 2d 6e 73 6b 24 7b 55 4e 41 4d 45 5f 52 45 4c 45  -nsk${UNAME_RELE
93b0: 41 53 45 7d 0a 09 65 78 69 74 20 30 20 3b 3b 0a  ASE}..exit 0 ;;.
93c0: 20 20 20 20 2a 3a 4e 6f 6e 53 74 6f 70 2d 55 58      *:NonStop-UX
93d0: 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20 6d 69 70 73  :*:*)..echo mips
93e0: 2d 63 6f 6d 70 61 71 2d 6e 6f 6e 73 74 6f 70 75  -compaq-nonstopu
93f0: 78 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20  x..exit 0 ;;.   
9400: 20 42 53 32 30 30 30 3a 50 4f 53 49 58 2a 3a 2a   BS2000:POSIX*:*
9410: 3a 2a 29 0a 09 65 63 68 6f 20 62 73 32 30 30 30  :*)..echo bs2000
9420: 2d 73 69 65 6d 65 6e 73 2d 73 79 73 76 0a 09 65  -siemens-sysv..e
9430: 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 44 53 2f  xit 0 ;;.    DS/
9440: 2a 3a 55 4e 49 58 5f 53 79 73 74 65 6d 5f 56 3a  *:UNIX_System_V:
9450: 2a 3a 2a 29 0a 09 65 63 68 6f 20 24 7b 55 4e 41  *:*)..echo ${UNA
9460: 4d 45 5f 4d 41 43 48 49 4e 45 7d 2d 24 7b 55 4e  ME_MACHINE}-${UN
9470: 41 4d 45 5f 53 59 53 54 45 4d 7d 2d 24 7b 55 4e  AME_SYSTEM}-${UN
9480: 41 4d 45 5f 52 45 4c 45 41 53 45 7d 0a 09 65 78  AME_RELEASE}..ex
9490: 69 74 20 30 20 3b 3b 0a 20 20 20 20 2a 3a 50 6c  it 0 ;;.    *:Pl
94a0: 61 6e 39 3a 2a 3a 2a 29 0a 09 23 20 22 75 6e 61  an9:*:*)..# "una
94b0: 6d 65 20 2d 6d 22 20 69 73 20 6e 6f 74 20 63 6f  me -m" is not co
94c0: 6e 73 69 73 74 65 6e 74 2c 20 73 6f 20 75 73 65  nsistent, so use
94d0: 20 24 63 70 75 74 79 70 65 20 69 6e 73 74 65 61   $cputype instea
94e0: 64 2e 20 33 38 36 0a 09 23 20 69 73 20 63 6f 6e  d. 386..# is con
94f0: 76 65 72 74 65 64 20 74 6f 20 69 33 38 36 20 66  verted to i386 f
9500: 6f 72 20 63 6f 6e 73 69 73 74 65 6e 63 79 20 77  or consistency w
9510: 69 74 68 20 6f 74 68 65 72 20 78 38 36 0a 09 23  ith other x86..#
9520: 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65   operating syste
9530: 6d 73 2e 0a 09 69 66 20 74 65 73 74 20 22 24 63  ms...if test "$c
9540: 70 75 74 79 70 65 22 20 3d 20 22 33 38 36 22 3b  putype" = "386";
9550: 20 74 68 65 6e 0a 09 20 20 20 20 55 4e 41 4d 45   then..    UNAME
9560: 5f 4d 41 43 48 49 4e 45 3d 69 33 38 36 0a 09 65  _MACHINE=i386..e
9570: 6c 73 65 0a 09 20 20 20 20 55 4e 41 4d 45 5f 4d  lse..    UNAME_M
9580: 41 43 48 49 4e 45 3d 22 24 63 70 75 74 79 70 65  ACHINE="$cputype
9590: 22 0a 09 66 69 0a 09 65 63 68 6f 20 24 7b 55 4e  "..fi..echo ${UN
95a0: 41 4d 45 5f 4d 41 43 48 49 4e 45 7d 2d 75 6e 6b  AME_MACHINE}-unk
95b0: 6e 6f 77 6e 2d 70 6c 61 6e 39 0a 09 65 78 69 74  nown-plan9..exit
95c0: 20 30 20 3b 3b 0a 20 20 20 20 2a 3a 54 4f 50 53   0 ;;.    *:TOPS
95d0: 2d 31 30 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20 70  -10:*:*)..echo p
95e0: 64 70 31 30 2d 75 6e 6b 6e 6f 77 6e 2d 74 6f 70  dp10-unknown-top
95f0: 73 31 30 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20  s10..exit 0 ;;. 
9600: 20 20 20 2a 3a 54 45 4e 45 58 3a 2a 3a 2a 29 0a     *:TENEX:*:*).
9610: 09 65 63 68 6f 20 70 64 70 31 30 2d 75 6e 6b 6e  .echo pdp10-unkn
9620: 6f 77 6e 2d 74 65 6e 65 78 0a 09 65 78 69 74 20  own-tenex..exit 
9630: 30 20 3b 3b 0a 20 20 20 20 4b 53 31 30 3a 54 4f  0 ;;.    KS10:TO
9640: 50 53 2d 32 30 3a 2a 3a 2a 20 7c 20 4b 4c 31 30  PS-20:*:* | KL10
9650: 3a 54 4f 50 53 2d 32 30 3a 2a 3a 2a 20 7c 20 54  :TOPS-20:*:* | T
9660: 59 50 45 34 3a 54 4f 50 53 2d 32 30 3a 2a 3a 2a  YPE4:TOPS-20:*:*
9670: 29 0a 09 65 63 68 6f 20 70 64 70 31 30 2d 64 65  )..echo pdp10-de
9680: 63 2d 74 6f 70 73 32 30 0a 09 65 78 69 74 20 30  c-tops20..exit 0
9690: 20 3b 3b 0a 20 20 20 20 58 4b 4c 2d 31 3a 54 4f   ;;.    XKL-1:TO
96a0: 50 53 2d 32 30 3a 2a 3a 2a 20 7c 20 54 59 50 45  PS-20:*:* | TYPE
96b0: 35 3a 54 4f 50 53 2d 32 30 3a 2a 3a 2a 29 0a 09  5:TOPS-20:*:*)..
96c0: 65 63 68 6f 20 70 64 70 31 30 2d 78 6b 6c 2d 74  echo pdp10-xkl-t
96d0: 6f 70 73 32 30 0a 09 65 78 69 74 20 30 20 3b 3b  ops20..exit 0 ;;
96e0: 0a 20 20 20 20 2a 3a 54 4f 50 53 2d 32 30 3a 2a  .    *:TOPS-20:*
96f0: 3a 2a 29 0a 09 65 63 68 6f 20 70 64 70 31 30 2d  :*)..echo pdp10-
9700: 75 6e 6b 6e 6f 77 6e 2d 74 6f 70 73 32 30 0a 09  unknown-tops20..
9710: 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 2a 3a  exit 0 ;;.    *:
9720: 49 54 53 3a 2a 3a 2a 29 0a 09 65 63 68 6f 20 70  ITS:*:*)..echo p
9730: 64 70 31 30 2d 75 6e 6b 6e 6f 77 6e 2d 69 74 73  dp10-unknown-its
9740: 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20  ..exit 0 ;;.    
9750: 53 45 49 3a 2a 3a 2a 3a 53 45 49 55 58 29 0a 20  SEI:*:*:SEIUX). 
9760: 20 20 20 20 20 20 20 65 63 68 6f 20 6d 69 70 73         echo mips
9770: 2d 73 65 69 2d 73 65 69 75 78 24 7b 55 4e 41 4d  -sei-seiux${UNAM
9780: 45 5f 52 45 4c 45 41 53 45 7d 0a 09 65 78 69 74  E_RELEASE}..exit
9790: 20 30 20 3b 3b 0a 20 20 20 20 2a 3a 44 72 61 67   0 ;;.    *:Drag
97a0: 6f 6e 46 6c 79 3a 2a 3a 2a 29 0a 09 65 63 68 6f  onFly:*:*)..echo
97b0: 20 24 7b 55 4e 41 4d 45 5f 4d 41 43 48 49 4e 45   ${UNAME_MACHINE
97c0: 7d 2d 75 6e 6b 6e 6f 77 6e 2d 64 72 61 67 6f 6e  }-unknown-dragon
97d0: 66 6c 79 60 65 63 68 6f 20 24 7b 55 4e 41 4d 45  fly`echo ${UNAME
97e0: 5f 52 45 4c 45 41 53 45 7d 7c 73 65 64 20 2d 65  _RELEASE}|sed -e
97f0: 20 27 73 2f 5b 2d 28 5d 2e 2a 2f 2f 27 60 0a 09   's/[-(].*//'`..
9800: 65 78 69 74 20 30 20 3b 3b 0a 65 73 61 63 0a 0a  exit 0 ;;.esac..
9810: 23 65 63 68 6f 20 27 28 4e 6f 20 75 6e 61 6d 65  #echo '(No uname
9820: 20 63 6f 6d 6d 61 6e 64 20 6f 72 20 75 6e 61 6d   command or unam
9830: 65 20 6f 75 74 70 75 74 20 6e 6f 74 20 72 65 63  e output not rec
9840: 6f 67 6e 69 7a 65 64 2e 29 27 20 31 3e 26 32 0a  ognized.)' 1>&2.
9850: 23 65 63 68 6f 20 22 24 7b 55 4e 41 4d 45 5f 4d  #echo "${UNAME_M
9860: 41 43 48 49 4e 45 7d 3a 24 7b 55 4e 41 4d 45 5f  ACHINE}:${UNAME_
9870: 53 59 53 54 45 4d 7d 3a 24 7b 55 4e 41 4d 45 5f  SYSTEM}:${UNAME_
9880: 52 45 4c 45 41 53 45 7d 3a 24 7b 55 4e 41 4d 45  RELEASE}:${UNAME
9890: 5f 56 45 52 53 49 4f 4e 7d 22 20 31 3e 26 32 0a  _VERSION}" 1>&2.
98a0: 0a 65 76 61 6c 20 24 73 65 74 5f 63 63 5f 66 6f  .eval $set_cc_fo
98b0: 72 5f 62 75 69 6c 64 0a 63 61 74 20 3e 24 64 75  r_build.cat >$du
98c0: 6d 6d 79 2e 63 20 3c 3c 45 4f 46 0a 23 69 66 64  mmy.c <<EOF.#ifd
98d0: 65 66 20 5f 53 45 51 55 45 4e 54 5f 0a 23 20 69  ef _SEQUENT_.# i
98e0: 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 79 70 65  nclude <sys/type
98f0: 73 2e 68 3e 0a 23 20 69 6e 63 6c 75 64 65 20 3c  s.h>.# include <
9900: 73 79 73 2f 75 74 73 6e 61 6d 65 2e 68 3e 0a 23  sys/utsname.h>.#
9910: 65 6e 64 69 66 0a 6d 61 69 6e 20 28 29 0a 7b 0a  endif.main ().{.
9920: 23 69 66 20 64 65 66 69 6e 65 64 20 28 73 6f 6e  #if defined (son
9930: 79 29 0a 23 69 66 20 64 65 66 69 6e 65 64 20 28  y).#if defined (
9940: 4d 49 50 53 45 42 29 0a 20 20 2f 2a 20 42 46 44  MIPSEB).  /* BFD
9950: 20 77 61 6e 74 73 20 22 62 73 64 22 20 69 6e 73   wants "bsd" ins
9960: 74 65 61 64 20 6f 66 20 22 6e 65 77 73 6f 73 22  tead of "newsos"
9970: 2e 20 20 50 65 72 68 61 70 73 20 42 46 44 20 73  .  Perhaps BFD s
9980: 68 6f 75 6c 64 20 62 65 20 63 68 61 6e 67 65 64  hould be changed
9990: 2c 0a 20 20 20 20 20 49 20 64 6f 6e 27 74 20 6b  ,.     I don't k
99a0: 6e 6f 77 2e 2e 2e 2e 20 20 2a 2f 0a 20 20 70 72  now....  */.  pr
99b0: 69 6e 74 66 20 28 22 6d 69 70 73 2d 73 6f 6e 79  intf ("mips-sony
99c0: 2d 62 73 64 5c 6e 22 29 3b 20 65 78 69 74 20 28  -bsd\n"); exit (
99d0: 30 29 3b 0a 23 65 6c 73 65 0a 23 69 6e 63 6c 75  0);.#else.#inclu
99e0: 64 65 20 3c 73 79 73 2f 70 61 72 61 6d 2e 68 3e  de <sys/param.h>
99f0: 0a 20 20 70 72 69 6e 74 66 20 28 22 6d 36 38 6b  .  printf ("m68k
9a00: 2d 73 6f 6e 79 2d 6e 65 77 73 6f 73 25 73 5c 6e  -sony-newsos%s\n
9a10: 22 2c 0a 23 69 66 64 65 66 20 4e 45 57 53 4f 53  ",.#ifdef NEWSOS
9a20: 34 0a 20 20 20 20 20 20 20 20 20 20 22 34 22 0a  4.          "4".
9a30: 23 65 6c 73 65 0a 09 20 20 22 22 0a 23 65 6e 64  #else..  "".#end
9a40: 69 66 0a 20 20 20 20 20 20 20 20 20 29 3b 20 65  if.         ); e
9a50: 78 69 74 20 28 30 29 3b 0a 23 65 6e 64 69 66 0a  xit (0);.#endif.
9a60: 23 65 6e 64 69 66 0a 0a 23 69 66 20 64 65 66 69  #endif..#if defi
9a70: 6e 65 64 20 28 5f 5f 61 72 6d 29 20 26 26 20 64  ned (__arm) && d
9a80: 65 66 69 6e 65 64 20 28 5f 5f 61 63 6f 72 6e 29  efined (__acorn)
9a90: 20 26 26 20 64 65 66 69 6e 65 64 20 28 5f 5f 75   && defined (__u
9aa0: 6e 69 78 29 0a 20 20 70 72 69 6e 74 66 20 28 22  nix).  printf ("
9ab0: 61 72 6d 2d 61 63 6f 72 6e 2d 72 69 73 63 69 78  arm-acorn-riscix
9ac0: 22 29 3b 20 65 78 69 74 20 28 30 29 3b 0a 23 65  "); exit (0);.#e
9ad0: 6e 64 69 66 0a 0a 23 69 66 20 64 65 66 69 6e 65  ndif..#if define
9ae0: 64 20 28 68 70 33 30 30 29 20 26 26 20 21 64 65  d (hp300) && !de
9af0: 66 69 6e 65 64 20 28 68 70 75 78 29 0a 20 20 70  fined (hpux).  p
9b00: 72 69 6e 74 66 20 28 22 6d 36 38 6b 2d 68 70 2d  rintf ("m68k-hp-
9b10: 62 73 64 5c 6e 22 29 3b 20 65 78 69 74 20 28 30  bsd\n"); exit (0
9b20: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 20 64  );.#endif..#if d
9b30: 65 66 69 6e 65 64 20 28 4e 65 58 54 29 0a 23 69  efined (NeXT).#i
9b40: 66 20 21 64 65 66 69 6e 65 64 20 28 5f 5f 41 52  f !defined (__AR
9b50: 43 48 49 54 45 43 54 55 52 45 5f 5f 29 0a 23 64  CHITECTURE__).#d
9b60: 65 66 69 6e 65 20 5f 5f 41 52 43 48 49 54 45 43  efine __ARCHITEC
9b70: 54 55 52 45 5f 5f 20 22 6d 36 38 6b 22 0a 23 65  TURE__ "m68k".#e
9b80: 6e 64 69 66 0a 20 20 69 6e 74 20 76 65 72 73 69  ndif.  int versi
9b90: 6f 6e 3b 0a 20 20 76 65 72 73 69 6f 6e 3d 60 28  on;.  version=`(
9ba0: 68 6f 73 74 69 6e 66 6f 20 7c 20 73 65 64 20 2d  hostinfo | sed -
9bb0: 6e 20 27 73 2f 2e 2a 4e 65 58 54 20 4d 61 63 68  n 's/.*NeXT Mach
9bc0: 20 5c 28 5b 30 2d 39 5d 2a 5c 29 2e 2a 2f 5c 31   \([0-9]*\).*/\1
9bd0: 2f 70 27 29 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c  /p') 2>/dev/null
9be0: 60 3b 0a 20 20 69 66 20 28 76 65 72 73 69 6f 6e  `;.  if (version
9bf0: 20 3c 20 34 29 0a 20 20 20 20 70 72 69 6e 74 66   < 4).    printf
9c00: 20 28 22 25 73 2d 6e 65 78 74 2d 6e 65 78 74 73   ("%s-next-nexts
9c10: 74 65 70 25 64 5c 6e 22 2c 20 5f 5f 41 52 43 48  tep%d\n", __ARCH
9c20: 49 54 45 43 54 55 52 45 5f 5f 2c 20 76 65 72 73  ITECTURE__, vers
9c30: 69 6f 6e 29 3b 0a 20 20 65 6c 73 65 0a 20 20 20  ion);.  else.   
9c40: 20 70 72 69 6e 74 66 20 28 22 25 73 2d 6e 65 78   printf ("%s-nex
9c50: 74 2d 6f 70 65 6e 73 74 65 70 25 64 5c 6e 22 2c  t-openstep%d\n",
9c60: 20 5f 5f 41 52 43 48 49 54 45 43 54 55 52 45 5f   __ARCHITECTURE_
9c70: 5f 2c 20 76 65 72 73 69 6f 6e 29 3b 0a 20 20 65  _, version);.  e
9c80: 78 69 74 20 28 30 29 3b 0a 23 65 6e 64 69 66 0a  xit (0);.#endif.
9c90: 0a 23 69 66 20 64 65 66 69 6e 65 64 20 28 4d 55  .#if defined (MU
9ca0: 4c 54 49 4d 41 58 29 20 7c 7c 20 64 65 66 69 6e  LTIMAX) || defin
9cb0: 65 64 20 28 6e 31 36 29 0a 23 69 66 20 64 65 66  ed (n16).#if def
9cc0: 69 6e 65 64 20 28 55 4d 41 58 56 29 0a 20 20 70  ined (UMAXV).  p
9cd0: 72 69 6e 74 66 20 28 22 6e 73 33 32 6b 2d 65 6e  rintf ("ns32k-en
9ce0: 63 6f 72 65 2d 73 79 73 76 5c 6e 22 29 3b 20 65  core-sysv\n"); e
9cf0: 78 69 74 20 28 30 29 3b 0a 23 65 6c 73 65 0a 23  xit (0);.#else.#
9d00: 69 66 20 64 65 66 69 6e 65 64 20 28 43 4d 55 29  if defined (CMU)
9d10: 0a 20 20 70 72 69 6e 74 66 20 28 22 6e 73 33 32  .  printf ("ns32
9d20: 6b 2d 65 6e 63 6f 72 65 2d 6d 61 63 68 5c 6e 22  k-encore-mach\n"
9d30: 29 3b 20 65 78 69 74 20 28 30 29 3b 0a 23 65 6c  ); exit (0);.#el
9d40: 73 65 0a 20 20 70 72 69 6e 74 66 20 28 22 6e 73  se.  printf ("ns
9d50: 33 32 6b 2d 65 6e 63 6f 72 65 2d 62 73 64 5c 6e  32k-encore-bsd\n
9d60: 22 29 3b 20 65 78 69 74 20 28 30 29 3b 0a 23 65  "); exit (0);.#e
9d70: 6e 64 69 66 0a 23 65 6e 64 69 66 0a 23 65 6e 64  ndif.#endif.#end
9d80: 69 66 0a 0a 23 69 66 20 64 65 66 69 6e 65 64 20  if..#if defined 
9d90: 28 5f 5f 33 38 36 42 53 44 5f 5f 29 0a 20 20 70  (__386BSD__).  p
9da0: 72 69 6e 74 66 20 28 22 69 33 38 36 2d 70 63 2d  rintf ("i386-pc-
9db0: 62 73 64 5c 6e 22 29 3b 20 65 78 69 74 20 28 30  bsd\n"); exit (0
9dc0: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 20 64  );.#endif..#if d
9dd0: 65 66 69 6e 65 64 20 28 73 65 71 75 65 6e 74 29  efined (sequent)
9de0: 0a 23 69 66 20 64 65 66 69 6e 65 64 20 28 69 33  .#if defined (i3
9df0: 38 36 29 0a 20 20 70 72 69 6e 74 66 20 28 22 69  86).  printf ("i
9e00: 33 38 36 2d 73 65 71 75 65 6e 74 2d 64 79 6e 69  386-sequent-dyni
9e10: 78 5c 6e 22 29 3b 20 65 78 69 74 20 28 30 29 3b  x\n"); exit (0);
9e20: 0a 23 65 6e 64 69 66 0a 23 69 66 20 64 65 66 69  .#endif.#if defi
9e30: 6e 65 64 20 28 6e 73 33 32 30 30 30 29 0a 20 20  ned (ns32000).  
9e40: 70 72 69 6e 74 66 20 28 22 6e 73 33 32 6b 2d 73  printf ("ns32k-s
9e50: 65 71 75 65 6e 74 2d 64 79 6e 69 78 5c 6e 22 29  equent-dynix\n")
9e60: 3b 20 65 78 69 74 20 28 30 29 3b 0a 23 65 6e 64  ; exit (0);.#end
9e70: 69 66 0a 23 65 6e 64 69 66 0a 0a 23 69 66 20 64  if.#endif..#if d
9e80: 65 66 69 6e 65 64 20 28 5f 53 45 51 55 45 4e 54  efined (_SEQUENT
9e90: 5f 29 0a 20 20 20 20 73 74 72 75 63 74 20 75 74  _).    struct ut
9ea0: 73 6e 61 6d 65 20 75 6e 3b 0a 0a 20 20 20 20 75  sname un;..    u
9eb0: 6e 61 6d 65 28 26 75 6e 29 3b 0a 0a 20 20 20 20  name(&un);..    
9ec0: 69 66 20 28 73 74 72 6e 63 6d 70 28 75 6e 2e 76  if (strncmp(un.v
9ed0: 65 72 73 69 6f 6e 2c 20 22 56 32 22 2c 20 32 29  ersion, "V2", 2)
9ee0: 20 3d 3d 20 30 29 20 7b 0a 09 70 72 69 6e 74 66   == 0) {..printf
9ef0: 20 28 22 69 33 38 36 2d 73 65 71 75 65 6e 74 2d   ("i386-sequent-
9f00: 70 74 78 32 5c 6e 22 29 3b 20 65 78 69 74 20 28  ptx2\n"); exit (
9f10: 30 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 69 66  0);.    }.    if
9f20: 20 28 73 74 72 6e 63 6d 70 28 75 6e 2e 76 65 72   (strncmp(un.ver
9f30: 73 69 6f 6e 2c 20 22 56 31 22 2c 20 32 29 20 3d  sion, "V1", 2) =
9f40: 3d 20 30 29 20 7b 20 2f 2a 20 58 58 58 20 69 73  = 0) { /* XXX is
9f50: 20 56 31 20 63 6f 72 72 65 63 74 3f 20 2a 2f 0a   V1 correct? */.
9f60: 09 70 72 69 6e 74 66 20 28 22 69 33 38 36 2d 73  .printf ("i386-s
9f70: 65 71 75 65 6e 74 2d 70 74 78 31 5c 6e 22 29 3b  equent-ptx1\n");
9f80: 20 65 78 69 74 20 28 30 29 3b 0a 20 20 20 20 7d   exit (0);.    }
9f90: 0a 20 20 20 20 70 72 69 6e 74 66 20 28 22 69 33  .    printf ("i3
9fa0: 38 36 2d 73 65 71 75 65 6e 74 2d 70 74 78 5c 6e  86-sequent-ptx\n
9fb0: 22 29 3b 20 65 78 69 74 20 28 30 29 3b 0a 0a 23  "); exit (0);..#
9fc0: 65 6e 64 69 66 0a 0a 23 69 66 20 64 65 66 69 6e  endif..#if defin
9fd0: 65 64 20 28 76 61 78 29 0a 23 20 69 66 20 21 64  ed (vax).# if !d
9fe0: 65 66 69 6e 65 64 20 28 75 6c 74 72 69 78 29 0a  efined (ultrix).
9ff0: 23 20 20 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f  #  include <sys/
a000: 70 61 72 61 6d 2e 68 3e 0a 23 20 20 69 66 20 64  param.h>.#  if d
a010: 65 66 69 6e 65 64 20 28 42 53 44 29 0a 23 20 20  efined (BSD).#  
a020: 20 69 66 20 42 53 44 20 3d 3d 20 34 33 0a 20 20   if BSD == 43.  
a030: 20 20 20 20 70 72 69 6e 74 66 20 28 22 76 61 78      printf ("vax
a040: 2d 64 65 63 2d 62 73 64 34 2e 33 5c 6e 22 29 3b  -dec-bsd4.3\n");
a050: 20 65 78 69 74 20 28 30 29 3b 0a 23 20 20 20 65   exit (0);.#   e
a060: 6c 73 65 0a 23 20 20 20 20 69 66 20 42 53 44 20  lse.#    if BSD 
a070: 3d 3d 20 31 39 39 30 30 36 0a 20 20 20 20 20 20  == 199006.      
a080: 70 72 69 6e 74 66 20 28 22 76 61 78 2d 64 65 63  printf ("vax-dec
a090: 2d 62 73 64 34 2e 33 72 65 6e 6f 5c 6e 22 29 3b  -bsd4.3reno\n");
a0a0: 20 65 78 69 74 20 28 30 29 3b 0a 23 20 20 20 20   exit (0);.#    
a0b0: 65 6c 73 65 0a 20 20 20 20 20 20 70 72 69 6e 74  else.      print
a0c0: 66 20 28 22 76 61 78 2d 64 65 63 2d 62 73 64 5c  f ("vax-dec-bsd\
a0d0: 6e 22 29 3b 20 65 78 69 74 20 28 30 29 3b 0a 23  n"); exit (0);.#
a0e0: 20 20 20 20 65 6e 64 69 66 0a 23 20 20 20 65 6e      endif.#   en
a0f0: 64 69 66 0a 23 20 20 65 6c 73 65 0a 20 20 20 20  dif.#  else.    
a100: 70 72 69 6e 74 66 20 28 22 76 61 78 2d 64 65 63  printf ("vax-dec
a110: 2d 62 73 64 5c 6e 22 29 3b 20 65 78 69 74 20 28  -bsd\n"); exit (
a120: 30 29 3b 0a 23 20 20 65 6e 64 69 66 0a 23 20 65  0);.#  endif.# e
a130: 6c 73 65 0a 20 20 20 20 70 72 69 6e 74 66 20 28  lse.    printf (
a140: 22 76 61 78 2d 64 65 63 2d 75 6c 74 72 69 78 5c  "vax-dec-ultrix\
a150: 6e 22 29 3b 20 65 78 69 74 20 28 30 29 3b 0a 23  n"); exit (0);.#
a160: 20 65 6e 64 69 66 0a 23 65 6e 64 69 66 0a 0a 23   endif.#endif..#
a170: 69 66 20 64 65 66 69 6e 65 64 20 28 61 6c 6c 69  if defined (alli
a180: 61 6e 74 29 20 26 26 20 64 65 66 69 6e 65 64 20  ant) && defined 
a190: 28 69 38 36 30 29 0a 20 20 70 72 69 6e 74 66 20  (i860).  printf 
a1a0: 28 22 69 38 36 30 2d 61 6c 6c 69 61 6e 74 2d 62  ("i860-alliant-b
a1b0: 73 64 5c 6e 22 29 3b 20 65 78 69 74 20 28 30 29  sd\n"); exit (0)
a1c0: 3b 0a 23 65 6e 64 69 66 0a 0a 20 20 65 78 69 74  ;.#endif..  exit
a1d0: 20 28 31 29 3b 0a 7d 0a 45 4f 46 0a 0a 24 43 43   (1);.}.EOF..$CC
a1e0: 5f 46 4f 52 5f 42 55 49 4c 44 20 2d 6f 20 24 64  _FOR_BUILD -o $d
a1f0: 75 6d 6d 79 20 24 64 75 6d 6d 79 2e 63 20 32 3e  ummy $dummy.c 2>
a200: 2f 64 65 76 2f 6e 75 6c 6c 20 26 26 20 24 64 75  /dev/null && $du
a210: 6d 6d 79 20 26 26 20 65 78 69 74 20 30 0a 0a 23  mmy && exit 0..#
a220: 20 41 70 6f 6c 6c 6f 73 20 70 75 74 20 74 68 65   Apollos put the
a230: 20 73 79 73 74 65 6d 20 74 79 70 65 20 69 6e 20   system type in 
a240: 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e  the environment.
a250: 0a 0a 74 65 73 74 20 2d 64 20 2f 75 73 72 2f 61  ..test -d /usr/a
a260: 70 6f 6c 6c 6f 20 26 26 20 7b 20 65 63 68 6f 20  pollo && { echo 
a270: 24 7b 49 53 50 7d 2d 61 70 6f 6c 6c 6f 2d 24 7b  ${ISP}-apollo-${
a280: 53 59 53 54 59 50 45 7d 3b 20 65 78 69 74 20 30  SYSTYPE}; exit 0
a290: 3b 20 7d 0a 0a 23 20 43 6f 6e 76 65 78 20 76 65  ; }..# Convex ve
a2a0: 72 73 69 6f 6e 73 20 74 68 61 74 20 70 72 65 64  rsions that pred
a2b0: 61 74 65 20 75 6e 61 6d 65 20 63 61 6e 20 75 73  ate uname can us
a2c0: 65 20 67 65 74 73 79 73 69 6e 66 6f 28 31 29 0a  e getsysinfo(1).
a2d0: 0a 69 66 20 5b 20 2d 78 20 2f 75 73 72 2f 63 6f  .if [ -x /usr/co
a2e0: 6e 76 65 78 2f 67 65 74 73 79 73 69 6e 66 6f 20  nvex/getsysinfo 
a2f0: 5d 0a 74 68 65 6e 0a 20 20 20 20 63 61 73 65 20  ].then.    case 
a300: 60 67 65 74 73 79 73 69 6e 66 6f 20 2d 66 20 63  `getsysinfo -f c
a310: 70 75 5f 74 79 70 65 60 20 69 6e 0a 20 20 20 20  pu_type` in.    
a320: 63 31 2a 29 0a 09 65 63 68 6f 20 63 31 2d 63 6f  c1*)..echo c1-co
a330: 6e 76 65 78 2d 62 73 64 0a 09 65 78 69 74 20 30  nvex-bsd..exit 0
a340: 20 3b 3b 0a 20 20 20 20 63 32 2a 29 0a 09 69 66   ;;.    c2*)..if
a350: 20 67 65 74 73 79 73 69 6e 66 6f 20 2d 66 20 73   getsysinfo -f s
a360: 63 61 6c 61 72 5f 61 63 63 0a 09 74 68 65 6e 20  calar_acc..then 
a370: 65 63 68 6f 20 63 33 32 2d 63 6f 6e 76 65 78 2d  echo c32-convex-
a380: 62 73 64 0a 09 65 6c 73 65 20 65 63 68 6f 20 63  bsd..else echo c
a390: 32 2d 63 6f 6e 76 65 78 2d 62 73 64 0a 09 66 69  2-convex-bsd..fi
a3a0: 0a 09 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20  ..exit 0 ;;.    
a3b0: 63 33 34 2a 29 0a 09 65 63 68 6f 20 63 33 34 2d  c34*)..echo c34-
a3c0: 63 6f 6e 76 65 78 2d 62 73 64 0a 09 65 78 69 74  convex-bsd..exit
a3d0: 20 30 20 3b 3b 0a 20 20 20 20 63 33 38 2a 29 0a   0 ;;.    c38*).
a3e0: 09 65 63 68 6f 20 63 33 38 2d 63 6f 6e 76 65 78  .echo c38-convex
a3f0: 2d 62 73 64 0a 09 65 78 69 74 20 30 20 3b 3b 0a  -bsd..exit 0 ;;.
a400: 20 20 20 20 63 34 2a 29 0a 09 65 63 68 6f 20 63      c4*)..echo c
a410: 34 2d 63 6f 6e 76 65 78 2d 62 73 64 0a 09 65 78  4-convex-bsd..ex
a420: 69 74 20 30 20 3b 3b 0a 20 20 20 20 65 73 61 63  it 0 ;;.    esac
a430: 0a 66 69 0a 0a 63 61 74 20 3e 26 32 20 3c 3c 45  .fi..cat >&2 <<E
a440: 4f 46 0a 24 30 3a 20 75 6e 61 62 6c 65 20 74 6f  OF.$0: unable to
a450: 20 67 75 65 73 73 20 73 79 73 74 65 6d 20 74 79   guess system ty
a460: 70 65 0a 0a 54 68 69 73 20 73 63 72 69 70 74 2c  pe..This script,
a470: 20 6c 61 73 74 20 6d 6f 64 69 66 69 65 64 20 24   last modified $
a480: 74 69 6d 65 73 74 61 6d 70 2c 20 68 61 73 20 66  timestamp, has f
a490: 61 69 6c 65 64 20 74 6f 20 72 65 63 6f 67 6e 69  ailed to recogni
a4a0: 7a 65 0a 74 68 65 20 6f 70 65 72 61 74 69 6e 67  ze.the operating
a4b0: 20 73 79 73 74 65 6d 20 79 6f 75 20 61 72 65 20   system you are 
a4c0: 75 73 69 6e 67 2e 20 49 74 20 69 73 20 61 64 76  using. It is adv
a4d0: 69 73 65 64 20 74 68 61 74 20 79 6f 75 0a 64 6f  ised that you.do
a4e0: 77 6e 6c 6f 61 64 20 74 68 65 20 6d 6f 73 74 20  wnload the most 
a4f0: 75 70 20 74 6f 20 64 61 74 65 20 76 65 72 73 69  up to date versi
a500: 6f 6e 20 6f 66 20 74 68 65 20 63 6f 6e 66 69 67  on of the config
a510: 20 73 63 72 69 70 74 73 20 66 72 6f 6d 0a 0a 20   scripts from.. 
a520: 20 20 20 66 74 70 3a 2f 2f 66 74 70 2e 67 6e 75     ftp://ftp.gnu
a530: 2e 6f 72 67 2f 70 75 62 2f 67 6e 75 2f 63 6f 6e  .org/pub/gnu/con
a540: 66 69 67 2f 0a 0a 49 66 20 74 68 65 20 76 65 72  fig/..If the ver
a550: 73 69 6f 6e 20 79 6f 75 20 72 75 6e 20 28 24 30  sion you run ($0
a560: 29 20 69 73 20 61 6c 72 65 61 64 79 20 75 70 20  ) is already up 
a570: 74 6f 20 64 61 74 65 2c 20 70 6c 65 61 73 65 0a  to date, please.
a580: 73 65 6e 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69  send the followi
a590: 6e 67 20 64 61 74 61 20 61 6e 64 20 61 6e 79 20  ng data and any 
a5a0: 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 79 6f 75 20  information you 
a5b0: 74 68 69 6e 6b 20 6d 69 67 68 74 20 62 65 0a 70  think might be.p
a5c0: 65 72 74 69 6e 65 6e 74 20 74 6f 20 3c 63 6f 6e  ertinent to <con
a5d0: 66 69 67 2d 70 61 74 63 68 65 73 40 67 6e 75 2e  fig-patches@gnu.
a5e0: 6f 72 67 3e 20 69 6e 20 6f 72 64 65 72 20 74 6f  org> in order to
a5f0: 20 70 72 6f 76 69 64 65 20 74 68 65 20 6e 65 65   provide the nee
a600: 64 65 64 0a 69 6e 66 6f 72 6d 61 74 69 6f 6e 20  ded.information 
a610: 74 6f 20 68 61 6e 64 6c 65 20 79 6f 75 72 20 73  to handle your s
a620: 79 73 74 65 6d 2e 0a 0a 63 6f 6e 66 69 67 2e 67  ystem...config.g
a630: 75 65 73 73 20 74 69 6d 65 73 74 61 6d 70 20 3d  uess timestamp =
a640: 20 24 74 69 6d 65 73 74 61 6d 70 0a 0a 75 6e 61   $timestamp..una
a650: 6d 65 20 2d 6d 20 3d 20 60 28 75 6e 61 6d 65 20  me -m = `(uname 
a660: 2d 6d 29 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 20  -m) 2>/dev/null 
a670: 7c 7c 20 65 63 68 6f 20 75 6e 6b 6e 6f 77 6e 60  || echo unknown`
a680: 0a 75 6e 61 6d 65 20 2d 72 20 3d 20 60 28 75 6e  .uname -r = `(un
a690: 61 6d 65 20 2d 72 29 20 32 3e 2f 64 65 76 2f 6e  ame -r) 2>/dev/n
a6a0: 75 6c 6c 20 7c 7c 20 65 63 68 6f 20 75 6e 6b 6e  ull || echo unkn
a6b0: 6f 77 6e 60 0a 75 6e 61 6d 65 20 2d 73 20 3d 20  own`.uname -s = 
a6c0: 60 28 75 6e 61 6d 65 20 2d 73 29 20 32 3e 2f 64  `(uname -s) 2>/d
a6d0: 65 76 2f 6e 75 6c 6c 20 7c 7c 20 65 63 68 6f 20  ev/null || echo 
a6e0: 75 6e 6b 6e 6f 77 6e 60 0a 75 6e 61 6d 65 20 2d  unknown`.uname -
a6f0: 76 20 3d 20 60 28 75 6e 61 6d 65 20 2d 76 29 20  v = `(uname -v) 
a700: 32 3e 2f 64 65 76 2f 6e 75 6c 6c 20 7c 7c 20 65  2>/dev/null || e
a710: 63 68 6f 20 75 6e 6b 6e 6f 77 6e 60 0a 0a 2f 75  cho unknown`../u
a720: 73 72 2f 62 69 6e 2f 75 6e 61 6d 65 20 2d 70 20  sr/bin/uname -p 
a730: 3d 20 60 28 2f 75 73 72 2f 62 69 6e 2f 75 6e 61  = `(/usr/bin/una
a740: 6d 65 20 2d 70 29 20 32 3e 2f 64 65 76 2f 6e 75  me -p) 2>/dev/nu
a750: 6c 6c 60 0a 2f 62 69 6e 2f 75 6e 61 6d 65 20 2d  ll`./bin/uname -
a760: 58 20 20 20 20 20 3d 20 60 28 2f 62 69 6e 2f 75  X     = `(/bin/u
a770: 6e 61 6d 65 20 2d 58 29 20 32 3e 2f 64 65 76 2f  name -X) 2>/dev/
a780: 6e 75 6c 6c 60 0a 0a 68 6f 73 74 69 6e 66 6f 20  null`..hostinfo 
a790: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20                = 
a7a0: 60 28 68 6f 73 74 69 6e 66 6f 29 20 32 3e 2f 64  `(hostinfo) 2>/d
a7b0: 65 76 2f 6e 75 6c 6c 60 0a 2f 62 69 6e 2f 75 6e  ev/null`./bin/un
a7c0: 69 76 65 72 73 65 20 20 20 20 20 20 20 20 20 20  iverse          
a7d0: 3d 20 60 28 2f 62 69 6e 2f 75 6e 69 76 65 72 73  = `(/bin/univers
a7e0: 65 29 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 60 0a  e) 2>/dev/null`.
a7f0: 2f 75 73 72 2f 62 69 6e 2f 61 72 63 68 20 2d 6b  /usr/bin/arch -k
a800: 20 20 20 20 20 20 20 3d 20 60 28 2f 75 73 72 2f         = `(/usr/
a810: 62 69 6e 2f 61 72 63 68 20 2d 6b 29 20 32 3e 2f  bin/arch -k) 2>/
a820: 64 65 76 2f 6e 75 6c 6c 60 0a 2f 62 69 6e 2f 61  dev/null`./bin/a
a830: 72 63 68 20 20 20 20 20 20 20 20 20 20 20 20 20  rch             
a840: 20 3d 20 60 28 2f 62 69 6e 2f 61 72 63 68 29 20   = `(/bin/arch) 
a850: 32 3e 2f 64 65 76 2f 6e 75 6c 6c 60 0a 2f 75 73  2>/dev/null`./us
a860: 72 2f 62 69 6e 2f 6f 73 6c 65 76 65 6c 20 20 20  r/bin/oslevel   
a870: 20 20 20 20 3d 20 60 28 2f 75 73 72 2f 62 69 6e      = `(/usr/bin
a880: 2f 6f 73 6c 65 76 65 6c 29 20 32 3e 2f 64 65 76  /oslevel) 2>/dev
a890: 2f 6e 75 6c 6c 60 0a 2f 75 73 72 2f 63 6f 6e 76  /null`./usr/conv
a8a0: 65 78 2f 67 65 74 73 79 73 69 6e 66 6f 20 3d 20  ex/getsysinfo = 
a8b0: 60 28 2f 75 73 72 2f 63 6f 6e 76 65 78 2f 67 65  `(/usr/convex/ge
a8c0: 74 73 79 73 69 6e 66 6f 29 20 32 3e 2f 64 65 76  tsysinfo) 2>/dev
a8d0: 2f 6e 75 6c 6c 60 0a 0a 55 4e 41 4d 45 5f 4d 41  /null`..UNAME_MA
a8e0: 43 48 49 4e 45 20 3d 20 24 7b 55 4e 41 4d 45 5f  CHINE = ${UNAME_
a8f0: 4d 41 43 48 49 4e 45 7d 0a 55 4e 41 4d 45 5f 52  MACHINE}.UNAME_R
a900: 45 4c 45 41 53 45 20 3d 20 24 7b 55 4e 41 4d 45  ELEASE = ${UNAME
a910: 5f 52 45 4c 45 41 53 45 7d 0a 55 4e 41 4d 45 5f  _RELEASE}.UNAME_
a920: 53 59 53 54 45 4d 20 20 3d 20 24 7b 55 4e 41 4d  SYSTEM  = ${UNAM
a930: 45 5f 53 59 53 54 45 4d 7d 0a 55 4e 41 4d 45 5f  E_SYSTEM}.UNAME_
a940: 56 45 52 53 49 4f 4e 20 3d 20 24 7b 55 4e 41 4d  VERSION = ${UNAM
a950: 45 5f 56 45 52 53 49 4f 4e 7d 0a 45 4f 46 0a 0a  E_VERSION}.EOF..
a960: 65 78 69 74 20 31 0a 0a 23 20 4c 6f 63 61 6c 20  exit 1..# Local 
a970: 76 61 72 69 61 62 6c 65 73 3a 0a 23 20 65 76 61  variables:.# eva
a980: 6c 3a 20 28 61 64 64 2d 68 6f 6f 6b 20 27 77 72  l: (add-hook 'wr
a990: 69 74 65 2d 66 69 6c 65 2d 68 6f 6f 6b 73 20 27  ite-file-hooks '
a9a0: 74 69 6d 65 2d 73 74 61 6d 70 29 0a 23 20 74 69  time-stamp).# ti
a9b0: 6d 65 2d 73 74 61 6d 70 2d 73 74 61 72 74 3a 20  me-stamp-start: 
a9c0: 22 74 69 6d 65 73 74 61 6d 70 3d 27 22 0a 23 20  "timestamp='".# 
a9d0: 74 69 6d 65 2d 73 74 61 6d 70 2d 66 6f 72 6d 61  time-stamp-forma
a9e0: 74 3a 20 22 25 3a 79 2d 25 30 32 6d 2d 25 30 32  t: "%:y-%02m-%02
a9f0: 64 22 0a 23 20 74 69 6d 65 2d 73 74 61 6d 70 2d  d".# time-stamp-
aa00: 65 6e 64 3a 20 22 27 22 0a 23 20 45 6e 64 3a 0a  end: "'".# End:.