]>
Commit | Line | Data |
---|---|---|
08073700 | 1 | #### Nonstop configurations |
c60330cb RL |
2 | # Common for all |
3 | 'nonstop-common' => { | |
4 | inherit_from => [ 'BASE_unix' ], | |
5 | template => 1, | |
6 | cc => 'c99', | |
7 | cflags => add_before(picker(debug => '-g -O0', | |
8 | release => '-g -O2'), | |
9 | '-Wextensions', | |
10 | '-Wnowarn=203,220,272,734,770,1506', | |
11 | '-Wbuild_neutral_library', | |
12 | '-Wverbose'), | |
13 | defines => add('OPENSSL_VPROC=$(OPENSSL_VPROC)', | |
14 | '_XOPEN_SOURCE', | |
15 | '_XOPEN_SOURCE_EXTENDED=1', | |
16 | '_TANDEM_SOURCE', | |
17 | 'B_ENDIAN'), | |
18 | perl => '/usr/bin/perl', | |
7a032be7 | 19 | shared_target => 'nonstop-shared', |
08073700 | 20 | shared_extension => ".so", |
c60330cb RL |
21 | ex_libs => add('-lrld'), |
22 | enable => ['egd'], | |
23 | dso_scheme => 'DLFCN', | |
24 | sys_id => 'TANDEM', | |
25 | }, | |
26 | ||
27 | ###################################################################### | |
28 | # Additional variant settings, to be combined with nonstop-common | |
29 | # Note that these do not inherit anything. However, the diverse values | |
30 | # are merged with other entries in an 'inherit_from'. | |
31 | # | |
32 | # These combine: | |
33 | # - System architecture (MIPS, Itanium, or x86) | |
34 | # - Execution environment (oss [default] or guardian) | |
35 | # | |
36 | # Unfortunately, they can't be separated into independent templates, because | |
37 | # a number of the above are encoded as different linkers, and by consequence, | |
38 | # different c99 linker flags (-Wld, -Weld, and -Wxld) | |
39 | # | |
40 | # In addition, the are modifiers for: | |
41 | # - Size of long + pointer (ilp32 [default] and lp64) | |
42 | # - Float type (neutral and tandem) | |
43 | # | |
44 | # Unfortunately, because the float types affect the linker settings, those | |
45 | # are divided per system architecture | |
46 | # | |
47 | # MIPS + guardian (unused but present for convenience): | |
48 | 'nonstop-archenv-mips-guardian' => { | |
49 | template => 1, | |
50 | defines => ['NO_GETPID'], | |
51 | cflags => '-Wtarget=tns/r -Wsystype=guardian', | |
52 | lflags => '-Wld="-set systype guardian"', | |
7a032be7 RL |
53 | shared_ldflag => '-Wshared -Wld="-soname $(@:lib%.so=%)"', |
54 | shared_defflag => '-Wld_obey=', | |
e07a7892 | 55 | shared_argfileflag => '-Wld_obey=', |
c60330cb RL |
56 | }, |
57 | ||
58 | # Itanium + guardian: | |
59 | 'nonstop-archenv-itanium-guardian' => { | |
60 | template => 1, | |
61 | defines => ['NO_GETPID', '_TANDEM_ARCH=2'], | |
62 | cflags => '-Wtarget=tns/e -Wsystype=guardian', | |
63 | lflags => '-Weld="-set systype guardian"', | |
7a032be7 RL |
64 | shared_ldflag => '-Wshared -Weld="-soname $(@:lib%.so=%)"', |
65 | shared_defflag => '-Weld_obey=', | |
e07a7892 | 66 | shared_argfileflag => '-Weld_obey=', |
c60330cb RL |
67 | }, |
68 | ||
69 | # x86 + guardian: | |
70 | 'nonstop-archenv-x86_64-guardian' => { | |
71 | template => 1, | |
72 | defines => ['NO_GETPID', '_TANDEM_ARCH=3'], | |
73 | cflags => '-Wtarget=tns/x -Wsystype=guardian', | |
74 | lflags => '-Wxld="-set systype guardian"', | |
7a032be7 RL |
75 | shared_ldflag => '-Wshared -Wxld="-soname $(@:lib%.so=%)"', |
76 | shared_defflag => '-Wxld_obey=', | |
e07a7892 | 77 | shared_argfileflag => '-Wxld_obey=', |
c60330cb RL |
78 | }, |
79 | ||
80 | # MIPS + oss (unused but present for convenience): | |
81 | 'nonstop-archenv-mips-oss' => { | |
82 | template => 1, | |
83 | cflags => '-Wtarget=tns/r -Wsystype=oss', | |
84 | lflags => '-Wld="-set systype oss"', | |
7a032be7 RL |
85 | shared_ldflag => '-Wshared', |
86 | shared_defflag => '-Wld_obey=', | |
e07a7892 | 87 | shared_argfileflag => '-Wld_obey=', |
c60330cb RL |
88 | }, |
89 | # Itanium + oss: | |
90 | 'nonstop-archenv-itanium-oss' => { | |
91 | template => 1, | |
92 | defines => ['_TANDEM_ARCH=2'], | |
93 | cflags => '-Wtarget=tns/e -Wsystype=oss', | |
94 | lflags => '-Weld="-set systype oss"', | |
7a032be7 RL |
95 | shared_ldflag => '-Wshared', |
96 | shared_defflag => '-Weld_obey=', | |
e07a7892 | 97 | shared_argfileflag => '-Weld_obey=', |
c60330cb RL |
98 | }, |
99 | # x86_64 + oss: | |
100 | 'nonstop-archenv-x86_64-oss' => { | |
101 | template => 1, | |
102 | defines => ['_TANDEM_ARCH=3'], | |
103 | cflags => '-Wtarget=tns/x -Wsystype=oss', | |
104 | lflags => '-Wxld="-set systype oss"', | |
7a032be7 RL |
105 | shared_ldflag => '-Wshared', |
106 | shared_defflag => '-Wxld_obey=', | |
e07a7892 | 107 | shared_argfileflag => '-Wxld_obey=', |
c60330cb RL |
108 | }, |
109 | ||
110 | # Size variants | |
111 | 'nonstop-ilp32' => { | |
112 | template => 1, | |
113 | cflags => '-Wilp32', | |
114 | bn_ops => 'THIRTY_TWO_BIT', | |
115 | }, | |
116 | 'nonstop-lp64-itanium' => { | |
117 | template => 1, | |
118 | cflags => '-Wlp64', | |
119 | bn_ops => 'SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR', | |
120 | }, | |
121 | 'nonstop-lp64-x86_64' => { | |
122 | template => 1, | |
123 | cflags => '-Wlp64', | |
124 | lflags => '-Wxld="-set data_model lp64"', | |
125 | bn_ops => 'SIXTY_FOUR_BIT', | |
126 | }, | |
127 | ||
128 | # Float variants | |
129 | 'nonstop-nfloat-mips' => { | |
130 | template => 1, | |
131 | lflags => '-Wld="-set floattype neutral_float"', | |
132 | }, | |
133 | 'nonstop-tfloat-mips' => { | |
134 | template => 1, | |
135 | lflags => '-Wld="-set floattype tandem_float"', | |
136 | }, | |
58608c7c RB |
137 | 'nonstop-efloat-itanium' => { |
138 | template => 1, | |
139 | cflags => '-WIEEE_float', | |
140 | lflags => '-Weld="-set floattype ieee_float"', | |
141 | }, | |
c60330cb RL |
142 | 'nonstop-nfloat-itanium' => { |
143 | template => 1, | |
144 | lflags => '-Weld="-set floattype neutral_float"', | |
145 | }, | |
146 | 'nonstop-tfloat-itanium' => { | |
147 | template => 1, | |
58608c7c | 148 | cflags => '-WTandem_float', |
c60330cb RL |
149 | lflags => '-Weld="-set floattype tandem_float"', |
150 | }, | |
58608c7c RB |
151 | 'nonstop-efloat-x86_64' => { |
152 | template => 1, | |
153 | cflags => '-WIEEE_float', | |
154 | lflags => '-Wxld="-set floattype ieee_float"', | |
155 | }, | |
c60330cb RL |
156 | 'nonstop-nfloat-x86_64' => { |
157 | template => 1, | |
158 | lflags => '-Wxld="-set floattype neutral_float"', | |
159 | }, | |
160 | 'nonstop-tfloat-x86_64' => { | |
161 | template => 1, | |
58608c7c | 162 | cflags => '-WTandem_float', |
c60330cb RL |
163 | lflags => '-Wxld="-set floattype tandem_float"', |
164 | }, | |
165 | ||
166 | ###################################################################### | |
167 | # Build models | |
168 | 'nonstop-model-put' => { | |
169 | template => 1, | |
170 | defines => ['_PUT_MODEL_', | |
650c6687 | 171 | '_REENTRANT', '_THREAD_SUPPORT_FUNCTIONS'], |
c60330cb RL |
172 | ex_libs => '-lput', |
173 | }, | |
174 | 'nonstop-model-spt' => { | |
175 | template => 1, | |
176 | defines => ['_SPT_MODEL_', | |
650c6687 | 177 | '_REENTRANT', '_ENABLE_FLOSS_THREADS'], |
c60330cb RL |
178 | ex_libs => '-lspt', |
179 | }, | |
180 | ||
181 | # Additional floss model that can be combined with any of the other models. | |
182 | # If used without any of the other models, the entry that does so must | |
183 | # disable threads. | |
184 | 'nonstop-model-floss' => { | |
185 | template => 1, | |
186 | defines => ['OPENSSL_TANDEM_FLOSS'], | |
187 | includes => ['/usr/local/include'], | |
188 | ex_libs => '-lfloss', | |
189 | }, | |
190 | ||
191 | ###################################################################### | |
7a032be7 | 192 | # Now for the entries themselves, let's combine things! |
c60330cb RL |
193 | 'nonstop-nsx' => { |
194 | inherit_from => [ 'nonstop-common', | |
195 | 'nonstop-archenv-x86_64-oss', | |
58608c7c | 196 | 'nonstop-ilp32', |
769302a6 | 197 | 'nonstop-efloat-x86_64' ], |
c60330cb RL |
198 | disable => ['threads'], |
199 | }, | |
200 | 'nonstop-nsx_put' => { | |
201 | inherit_from => [ 'nonstop-common', | |
202 | 'nonstop-archenv-x86_64-oss', | |
58608c7c RB |
203 | 'nonstop-ilp32', |
204 | 'nonstop-efloat-x86_64', | |
c60330cb RL |
205 | 'nonstop-model-put' ], |
206 | }, | |
207 | 'nonstop-nsx_64' => { | |
208 | inherit_from => [ 'nonstop-common', | |
209 | 'nonstop-archenv-x86_64-oss', | |
58608c7c | 210 | 'nonstop-lp64-x86_64', |
769302a6 | 211 | 'nonstop-efloat-x86_64' ], |
c60330cb RL |
212 | disable => ['threads'], |
213 | }, | |
214 | 'nonstop-nsx_64_put' => { | |
215 | inherit_from => [ 'nonstop-common', | |
216 | 'nonstop-archenv-x86_64-oss', | |
58608c7c RB |
217 | 'nonstop-lp64-x86_64', |
218 | 'nonstop-efloat-x86_64', | |
c60330cb RL |
219 | 'nonstop-model-put' ], |
220 | }, | |
221 | 'nonstop-nsx_spt' => { | |
222 | inherit_from => [ 'nonstop-common', | |
223 | 'nonstop-archenv-x86_64-oss', | |
58608c7c RB |
224 | 'nonstop-ilp32', |
225 | 'nonstop-efloat-x86_64', | |
c60330cb RL |
226 | 'nonstop-model-spt' ], |
227 | }, | |
228 | 'nonstop-nsx_spt_floss' => { | |
229 | inherit_from => [ 'nonstop-common', | |
230 | 'nonstop-archenv-x86_64-oss', | |
58608c7c RB |
231 | 'nonstop-ilp32', |
232 | 'nonstop-efloat-x86_64', | |
769302a6 RB |
233 | 'nonstop-model-floss', |
234 | 'nonstop-model-spt'], | |
c60330cb RL |
235 | }, |
236 | 'nonstop-nsx_g' => { | |
237 | inherit_from => [ 'nonstop-common', | |
238 | 'nonstop-archenv-x86_64-guardian', | |
239 | 'nonstop-ilp32', 'nonstop-nfloat-x86_64' ], | |
240 | disable => ['threads'], | |
241 | }, | |
242 | 'nonstop-nsx_g_tandem' => { | |
243 | inherit_from => [ 'nonstop-common', | |
244 | 'nonstop-archenv-x86_64-guardian', | |
245 | 'nonstop-ilp32', 'nonstop-tfloat-x86_64' ], | |
246 | disable => ['threads'], | |
247 | }, | |
248 | 'nonstop-nsv' => { | |
249 | inherit_from => [ 'nonstop-nsx' ], | |
250 | }, | |
251 | 'nonstop-nse' => { | |
252 | inherit_from => [ 'nonstop-common', | |
253 | 'nonstop-archenv-itanium-oss', | |
58608c7c | 254 | 'nonstop-ilp32', |
769302a6 | 255 | 'nonstop-efloat-itanium' ], |
c60330cb RL |
256 | disable => ['threads'], |
257 | }, | |
258 | 'nonstop-nse_put' => { | |
259 | inherit_from => [ 'nonstop-common', | |
260 | 'nonstop-archenv-itanium-oss', | |
58608c7c RB |
261 | 'nonstop-ilp32', |
262 | 'nonstop-efloat-itanium', | |
c60330cb RL |
263 | 'nonstop-model-put' ], |
264 | }, | |
265 | 'nonstop-nse_64' => { | |
266 | inherit_from => [ 'nonstop-common', | |
267 | 'nonstop-archenv-itanium-oss', | |
58608c7c | 268 | 'nonstop-lp64-itanium', |
769302a6 | 269 | 'nonstop-efloat-itanium' ], |
c60330cb RL |
270 | disable => ['threads'], |
271 | }, | |
272 | 'nonstop-nse_64_put' => { | |
273 | inherit_from => [ 'nonstop-common', | |
274 | 'nonstop-archenv-itanium-oss', | |
58608c7c RB |
275 | 'nonstop-lp64-itanium', |
276 | 'nonstop-efloat-itanium', | |
c60330cb RL |
277 | 'nonstop-model-put' ], |
278 | }, | |
279 | 'nonstop-nse_spt' => { | |
280 | inherit_from => [ 'nonstop-common', | |
281 | 'nonstop-archenv-itanium-oss', | |
58608c7c RB |
282 | 'nonstop-ilp32', |
283 | 'nonstop-efloat-itanium', | |
c60330cb RL |
284 | 'nonstop-model-spt' ], |
285 | }, | |
286 | 'nonstop-nse_spt_floss' => { | |
287 | inherit_from => [ 'nonstop-common', | |
288 | 'nonstop-archenv-itanium-oss', | |
58608c7c RB |
289 | 'nonstop-ilp32', |
290 | 'nonstop-efloat-itanium', | |
c60330cb RL |
291 | 'nonstop-model-floss', 'nonstop-model-spt' ], |
292 | }, | |
293 | 'nonstop-nse_g' => { | |
294 | inherit_from => [ 'nonstop-common', | |
295 | 'nonstop-archenv-itanium-guardian', | |
296 | 'nonstop-ilp32', 'nonstop-nfloat-itanium' ], | |
297 | disable => ['threads'], | |
08073700 RB |
298 | }, |
299 | ||
c60330cb RL |
300 | 'nonstop-nse_g_tandem' => { |
301 | inherit_from => [ 'nonstop-common', | |
302 | 'nonstop-archenv-itanium-guardian', | |
303 | 'nonstop-ilp32', 'nonstop-tfloat-itanium' ], | |
304 | disable => ['threads'], | |
08073700 | 305 | }, |