Annotation of embedaddon/lrzsz/systype.in, revision 1.1
1.1 ! misho 1: #! /bin/sh
! 2:
! 3: CC="@CC@"
! 4: CFLAGS="@CFLAGS@"
! 5: GCC="@GCC@"
! 6:
! 7: srcdir=@srcdir@
! 8:
! 9: # oper-:arch-:syst-:chip-:kern-
! 10: # oper = operating system type; e.g., sunos-4.1.4
! 11: # arch = machine language; e.g., sparc
! 12: # syst = which binaries can run; e.g., sun4
! 13: # chip = chip model; e.g., micro-2-80
! 14: # kern = kernel version; e.g., sun4m
! 15: # dependence: arch --- chip
! 16: # \ \
! 17: # oper --- syst --- kern
! 18: # so, for example, syst is interpreted in light of oper, but chip is not.
! 19: # anyway, no slashes, no extra colons, no uppercase letters.
! 20: # the point of the extra -'s is to ease parsing: can add hierarchies later.
! 21: # e.g., *:i386-*:*:pentium-*:* would handle pentium-100 as well as pentium,
! 22: # and i386-486 (486s do have more instructions, you know) as well as i386.
! 23: # the idea here is to include ALL useful available information.
! 24:
! 25: sys="`uname -s 2>/dev/null | tr '/:[A-Z]' '..[a-z]'`"
! 26: if [ x"$sys" != x ]
! 27: then
! 28: unamer="`uname -r 2>/dev/null | tr /: ..`"
! 29: unamem="`uname -m 2>/dev/null | tr /: ..`"
! 30: unamev="`uname -v 2>/dev/null | tr /: ..`"
! 31:
! 32: case "$sys" in
! 33: bsd.os)
! 34: # in bsd 4.4, uname -v does not have useful info.
! 35: # in bsd 4.4, uname -m is arch, not chip.
! 36: oper="$sys-$unamer"
! 37: arch="$unamem"
! 38: syst=""
! 39: chip="`sysctl -n hw.model 2>/dev/null`"
! 40: kern=""
! 41: ;;
! 42: freebsd)
! 43: # see above about bsd 4.4
! 44: oper="$sys-$unamer"
! 45: arch="$unamem"
! 46: syst=""
! 47: chip="`sysctl -n hw.model 2>/dev/null`" # hopefully
! 48: kern=""
! 49: ;;
! 50: netbsd)
! 51: # see above about bsd 4.4
! 52: oper="$sys-$unamer"
! 53: arch="$unamem"
! 54: syst=""
! 55: chip="`sysctl -n hw.model 2>/dev/null`" # hopefully
! 56: kern=""
! 57: ;;
! 58: linux)
! 59: # i'd really like to know what distribution the user has ...
! 60:
! 61: # as in bsd 4.4, uname -v does not have useful info.
! 62: oper="$sys-$unamer" # not oper!
! 63: syst=""
! 64: chip="$unamem"
! 65: case "$chip" in
! 66: i386|i486|i586|i686)
! 67: arch="i386"
! 68: ;;
! 69: alpha)
! 70: arch="alpha"
! 71: ;;
! 72: esac
! 73: ;;
! 74: aix)
! 75: # naturally IBM has to get uname -r and uname -v backwards. dorks.
! 76: oper="$sys-$unamev-$unamer"
! 77: arch="`arch 2>/dev/null | tr /: ..`"
! 78: syst=""
! 79: chip="$unamem"
! 80: kern=""
! 81: ;;
! 82: sunos)
! 83: oper="$sys-$unamer-$unamev"
! 84: arch="`(uname -p 2>/dev/null || mach 2>/dev/null ) | tr /: ..`"
! 85: syst="`arch 2>/dev/null | tr /: ..`"
! 86: chip="$unamem" # this is wrong; is there any way to get the real info?
! 87: kern="`arch -k 2>/dev/null | tr /: ..`"
! 88: ;;
! 89: unix_sv)
! 90: oper="$sys-$unamer-$unamev"
! 91: arch="`uname -m 2>/dev/null`"
! 92: syst=""
! 93: chip="$unamem"
! 94: kern=""
! 95: ;;
! 96: beos)
! 97: oper="$sys-$unamer-$unamev"
! 98: case "$unamem" in
! 99: *BePC*)
! 100: arch="i386";
! 101: chip="";
! 102: if /bin/sysinfo -cpu 2>/dev/null >/dev/null ; then
! 103: (/bin/sysinfo -cpu 2>/dev/null |grep PentiumPro >/dev/null) && chip=ppro;
! 104: test "$chip" = "" && \
! 105: (/bin/sysinfo -cpu 2>/dev/null |grep Pentium >/dev/null) && chip=pentium;
! 106: fi
! 107: ;;
! 108: esac
! 109: ;;
! 110: *)
! 111: need_config_guess=1;
! 112: ;;
! 113: esac
! 114: else
! 115: need_config_guess=1;
! 116: fi
! 117:
! 118: if test "x$need_config_guess" = x1 ; then
! 119: cg=`$srcdir/config.guess` # cpu-company-system
! 120: if test "x$cg" = x ; then
! 121: # damned, config.guess does nothing if it doesn't support the
! 122: # system.
! 123: oper="`uname -s 2>/dev/null | tr '/:[A-Z]' '..[a-z]'`"
! 124: chip="`uname -m 2>/dev/null | tr /: ..`"
! 125: if test "x$oper" = x ; then
! 126: oper="unknown"
! 127: fi
! 128: else
! 129: # cpu-company-system
! 130: # chip-useless-oper+version
! 131: # i586-unknown-sco3.2v4.2
! 132: # m68k-hp-hpux9.00
! 133: # i486-unknown-linux
! 134: chip="`echo $cg | sed s/-.*//`"
! 135: oper="`echo $cg | sed s/.*-// | tr '[A-Z]' '[a-z]'`"
! 136: case "$oper" in
! 137: *[0-9]*)
! 138: # sco3.2v4.2
! 139: # hpux9.00
! 140: x="`echo $oper|sed 's/[0-9].*//'`"
! 141: y="`echo $oper|sed 's/^[a-z]*//'`"
! 142: oper="$x-$y";
! 143: ;;
! 144: *linux*)
! 145: oper=linux-"`uname -r`"
! 146: ;;
! 147: esac
! 148: fi
! 149: fi
! 150:
! 151:
! 152: case "$chip" in
! 153: 80486)
! 154: # let's try to be consistent here. (BSD/OS)
! 155: chip=i486
! 156: ;;
! 157: i486DX)
! 158: # respect the hyphen hierarchy. (FreeBSD)
! 159: chip=i486-dx
! 160: ;;
! 161: i486.DX2)
! 162: # respect the hyphen hierarchy. (FreeBSD)
! 163: chip=i486-dx2
! 164: ;;
! 165: Intel.586)
! 166: # no, you nitwits, there is no such chip. (NeXTStep)
! 167: chip=pentium
! 168: ;;
! 169: i586)
! 170: # no, you nitwits, there is no such chip. (Linux)
! 171: chip=pentium
! 172: # djb, stop bashing linux alone, bash to GNU people too ...
! 173: # config.guess also does this!
! 174: ;;
! 175: i686)
! 176: # STOP SAYING THAT! (Linux)
! 177: chip=ppro
! 178: esac
! 179: if test "x$arch" = x ; then
! 180: if test "x$chip" = i386 -o "x$chip" = i486 -o "x$chip" = "pentium" \
! 181: -o "x$chip" = "ppro" ; then
! 182: arch="i386";
! 183: fi
! 184: fi
! 185:
! 186: x=`echo "$oper-:$arch-:$syst-:$chip-:$kern-" | tr ' [A-Z]' '.[a-z]'`
! 187:
! 188: if test x"$@" = x ; then
! 189: echo "Future @PACKAGE@ versions will include a list of systems this version" >&2
! 190: echo "was compiled under (that's what you send this message for). In case" >&2
! 191: echo "want to see a shorthand expression of your real name in this list" >&2
! 192: echo "you may provide it here:" >&2
! 193: echo "Realname: " >&2
! 194: read realname
! 195: else
! 196: realname="$@"
! 197: fi
! 198:
! 199: echo # BeOS /bin/mail doesn't generate any header ...
! 200: echo ""
! 201: echo "SYS: $x"
! 202: echo "PACKAGE: @PACKAGE@ @VERSION@"
! 203: cc="`echo \"$CC\"|sed 's/ .*//'`"
! 204: x=`$CC --version </dev/null 2>/dev/null`
! 205: echo "CC: $cc $x"
! 206: echo "CFLAGS: $CFLAGS"
! 207: if test "x$realname" = x ; then
! 208: :
! 209: else
! 210: echo "REALNAME: $realname"
! 211: fi
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>