Annotation of embedaddon/lrzsz/systype.in, revision 1.1.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>