]>
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', | |
19 | shared_target => 'self', | |
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"', | |
53 | shared_ldflag => '-Wshared -Wld="-export_all -soname $(@:lib%.so=%)"', | |
e07a7892 | 54 | shared_argfileflag => '-Wld_obey=', |
c60330cb RL |
55 | }, |
56 | ||
57 | # Itanium + guardian: | |
58 | 'nonstop-archenv-itanium-guardian' => { | |
59 | template => 1, | |
60 | defines => ['NO_GETPID', '_TANDEM_ARCH=2'], | |
61 | cflags => '-Wtarget=tns/e -Wsystype=guardian', | |
62 | lflags => '-Weld="-set systype guardian"', | |
63 | shared_ldflag => '-Wshared -Weld="-export_all -soname $(@:lib%.so=%)"', | |
e07a7892 | 64 | shared_argfileflag => '-Weld_obey=', |
c60330cb RL |
65 | }, |
66 | ||
67 | # x86 + guardian: | |
68 | 'nonstop-archenv-x86_64-guardian' => { | |
69 | template => 1, | |
70 | defines => ['NO_GETPID', '_TANDEM_ARCH=3'], | |
71 | cflags => '-Wtarget=tns/x -Wsystype=guardian', | |
72 | lflags => '-Wxld="-set systype guardian"', | |
73 | shared_ldflag => '-Wshared -Wxld="-export_all -soname $(@:lib%.so=%)"', | |
e07a7892 | 74 | shared_argfileflag => '-Wxld_obey=', |
c60330cb RL |
75 | }, |
76 | ||
77 | # MIPS + oss (unused but present for convenience): | |
78 | 'nonstop-archenv-mips-oss' => { | |
79 | template => 1, | |
80 | cflags => '-Wtarget=tns/r -Wsystype=oss', | |
81 | lflags => '-Wld="-set systype oss"', | |
82 | shared_ldflag => '-Wshared -Wld="-export_all"', | |
e07a7892 | 83 | shared_argfileflag => '-Wld_obey=', |
c60330cb RL |
84 | }, |
85 | # Itanium + oss: | |
86 | 'nonstop-archenv-itanium-oss' => { | |
87 | template => 1, | |
88 | defines => ['_TANDEM_ARCH=2'], | |
89 | cflags => '-Wtarget=tns/e -Wsystype=oss', | |
90 | lflags => '-Weld="-set systype oss"', | |
91 | shared_ldflag => '-Wshared -Weld="-export_all"', | |
e07a7892 | 92 | shared_argfileflag => '-Weld_obey=', |
c60330cb RL |
93 | }, |
94 | # x86_64 + oss: | |
95 | 'nonstop-archenv-x86_64-oss' => { | |
96 | template => 1, | |
97 | defines => ['_TANDEM_ARCH=3'], | |
98 | cflags => '-Wtarget=tns/x -Wsystype=oss', | |
99 | lflags => '-Wxld="-set systype oss"', | |
100 | shared_ldflag => '-Wshared -Wxld="-export_all"', | |
e07a7892 | 101 | shared_argfileflag => '-Wxld_obey=', |
c60330cb RL |
102 | }, |
103 | ||
104 | # Size variants | |
105 | 'nonstop-ilp32' => { | |
106 | template => 1, | |
107 | cflags => '-Wilp32', | |
108 | bn_ops => 'THIRTY_TWO_BIT', | |
109 | }, | |
110 | 'nonstop-lp64-itanium' => { | |
111 | template => 1, | |
112 | cflags => '-Wlp64', | |
113 | bn_ops => 'SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR', | |
114 | }, | |
115 | 'nonstop-lp64-x86_64' => { | |
116 | template => 1, | |
117 | cflags => '-Wlp64', | |
118 | lflags => '-Wxld="-set data_model lp64"', | |
119 | bn_ops => 'SIXTY_FOUR_BIT', | |
120 | }, | |
121 | ||
122 | # Float variants | |
123 | 'nonstop-nfloat-mips' => { | |
124 | template => 1, | |
125 | lflags => '-Wld="-set floattype neutral_float"', | |
126 | }, | |
127 | 'nonstop-tfloat-mips' => { | |
128 | template => 1, | |
129 | lflags => '-Wld="-set floattype tandem_float"', | |
130 | }, | |
131 | 'nonstop-nfloat-itanium' => { | |
132 | template => 1, | |
133 | lflags => '-Weld="-set floattype neutral_float"', | |
134 | }, | |
135 | 'nonstop-tfloat-itanium' => { | |
136 | template => 1, | |
137 | lflags => '-Weld="-set floattype tandem_float"', | |
138 | }, | |
139 | 'nonstop-nfloat-x86_64' => { | |
140 | template => 1, | |
141 | lflags => '-Wxld="-set floattype neutral_float"', | |
142 | }, | |
143 | 'nonstop-tfloat-x86_64' => { | |
144 | template => 1, | |
145 | lflags => '-Wxld="-set floattype tandem_float"', | |
146 | }, | |
147 | ||
148 | ###################################################################### | |
149 | # Build models | |
150 | 'nonstop-model-put' => { | |
151 | template => 1, | |
152 | defines => ['_PUT_MODEL_', | |
153 | '_REENTRANT', '_ENABLE_FLOSS_THREADS'], | |
154 | ex_libs => '-lput', | |
155 | }, | |
156 | 'nonstop-model-spt' => { | |
157 | template => 1, | |
158 | defines => ['_SPT_MODEL_', | |
159 | '_REENTRANT', '_THREAD_SUPPORT_FUNCTIONS'], | |
160 | ex_libs => '-lspt', | |
161 | }, | |
162 | ||
163 | # Additional floss model that can be combined with any of the other models. | |
164 | # If used without any of the other models, the entry that does so must | |
165 | # disable threads. | |
166 | 'nonstop-model-floss' => { | |
167 | template => 1, | |
168 | defines => ['OPENSSL_TANDEM_FLOSS'], | |
169 | includes => ['/usr/local/include'], | |
170 | ex_libs => '-lfloss', | |
171 | }, | |
172 | ||
173 | ###################################################################### | |
174 | # Now for the entried themselves, let's combine things! | |
175 | 'nonstop-nsx' => { | |
176 | inherit_from => [ 'nonstop-common', | |
177 | 'nonstop-archenv-x86_64-oss', | |
178 | 'nonstop-ilp32', 'nonstop-nfloat-x86_64', | |
179 | 'nonstop-model-floss' ], | |
180 | disable => ['threads'], | |
181 | }, | |
182 | 'nonstop-nsx_put' => { | |
183 | inherit_from => [ 'nonstop-common', | |
184 | 'nonstop-archenv-x86_64-oss', | |
185 | 'nonstop-ilp32', 'nonstop-nfloat-x86_64', | |
186 | 'nonstop-model-put' ], | |
187 | }, | |
188 | 'nonstop-nsx_64' => { | |
189 | inherit_from => [ 'nonstop-common', | |
190 | 'nonstop-archenv-x86_64-oss', | |
191 | 'nonstop-lp64-x86_64', 'nonstop-nfloat-x86_64', | |
192 | 'nonstop-model-floss' ], | |
193 | disable => ['threads'], | |
194 | }, | |
195 | 'nonstop-nsx_64_put' => { | |
196 | inherit_from => [ 'nonstop-common', | |
197 | 'nonstop-archenv-x86_64-oss', | |
198 | 'nonstop-lp64-x86_64', 'nonstop-nfloat-x86_64', | |
199 | 'nonstop-model-put' ], | |
200 | }, | |
201 | 'nonstop-nsx_spt' => { | |
202 | inherit_from => [ 'nonstop-common', | |
203 | 'nonstop-archenv-x86_64-oss', | |
204 | 'nonstop-ilp32', 'nonstop-nfloat-x86_64', | |
205 | 'nonstop-model-spt' ], | |
206 | }, | |
207 | 'nonstop-nsx_spt_floss' => { | |
208 | inherit_from => [ 'nonstop-common', | |
209 | 'nonstop-archenv-x86_64-oss', | |
210 | 'nonstop-ilp32', 'nonstop-nfloat-x86_64', | |
211 | 'nonstop-model-floss', 'nonstop-model-spt'], | |
212 | }, | |
213 | 'nonstop-nsx_g' => { | |
214 | inherit_from => [ 'nonstop-common', | |
215 | 'nonstop-archenv-x86_64-guardian', | |
216 | 'nonstop-ilp32', 'nonstop-nfloat-x86_64' ], | |
217 | disable => ['threads'], | |
218 | }, | |
219 | 'nonstop-nsx_g_tandem' => { | |
220 | inherit_from => [ 'nonstop-common', | |
221 | 'nonstop-archenv-x86_64-guardian', | |
222 | 'nonstop-ilp32', 'nonstop-tfloat-x86_64' ], | |
223 | disable => ['threads'], | |
224 | }, | |
225 | 'nonstop-nsv' => { | |
226 | inherit_from => [ 'nonstop-nsx' ], | |
227 | }, | |
228 | 'nonstop-nse' => { | |
229 | inherit_from => [ 'nonstop-common', | |
230 | 'nonstop-archenv-itanium-oss', | |
231 | 'nonstop-ilp32', 'nonstop-nfloat-itanium', | |
232 | 'nonstop-model-floss' ], | |
233 | disable => ['threads'], | |
234 | }, | |
235 | 'nonstop-nse_put' => { | |
236 | inherit_from => [ 'nonstop-common', | |
237 | 'nonstop-archenv-itanium-oss', | |
238 | 'nonstop-ilp32', 'nonstop-nfloat-itanium', | |
239 | 'nonstop-model-put' ], | |
240 | }, | |
241 | 'nonstop-nse_64' => { | |
242 | inherit_from => [ 'nonstop-common', | |
243 | 'nonstop-archenv-itanium-oss', | |
244 | 'nonstop-lp64-itanium', 'nonstop-nfloat-itanium', | |
245 | 'nonstop-model-floss' ], | |
246 | disable => ['threads'], | |
247 | }, | |
248 | 'nonstop-nse_64_put' => { | |
249 | inherit_from => [ 'nonstop-common', | |
250 | 'nonstop-archenv-itanium-oss', | |
251 | 'nonstop-lp64-itanium', 'nonstop-nfloat-itanium', | |
252 | 'nonstop-model-put' ], | |
253 | }, | |
254 | 'nonstop-nse_spt' => { | |
255 | inherit_from => [ 'nonstop-common', | |
256 | 'nonstop-archenv-itanium-oss', | |
257 | 'nonstop-ilp32', 'nonstop-nfloat-itanium', | |
258 | 'nonstop-model-spt' ], | |
259 | }, | |
260 | 'nonstop-nse_spt_floss' => { | |
261 | inherit_from => [ 'nonstop-common', | |
262 | 'nonstop-archenv-itanium-oss', | |
263 | 'nonstop-ilp32', 'nonstop-nfloat-itanium', | |
264 | 'nonstop-model-floss', 'nonstop-model-spt' ], | |
265 | }, | |
266 | 'nonstop-nse_g' => { | |
267 | inherit_from => [ 'nonstop-common', | |
268 | 'nonstop-archenv-itanium-guardian', | |
269 | 'nonstop-ilp32', 'nonstop-nfloat-itanium' ], | |
270 | disable => ['threads'], | |
08073700 RB |
271 | }, |
272 | ||
c60330cb RL |
273 | 'nonstop-nse_g_tandem' => { |
274 | inherit_from => [ 'nonstop-common', | |
275 | 'nonstop-archenv-itanium-guardian', | |
276 | 'nonstop-ilp32', 'nonstop-tfloat-itanium' ], | |
277 | disable => ['threads'], | |
08073700 | 278 | }, |