]>
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 | }, | |
137 | 'nonstop-nfloat-itanium' => { | |
138 | template => 1, | |
139 | lflags => '-Weld="-set floattype neutral_float"', | |
140 | }, | |
141 | 'nonstop-tfloat-itanium' => { | |
142 | template => 1, | |
143 | lflags => '-Weld="-set floattype tandem_float"', | |
144 | }, | |
145 | 'nonstop-nfloat-x86_64' => { | |
146 | template => 1, | |
147 | lflags => '-Wxld="-set floattype neutral_float"', | |
148 | }, | |
149 | 'nonstop-tfloat-x86_64' => { | |
150 | template => 1, | |
151 | lflags => '-Wxld="-set floattype tandem_float"', | |
152 | }, | |
153 | ||
154 | ###################################################################### | |
155 | # Build models | |
156 | 'nonstop-model-put' => { | |
157 | template => 1, | |
158 | defines => ['_PUT_MODEL_', | |
159 | '_REENTRANT', '_ENABLE_FLOSS_THREADS'], | |
160 | ex_libs => '-lput', | |
161 | }, | |
162 | 'nonstop-model-spt' => { | |
163 | template => 1, | |
164 | defines => ['_SPT_MODEL_', | |
165 | '_REENTRANT', '_THREAD_SUPPORT_FUNCTIONS'], | |
166 | ex_libs => '-lspt', | |
167 | }, | |
168 | ||
169 | # Additional floss model that can be combined with any of the other models. | |
170 | # If used without any of the other models, the entry that does so must | |
171 | # disable threads. | |
172 | 'nonstop-model-floss' => { | |
173 | template => 1, | |
174 | defines => ['OPENSSL_TANDEM_FLOSS'], | |
175 | includes => ['/usr/local/include'], | |
176 | ex_libs => '-lfloss', | |
177 | }, | |
178 | ||
179 | ###################################################################### | |
7a032be7 | 180 | # Now for the entries themselves, let's combine things! |
c60330cb RL |
181 | 'nonstop-nsx' => { |
182 | inherit_from => [ 'nonstop-common', | |
183 | 'nonstop-archenv-x86_64-oss', | |
184 | 'nonstop-ilp32', 'nonstop-nfloat-x86_64', | |
185 | 'nonstop-model-floss' ], | |
186 | disable => ['threads'], | |
187 | }, | |
188 | 'nonstop-nsx_put' => { | |
189 | inherit_from => [ 'nonstop-common', | |
190 | 'nonstop-archenv-x86_64-oss', | |
191 | 'nonstop-ilp32', 'nonstop-nfloat-x86_64', | |
192 | 'nonstop-model-put' ], | |
193 | }, | |
194 | 'nonstop-nsx_64' => { | |
195 | inherit_from => [ 'nonstop-common', | |
196 | 'nonstop-archenv-x86_64-oss', | |
197 | 'nonstop-lp64-x86_64', 'nonstop-nfloat-x86_64', | |
198 | 'nonstop-model-floss' ], | |
199 | disable => ['threads'], | |
200 | }, | |
201 | 'nonstop-nsx_64_put' => { | |
202 | inherit_from => [ 'nonstop-common', | |
203 | 'nonstop-archenv-x86_64-oss', | |
204 | 'nonstop-lp64-x86_64', 'nonstop-nfloat-x86_64', | |
205 | 'nonstop-model-put' ], | |
206 | }, | |
207 | 'nonstop-nsx_spt' => { | |
208 | inherit_from => [ 'nonstop-common', | |
209 | 'nonstop-archenv-x86_64-oss', | |
210 | 'nonstop-ilp32', 'nonstop-nfloat-x86_64', | |
211 | 'nonstop-model-spt' ], | |
212 | }, | |
213 | 'nonstop-nsx_spt_floss' => { | |
214 | inherit_from => [ 'nonstop-common', | |
215 | 'nonstop-archenv-x86_64-oss', | |
216 | 'nonstop-ilp32', 'nonstop-nfloat-x86_64', | |
217 | 'nonstop-model-floss', 'nonstop-model-spt'], | |
218 | }, | |
219 | 'nonstop-nsx_g' => { | |
220 | inherit_from => [ 'nonstop-common', | |
221 | 'nonstop-archenv-x86_64-guardian', | |
222 | 'nonstop-ilp32', 'nonstop-nfloat-x86_64' ], | |
223 | disable => ['threads'], | |
224 | }, | |
225 | 'nonstop-nsx_g_tandem' => { | |
226 | inherit_from => [ 'nonstop-common', | |
227 | 'nonstop-archenv-x86_64-guardian', | |
228 | 'nonstop-ilp32', 'nonstop-tfloat-x86_64' ], | |
229 | disable => ['threads'], | |
230 | }, | |
231 | 'nonstop-nsv' => { | |
232 | inherit_from => [ 'nonstop-nsx' ], | |
233 | }, | |
234 | 'nonstop-nse' => { | |
235 | inherit_from => [ 'nonstop-common', | |
236 | 'nonstop-archenv-itanium-oss', | |
237 | 'nonstop-ilp32', 'nonstop-nfloat-itanium', | |
238 | 'nonstop-model-floss' ], | |
239 | disable => ['threads'], | |
240 | }, | |
241 | 'nonstop-nse_put' => { | |
242 | inherit_from => [ 'nonstop-common', | |
243 | 'nonstop-archenv-itanium-oss', | |
244 | 'nonstop-ilp32', 'nonstop-nfloat-itanium', | |
245 | 'nonstop-model-put' ], | |
246 | }, | |
247 | 'nonstop-nse_64' => { | |
248 | inherit_from => [ 'nonstop-common', | |
249 | 'nonstop-archenv-itanium-oss', | |
250 | 'nonstop-lp64-itanium', 'nonstop-nfloat-itanium', | |
251 | 'nonstop-model-floss' ], | |
252 | disable => ['threads'], | |
253 | }, | |
254 | 'nonstop-nse_64_put' => { | |
255 | inherit_from => [ 'nonstop-common', | |
256 | 'nonstop-archenv-itanium-oss', | |
257 | 'nonstop-lp64-itanium', 'nonstop-nfloat-itanium', | |
258 | 'nonstop-model-put' ], | |
259 | }, | |
260 | 'nonstop-nse_spt' => { | |
261 | inherit_from => [ 'nonstop-common', | |
262 | 'nonstop-archenv-itanium-oss', | |
263 | 'nonstop-ilp32', 'nonstop-nfloat-itanium', | |
264 | 'nonstop-model-spt' ], | |
265 | }, | |
266 | 'nonstop-nse_spt_floss' => { | |
267 | inherit_from => [ 'nonstop-common', | |
268 | 'nonstop-archenv-itanium-oss', | |
269 | 'nonstop-ilp32', 'nonstop-nfloat-itanium', | |
270 | 'nonstop-model-floss', 'nonstop-model-spt' ], | |
271 | }, | |
272 | 'nonstop-nse_g' => { | |
273 | inherit_from => [ 'nonstop-common', | |
274 | 'nonstop-archenv-itanium-guardian', | |
275 | 'nonstop-ilp32', 'nonstop-nfloat-itanium' ], | |
276 | disable => ['threads'], | |
08073700 RB |
277 | }, |
278 | ||
c60330cb RL |
279 | 'nonstop-nse_g_tandem' => { |
280 | inherit_from => [ 'nonstop-common', | |
281 | 'nonstop-archenv-itanium-guardian', | |
282 | 'nonstop-ilp32', 'nonstop-tfloat-itanium' ], | |
283 | disable => ['threads'], | |
08073700 | 284 | }, |