[857707] | 1 | #!/bin/sh |
---|
[fcc0c2] | 2 | # |
---|
[b9d333] | 3 | # FILE: singuname |
---|
| 4 | # USAGE: singuname |
---|
| 5 | # PURPOSE: prints to stdout a unique identifier of known uname(s) |
---|
[fcc0c2] | 6 | # AUTHOR: obachman |
---|
[b9d333] | 7 | # CREATED: 5/26/98 |
---|
| 8 | # |
---|
| 9 | ########################################################################### |
---|
| 10 | |
---|
| 11 | egrep="egrep" |
---|
| 12 | uname_a=`uname -a` |
---|
[1b12fc] | 13 | uname_m=`uname -m` |
---|
[b9d333] | 14 | devnull='/dev/null' |
---|
| 15 | file=file |
---|
| 16 | binary='/bin/ls' |
---|
[9c5d43] | 17 | ldd='ldd' |
---|
[b9d333] | 18 | |
---|
| 19 | # HPUX ######################################################## |
---|
[1b12fc] | 20 | if (echo $uname_m | $egrep "HP-UX" > $devnull) |
---|
[b9d333] | 21 | then |
---|
| 22 | prefix=HPUX |
---|
| 23 | # HPUX-9 |
---|
[fcc0c2] | 24 | if (echo $uname_a | $egrep "\.09\." > $devnull) |
---|
[b9d333] | 25 | then |
---|
[fcc0c2] | 26 | echo ${prefix}-9 |
---|
| 27 | exit 0 |
---|
[b9d333] | 28 | # HPUX-10 |
---|
| 29 | elif (echo $uname_a | $egrep "\.10\." > $devnull) |
---|
| 30 | then |
---|
[fcc0c2] | 31 | echo ${prefix}-10 |
---|
| 32 | exit 0 |
---|
[f51575] | 33 | elif (echo $uname_a | $egrep " ia64 " > $devnull) |
---|
| 34 | then |
---|
| 35 | echo IA64-${prefix} |
---|
| 36 | exit 0 |
---|
[b9d333] | 37 | else |
---|
[fcc0c2] | 38 | echo ${prefix}-Unknown |
---|
| 39 | exit 1 |
---|
[b9d333] | 40 | fi |
---|
| 41 | # Intel ######################################################## |
---|
[92963f] | 42 | elif (echo $uname_a | $egrep "i[3,4,5,6]86" > $devnull) |
---|
[b9d333] | 43 | then |
---|
[0bf0ad] | 44 | prefix=ix86 |
---|
[b9d333] | 45 | # Win ################ |
---|
| 46 | if (echo $uname_a | $egrep "CYGWIN" > $devnull) |
---|
[bfead9] | 47 | then |
---|
| 48 | echo ${prefix}-Win |
---|
| 49 | exit 0 |
---|
| 50 | elif (echo $uname_a | $egrep "MINGW" > $devnull) |
---|
[b9d333] | 51 | then |
---|
[fcc0c2] | 52 | echo ${prefix}-Win |
---|
| 53 | exit 0 |
---|
[f0a718] | 54 | # FreeBSD ############### |
---|
| 55 | elif (echo $uname_a | $egrep "FreeBSD" > $devnull) |
---|
| 56 | then |
---|
| 57 | echo ${prefix}-freebsd |
---|
| 58 | exit 0 |
---|
[b9d333] | 59 | # Linux ############### |
---|
| 60 | elif (echo $uname_a | $egrep "Linux" > $devnull) |
---|
| 61 | then |
---|
[fcc0c2] | 62 | prefix=${prefix}-Linux |
---|
| 63 | if (test -x $file && -x $binary) |
---|
| 64 | then |
---|
| 65 | # LinuxAOUT only if file does not match ELF |
---|
| 66 | if ($file $binary | $egrep -v "ELF" > $devnull) |
---|
| 67 | then |
---|
| 68 | echo ${prefix}AOUT |
---|
| 69 | exit 0 |
---|
| 70 | fi |
---|
| 71 | fi |
---|
| 72 | # everything else is assumed to be Linux ELF |
---|
[9c5d43] | 73 | # check for libc5 |
---|
| 74 | if (echo `$ldd $binary` | $egrep "libc.so.5" > $devnull) |
---|
[fcc0c2] | 75 | then |
---|
| 76 | echo "${prefix}-libc5" |
---|
| 77 | else |
---|
| 78 | echo ${prefix} |
---|
| 79 | fi |
---|
| 80 | exit 0 |
---|
[4f0a5a7] | 81 | elif (echo $uname_a | $egrep "Darwin" >$devnull) |
---|
| 82 | then |
---|
[e4f20d] | 83 | echo ix86Mac-darwin |
---|
[4f0a5a7] | 84 | exit 0 |
---|
[f031b9] | 85 | elif (echo $uname_a | $egrep "SunOS" >$devnull) |
---|
| 86 | then |
---|
[c753931] | 87 | # NexentaOS ############### |
---|
| 88 | if (echo $uname_a | $egrep "NexentaOS" > $devnull) |
---|
| 89 | then |
---|
| 90 | echo ${prefix}-nexentaos |
---|
| 91 | else |
---|
[e4f20d] | 92 | echo ix86-SunOS |
---|
[c753931] | 93 | fi |
---|
| 94 | exit 0 |
---|
[f031b9] | 95 | else |
---|
| 96 | echo ${prefix}-Unknown |
---|
| 97 | exit 1 |
---|
| 98 | fi |
---|
| 99 | # AMD-Opteron ######################################################## |
---|
[1b12fc] | 100 | elif (echo $uname_m | $egrep "x86_64" > $devnull) |
---|
[f031b9] | 101 | then |
---|
| 102 | prefix=x86_64 |
---|
| 103 | if (echo $uname_a | $egrep "Linux" > $devnull) |
---|
| 104 | then |
---|
| 105 | echo ${prefix}-Linux |
---|
| 106 | exit 0 |
---|
[01d9463] | 107 | elif (echo $uname_a | $egrep "Darwin" >$devnull) |
---|
| 108 | then |
---|
| 109 | echo x86_64Mac-darwin |
---|
| 110 | exit 0 |
---|
[f031b9] | 111 | else |
---|
| 112 | echo ${prefix}-Unknown |
---|
| 113 | exit 1 |
---|
| 114 | fi |
---|
[92e2cd] | 115 | # AMD-Opteron ######################################################## |
---|
| 116 | elif (echo $uname_m | $egrep "amd64" > $devnull) |
---|
| 117 | then |
---|
| 118 | prefix=x86_64 |
---|
| 119 | if (echo $uname_a | $egrep "FreeBSD" > $devnull) |
---|
| 120 | then |
---|
| 121 | echo ${prefix}-freebsd |
---|
| 122 | exit 0 |
---|
| 123 | else |
---|
| 124 | echo ${prefix}-Unknown |
---|
| 125 | exit 1 |
---|
| 126 | fi |
---|
[f031b9] | 127 | # HPPA ################################################################ |
---|
[1b12fc] | 128 | elif (echo $uname_m | $egrep "hppa" > $devnull) |
---|
[f031b9] | 129 | then |
---|
| 130 | prefix=hppa |
---|
| 131 | if (echo $uname_a | $egrep "Linux" > $devnull) |
---|
| 132 | then |
---|
| 133 | echo ${prefix}-Linux |
---|
| 134 | exit 0 |
---|
[b9d333] | 135 | else |
---|
[fcc0c2] | 136 | echo ${prefix}-Unknown |
---|
| 137 | exit 1 |
---|
[b9d333] | 138 | fi |
---|
| 139 | # SunOS ######################################################## |
---|
[bb504fb] | 140 | elif (echo $uname_a | $egrep "SunOS" > $devnull) |
---|
[b9d333] | 141 | then |
---|
[0e1eb3] | 142 | if (echo $uname_a | $egrep "sun3" > $devnull) |
---|
| 143 | then |
---|
| 144 | prefix=Sun3OS |
---|
| 145 | else |
---|
[564067c] | 146 | prefix=SunOS |
---|
[0e1eb3] | 147 | fi |
---|
[fcc0c2] | 148 | if (echo $uname_a | $egrep "4\.[0-9]" > $devnull) |
---|
[b9d333] | 149 | then |
---|
[fcc0c2] | 150 | echo ${prefix}-4 |
---|
| 151 | exit 0 |
---|
| 152 | # Solaris |
---|
[b9d333] | 153 | elif (echo $uname_a | $egrep "5\.[0-9]" > $devnull) |
---|
| 154 | then |
---|
[fcc0c2] | 155 | echo ${prefix}-5 |
---|
| 156 | exit 0 |
---|
[b9d333] | 157 | else |
---|
[fcc0c2] | 158 | echo ${prefix}-Unknown |
---|
| 159 | exit 1 |
---|
[b9d333] | 160 | fi |
---|
| 161 | # DecAlpha ######################################################## |
---|
[1b12fc] | 162 | elif (echo $uname_m | $egrep "alpha" > $devnull) |
---|
[b9d333] | 163 | then |
---|
| 164 | prefix=DecAlpha |
---|
| 165 | if (echo $uname_a | $egrep "Linux" > $devnull) |
---|
| 166 | then |
---|
[fcc0c2] | 167 | echo ${prefix}-Linux |
---|
| 168 | exit 0 |
---|
[a8ddef] | 169 | elif (echo $uname_a | $egrep "OSF1" > $devnull) |
---|
| 170 | then |
---|
| 171 | echo ${prefix}-OSF1 |
---|
| 172 | exit 0 |
---|
[b9d333] | 173 | else |
---|
[fcc0c2] | 174 | echo ${prefix}-Unknown |
---|
| 175 | exit 1 |
---|
[b9d333] | 176 | fi |
---|
| 177 | # IRIX ######################################################## |
---|
[1b12fc] | 178 | elif (echo $uname_m | $egrep "IRIX" > $devnull) |
---|
[b9d333] | 179 | then |
---|
| 180 | prefix=IRIX |
---|
| 181 | if (echo $uname_a | $egrep "6\.[0-9]" > $devnull) |
---|
| 182 | then |
---|
[fcc0c2] | 183 | echo ${prefix}-6 |
---|
| 184 | exit 0 |
---|
[b9d333] | 185 | else |
---|
[fcc0c2] | 186 | echo ${prefix}-Unknown |
---|
| 187 | exit 1 |
---|
[b9d333] | 188 | fi |
---|
| 189 | # AIX ######################################################## |
---|
[f07b7f5] | 190 | elif (echo $uname_a | $egrep "AIX" > $devnull) |
---|
[b9d333] | 191 | then |
---|
| 192 | prefix=AIX |
---|
| 193 | if (uname -v | $egrep "4" > $devnull) |
---|
| 194 | then |
---|
[fcc0c2] | 195 | echo ${prefix}-4 |
---|
| 196 | exit 0 |
---|
[f07b7f5] | 197 | elif (uname -v | $egrep "5" > $devnull) |
---|
[b9d333] | 198 | then |
---|
[f07b7f5] | 199 | echo ${prefix}-5 |
---|
[fcc0c2] | 200 | exit 0 |
---|
[b9d333] | 201 | else |
---|
[fcc0c2] | 202 | echo ${prefix}-Unknown |
---|
| 203 | exit 1 |
---|
[b9d333] | 204 | fi |
---|
[2338c8] | 205 | # Darwin/MacOS X ############################################## |
---|
[1b12fc] | 206 | elif (echo $uname_m | $egrep "Power Macintosh" > $devnull) |
---|
[2338c8] | 207 | then |
---|
[624628] | 208 | prefix="ppcMac" |
---|
[2338c8] | 209 | if( uname -s | $egrep "Darwin" > $devnull) |
---|
| 210 | then |
---|
| 211 | echo ${prefix}-darwin |
---|
| 212 | exit 0 |
---|
| 213 | else |
---|
| 214 | echo ${prefix}-Unknown |
---|
| 215 | exit 1 |
---|
| 216 | fi |
---|
[0430d9] | 217 | # other PowerPC ############################################## |
---|
[1b12fc] | 218 | elif (echo $uname_m | $egrep "ppc" > $devnull) |
---|
[0430d9] | 219 | then |
---|
| 220 | prefix="ppc" |
---|
| 221 | if (echo $uname_a | $egrep "Linux" > $devnull) |
---|
| 222 | then |
---|
| 223 | echo ${prefix}-Linux |
---|
| 224 | exit 0 |
---|
| 225 | else |
---|
| 226 | echo ${prefix}-Unknown |
---|
| 227 | exit 1 |
---|
| 228 | fi |
---|
[f51575] | 229 | # itanium ######################################################## |
---|
[1b12fc] | 230 | elif (echo $uname_m | $egrep "ia64" > $devnull) |
---|
[f51575] | 231 | then |
---|
| 232 | # IA64-HPUX: see HPUX |
---|
| 233 | prefix=IA64 |
---|
| 234 | if (echo $uname_a | $egrep "Linux" > $devnull) |
---|
| 235 | then |
---|
| 236 | echo ${prefix}-Linux |
---|
| 237 | exit 0 |
---|
| 238 | else |
---|
| 239 | echo ${prefix}-Unknown |
---|
| 240 | exit 1 |
---|
| 241 | fi |
---|
[fde597] | 242 | # sparc64-Linux ############################################ |
---|
[1b12fc] | 243 | elif (echo $uname_m | $egrep "sparc64" >$devnull) |
---|
[fde597] | 244 | then |
---|
| 245 | prefix=sparc64 |
---|
| 246 | if (echo $uname_a | $egrep "Linux" > $devnull) |
---|
| 247 | then |
---|
| 248 | echo ${prefix}-Linux |
---|
| 249 | exit 0 |
---|
| 250 | else |
---|
| 251 | echo ${prefix}-Unknown |
---|
| 252 | exit 1 |
---|
| 253 | fi |
---|
| 254 | |
---|
[b9d333] | 255 | else # Unknown ######################################################## |
---|
| 256 | echo Unknown |
---|
| 257 | exit 2 |
---|
| 258 | fi |
---|