Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /config/trunk/_arch-n-opsys
ViewVC logotype

Annotation of /config/trunk/_arch-n-opsys

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6011 - (view) (download)

1 : monnier 249 #!@SHELL@
2 :     #
3 : jhr 5638 # .arch-n-opsys [-32 | -64] -- get architecture and system info
4 : monnier 249 #
5 : jhr 4895 # Running `eval .arch-n-opsys` will define the following shell variables:
6 :     #
7 :     # ARCH -- one of ppc, sparc, or x86
8 :     # OPSYS -- one of aix, cygwin, darwin, freebsd, linux, mklinux, netbsd,
9 :     # sunos, solaris, win32
10 :     # HEAP_SUFFIX -- usually $ARCH-$OPSYS, but in some cases the OPSYS is replaced
11 :     # by $HEAP_OPSYS
12 :     #
13 : monnier 249
14 :     export PATH
15 :     PATH="/bin:/usr/bin"
16 :    
17 : jhr 5870 # the default size; this is set by the config/install.sh script
18 : jhr 5638 #
19 : jhr 5870 SIZE=@SIZE@
20 : jhr 5638
21 :     # check for word-size override
22 :     #
23 :     case x"$1" in
24 :     x-32) SIZE=32 ;;
25 :     x-64) SIZE=64 ;;
26 :     *) ;;
27 :     esac
28 :    
29 :     # pick_arch arch32 arch64
30 :     #
31 : jhr 5692 pick_arch() {
32 : jhr 5638 if [ $SIZE = 32 ] ; then
33 :     echo $1
34 :     else
35 :     echo $2
36 :     fi
37 :     }
38 :    
39 : monnier 249 case `uname -s` in
40 :     SunOS)
41 :     case `uname -r` in
42 :     4.*)
43 :     OPSYS=sunos
44 :     case `/usr/bin/arch` in
45 :     sun4) ARCH=sparc;;
46 :     *) exit 1;;
47 :     esac
48 :     ;;
49 :     5.*)
50 :     OPSYS=solaris
51 :     case `uname -p` in
52 :     sparc) ARCH=sparc;;
53 : monnier 1771 *86) ARCH=x86;;
54 : monnier 249 *) exit 1;;
55 :     esac
56 :     ;;
57 :     *) exit 1;;
58 :     esac
59 :     ;;
60 :     AIX)
61 :     OPSYS=aix
62 : jhr 5638 ARCH=$(pick_arch ppc ppc64)
63 : monnier 249 ;;
64 : george 810 Darwin)
65 :     case `uname -p` in
66 : jhr 1882 powerpc)
67 : jhr 5638 ARCH=$(pick_arch ppc ppc64)
68 : jhr 1882 case `uname -r` in
69 : jhr 3747 9*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.5 Leopard
70 : jhr 2818 *) exit 1;;
71 : jhr 1882 esac;;
72 : jhr 5638 i386)
73 :     ARCH=$(pick_arch x86 amd64)
74 : jhr 2818 case `uname -r` in
75 : jhr 5638 9*) OPSYS=darwin; HEAP_OPSYS=darwinz ;; # MacOS X 10.5 Leopard
76 : jhr 3747 10*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.6 Snow Leopard
77 :     11*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.7 Lion
78 :     12*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.8 Mountain Lion
79 : jhr 3814 13*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.9 Mavericks
80 : jhr 3886 14*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.10 Yosemite
81 : jhr 4073 15*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.11 El Capitan
82 : jhr 4231 16*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # macOS 10.12 Sierra
83 : jhr 4367 17*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # macOS 10.13 High Sierra
84 : jhr 4679 18*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # macOS 10.14 Mojave
85 : jhr 5638 19*)
86 :     if [ $SIZE = 32 ] ; then # Catalina only supports 64-bit executables
87 :     exit 1;
88 :     fi
89 :     OPSYS=darwin; HEAP_OPSYS=darwin ;; # macOS 10.15 Catalina
90 : jhr 2818 *) exit 1;;
91 :     esac;;
92 : george 810 esac
93 :     ;;
94 : monnier 249 Linux)
95 :     OPSYS=linux
96 :     case `uname -m` in
97 : jhr 1889 *86)
98 :     ARCH=x86
99 : jhr 5232 # we no longer support Linux before the 2.4 kernel.
100 : jhr 1889 case `uname -r` in
101 :     2.4.*) ;;
102 :     2.5.*) ;;
103 :     2.6.*) ;;
104 : larsberg 3637 3.*) ;;
105 : jhr 4075 4.*) ;;
106 : jhr 4679 5.*) ;;
107 : jhr 1889 *) exit 1 ;;
108 :     esac
109 :     ;;
110 :     # As long as we do not natively support the amd64 architecture,
111 :     # we should fallback to the x86 compatibility mode. --Stef
112 : jhr 5638 x86_64)
113 :     ARCH=$(pick_arch x86 amd64)
114 :     ;;
115 : monnier 249 ppc)
116 : jhr 5638 ARCH=$(pick_arch ppc ppc64)
117 : monnier 249 case `uname -r` in
118 :     *osfmach*) OPSYS=mklinux ;;
119 : george 693 *) ;;
120 : monnier 249 esac
121 :     ;;
122 :     *) exit 1;;
123 :     esac
124 :     ;;
125 :     FreeBSD)
126 :     OPSYS=freebsd
127 :     HEAP_OPSYS=bsd
128 :     case `uname -m` in
129 : jhr 5638 *86) ARCH=x86 ;;
130 :     x86_64) ARCH=$(pick_arch x86 amd64) ;;
131 : jhr 6011 amd64) ARCH=$(pick_arch x86 amd64) ;;
132 : jhr 5638 *) exit 1 ;;
133 : monnier 249 esac
134 :     ;;
135 :     NetBSD)
136 : jhr 1884 case `uname -r` in
137 : jhr 5638 1.*) exit 1 ;;
138 :     2.*) exit 1 ;;
139 :     *) OPSYS=netbsd ;;
140 : jhr 1884 esac
141 : monnier 249 HEAP_OPSYS=bsd
142 : jriehl 3492 case `uname -p` in
143 : monnier 1771 *86) ARCH=x86;;
144 : jhr 5638 x86_64) ARCH=$(pick_arch x86 amd64) ;;
145 : jriehl 3492 powerpc) ARCH=ppc;;
146 :     sparc) ARCH=sparc;;
147 : monnier 249 *) exit 1;;
148 :     esac
149 :     ;;
150 : jhr 3183 OpenBSD)
151 :     OPSYS=openbsd
152 : jhr 3188 HEAP_OPSYS=bsd
153 : jhr 3925 case `uname -p` in
154 : jhr 3183 *86) ARCH=x86;;
155 : jhr 5638 x86_64) ARCH=$(pick_arch x86 amd64) ;;
156 : jhr 3925 powerpc) ARCH=ppc;;
157 : jhr 3183 *) exit 1;;
158 :     esac
159 :     ;;
160 : monnier 249 Windows_NT)
161 :     OPSYS=win32
162 :     case `uname -m` in
163 : monnier 1771 *86) ARCH=x86;;
164 : monnier 249 *) exit 1;;
165 :     esac
166 :     ;;
167 : allenleung 1327 CYGWIN_NT*)
168 : jhr 3921 # If the environment variable SMLNJ_WINDOWS_RUNTIME is defined,
169 :     # then we use Win32 as the runtime environment.
170 :     if [ "$SMLNJ_WINDOWS_RUNTIME" != "" ]; then
171 :     OPSYS=win32
172 :     else
173 : allenleung 1618 OPSYS=cygwin
174 :     fi
175 : allenleung 1327 case `uname -m` in
176 : monnier 1771 *86) ARCH=x86;;
177 : jhr 5638 x86_64) ARCH=$(pick_arch x86 amd64) ;;
178 : allenleung 1327 *) exit 1;;
179 :     esac
180 :     ;;
181 : monnier 249 *) exit 1;;
182 :     esac
183 :    
184 :     if [ "$HEAP_OPSYS" = "" ]; then
185 :     HEAP_SUFFIX="$ARCH-$OPSYS"
186 :     else
187 :     HEAP_SUFFIX="$ARCH-$HEAP_OPSYS"
188 :     fi
189 :    
190 :     echo "ARCH=$ARCH; OPSYS=$OPSYS; HEAP_SUFFIX=$HEAP_SUFFIX"

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0