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 5232 - (view) (download)

1 : monnier 249 #!@SHELL@
2 :     #
3 :     # .arch-n-opsys -- get architecture and system info
4 :     #
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 :     case `uname -s` in
18 :     SunOS)
19 :     case `uname -r` in
20 :     4.*)
21 :     OPSYS=sunos
22 :     case `/usr/bin/arch` in
23 :     sun4) ARCH=sparc;;
24 :     *) exit 1;;
25 :     esac
26 :     ;;
27 :     5.*)
28 :     OPSYS=solaris
29 :     case `uname -p` in
30 :     sparc) ARCH=sparc;;
31 : monnier 1771 *86) ARCH=x86;;
32 : monnier 249 *) exit 1;;
33 :     esac
34 :     ;;
35 :     *) exit 1;;
36 :     esac
37 :     ;;
38 :     AIX)
39 :     OPSYS=aix
40 :     ARCH=ppc
41 :     ;;
42 : george 810 Darwin)
43 :     case `uname -p` in
44 : jhr 1882 powerpc)
45 :     ARCH=ppc
46 :     case `uname -r` in
47 : jhr 3747 9*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.5 Leopard
48 : jhr 2818 *) exit 1;;
49 : jhr 1882 esac;;
50 : jhr 2818 i386) ARCH=x86;
51 :     case `uname -r` in
52 : jhr 3747 9*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.5 Leopard
53 :     10*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.6 Snow Leopard
54 :     11*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.7 Lion
55 :     12*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.8 Mountain Lion
56 : jhr 3814 13*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.9 Mavericks
57 : jhr 3886 14*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.10 Yosemite
58 : jhr 4073 15*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.11 El Capitan
59 : jhr 4231 16*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # macOS 10.12 Sierra
60 : jhr 4367 17*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # macOS 10.13 High Sierra
61 : jhr 4679 18*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # macOS 10.14 Mojave
62 : jhr 2818 *) exit 1;;
63 :     esac;;
64 : george 810 esac
65 :     ;;
66 : monnier 249 Linux)
67 :     OPSYS=linux
68 :     case `uname -m` in
69 : jhr 1889 *86)
70 :     ARCH=x86
71 : jhr 5232 # we no longer support Linux before the 2.4 kernel.
72 : jhr 1889 case `uname -r` in
73 :     2.4.*) ;;
74 :     2.5.*) ;;
75 :     2.6.*) ;;
76 : larsberg 3637 3.*) ;;
77 : jhr 4075 4.*) ;;
78 : jhr 4679 5.*) ;;
79 : jhr 1889 *) exit 1 ;;
80 :     esac
81 :     ;;
82 :     # As long as we do not natively support the amd64 architecture,
83 :     # we should fallback to the x86 compatibility mode. --Stef
84 :     x86_64) ARCH=x86;;
85 : monnier 249 ppc)
86 :     ARCH=ppc
87 :     case `uname -r` in
88 :     *osfmach*) OPSYS=mklinux ;;
89 : george 693 *) ;;
90 : monnier 249 esac
91 :     ;;
92 :     *) exit 1;;
93 :     esac
94 :     ;;
95 :     FreeBSD)
96 :     OPSYS=freebsd
97 :     HEAP_OPSYS=bsd
98 :     case `uname -m` in
99 : monnier 1771 *86) ARCH=x86;;
100 : monnier 249 *) exit 1;;
101 :     esac
102 :     ;;
103 :     NetBSD)
104 : jhr 1884 case `uname -r` in
105 : jriehl 3492 1.*) exit 1;;
106 : jhr 5232 2.*) exit 1;;
107 : jriehl 3492 *) OPSYS=netbsd;;
108 : jhr 1884 esac
109 : monnier 249 HEAP_OPSYS=bsd
110 : jriehl 3492 case `uname -p` in
111 : monnier 1771 *86) ARCH=x86;;
112 : jriehl 3492 powerpc) ARCH=ppc;;
113 :     sparc) ARCH=sparc;;
114 : monnier 249 *) exit 1;;
115 :     esac
116 :     ;;
117 : jhr 3183 OpenBSD)
118 :     OPSYS=openbsd
119 : jhr 3188 HEAP_OPSYS=bsd
120 : jhr 3925 case `uname -p` in
121 : jhr 3183 *86) ARCH=x86;;
122 : jhr 3925 powerpc) ARCH=ppc;;
123 : jhr 3183 *) exit 1;;
124 :     esac
125 :     ;;
126 : monnier 249 Windows_NT)
127 :     OPSYS=win32
128 :     case `uname -m` in
129 : monnier 1771 *86) ARCH=x86;;
130 : monnier 249 *) exit 1;;
131 :     esac
132 :     ;;
133 : allenleung 1327 CYGWIN_NT*)
134 : jhr 3921 # If the environment variable SMLNJ_WINDOWS_RUNTIME is defined,
135 :     # then we use Win32 as the runtime environment.
136 :     if [ "$SMLNJ_WINDOWS_RUNTIME" != "" ]; then
137 :     OPSYS=win32
138 :     else
139 : allenleung 1618 OPSYS=cygwin
140 :     fi
141 : allenleung 1327 case `uname -m` in
142 : monnier 1771 *86) ARCH=x86;;
143 : jhr 4903 x86_64) exit 1;;
144 : allenleung 1327 *) exit 1;;
145 :     esac
146 :     ;;
147 : monnier 249 *) exit 1;;
148 :     esac
149 :    
150 :     if [ "$HEAP_OPSYS" = "" ]; then
151 :     HEAP_SUFFIX="$ARCH-$OPSYS"
152 :     else
153 :     HEAP_SUFFIX="$ARCH-$HEAP_OPSYS"
154 :     fi
155 :    
156 :     echo "ARCH=$ARCH; OPSYS=$OPSYS; HEAP_SUFFIX=$HEAP_SUFFIX"

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