source: git/singuname.sh @ 6ce030f

spielwiese
Last change on this file since 6ce030f was bfead9, checked in by Hans Schoenemann <hannes@…>, 14 years ago
added MINGW as ix86-Win (singuname.sh)
  • Property mode set to 100755
File size: 6.3 KB
RevLine 
[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
11egrep="egrep"
12uname_a=`uname -a`
[1b12fc]13uname_m=`uname -m`
[b9d333]14devnull='/dev/null'
15file=file
16binary='/bin/ls'
[9c5d43]17ldd='ldd'
[b9d333]18
19# HPUX ########################################################
[1b12fc]20if (echo $uname_m | $egrep "HP-UX" > $devnull)
[b9d333]21then
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]42elif (echo $uname_a | $egrep "i[3,4,5,6]86" > $devnull)
[b9d333]43then
[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]100elif (echo $uname_m | $egrep "x86_64" > $devnull)
[f031b9]101then
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 ########################################################
116elif (echo $uname_m | $egrep "amd64" > $devnull)
117then
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]128elif (echo $uname_m | $egrep "hppa" > $devnull)
[f031b9]129then
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]140elif (echo $uname_a | $egrep "SunOS" > $devnull)
[b9d333]141then
[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]162elif (echo $uname_m | $egrep "alpha" > $devnull)
[b9d333]163then
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]178elif (echo $uname_m | $egrep "IRIX" > $devnull)
[b9d333]179then
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]190elif (echo $uname_a | $egrep "AIX" > $devnull)
[b9d333]191then
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]206elif (echo $uname_m | $egrep "Power Macintosh" > $devnull)
[2338c8]207then
[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]218elif (echo $uname_m | $egrep "ppc" > $devnull)
[0430d9]219then
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]230elif (echo $uname_m | $egrep "ia64" > $devnull)
[f51575]231then
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]243elif (echo $uname_m | $egrep "sparc64" >$devnull)
[fde597]244then
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]255else # Unknown ########################################################
256    echo Unknown
257    exit 2
258fi
Note: See TracBrowser for help on using the repository browser.