build.info 12.9 KB
Newer Older
M
Matt Caswell 已提交
1
IF[{- !$disabled{tests} -}]
2
  PROGRAMS_NO_INST=\
M
Matt Caswell 已提交
3
          aborttest \
R
Rich Salz 已提交
4
          sanitytest bntest \
M
Matt Caswell 已提交
5 6 7 8 9 10 11 12
          ectest ecdsatest ecdhtest gmdifftest pbelutest ideatest \
          md2test md4test md5test \
          hmactest wp_test \
          rc2test rc4test rc5test \
          destest sha1test sha256t sha512t \
          mdc2test rmdtest \
          randtest dhtest enginetest casttest \
          bftest ssltest_old dsatest exptest rsa_test \
R
Rich Salz 已提交
13
          evp_test evp_extra_test igetest v3nametest v3ext \
14
          danetest heartbeat_test p5_crpt2_test bad_dtls_test \
M
Matt Caswell 已提交
15 16 17
          constant_time_test verify_extra_test clienthellotest \
          packettest asynctest secmemtest srptest memleaktest \
          dtlsv1listentest ct_test threadstest afalgtest d2i_test \
18
          ssl_test_ctx_test ssl_test x509aux cipherlist_test asynciotest \
A
Andy Polyakov 已提交
19
          bioprinttest sslapitest dtlstest bio_enc_test
M
Matt Caswell 已提交
20 21

  SOURCE[aborttest]=aborttest.c
22
  INCLUDE[aborttest]=../include
M
Matt Caswell 已提交
23 24
  DEPEND[aborttest]=../libcrypto

R
Rich Salz 已提交
25 26 27
  SOURCE[sanitytest]=sanitytest.c
  INCLUDE[sanitytest]=../include
  DEPEND[sanitytest]=../libcrypto
M
Matt Caswell 已提交
28 29

  SOURCE[bntest]=bntest.c
30
  INCLUDE[bntest]=.. ../crypto/include ../include
M
Matt Caswell 已提交
31 32 33
  DEPEND[bntest]=../libcrypto

  SOURCE[ectest]=ectest.c
34
  INCLUDE[ectest]=../include
M
Matt Caswell 已提交
35 36 37
  DEPEND[ectest]=../libcrypto

  SOURCE[ecdsatest]=ecdsatest.c
38
  INCLUDE[ecdsatest]=../include
M
Matt Caswell 已提交
39 40 41
  DEPEND[ecdsatest]=../libcrypto

  SOURCE[ecdhtest]=ecdhtest.c
42
  INCLUDE[ecdhtest]=../include
M
Matt Caswell 已提交
43 44 45
  DEPEND[ecdhtest]=../libcrypto

  SOURCE[gmdifftest]=gmdifftest.c
46
  INCLUDE[gmdifftest]=../include
M
Matt Caswell 已提交
47 48 49
  DEPEND[gmdifftest]=../libcrypto

  SOURCE[pbelutest]=pbelutest.c
50
  INCLUDE[pbelutest]=../include
M
Matt Caswell 已提交
51 52 53
  DEPEND[pbelutest]=../libcrypto

  SOURCE[ideatest]=ideatest.c
54
  INCLUDE[ideatest]=../include
M
Matt Caswell 已提交
55 56 57
  DEPEND[ideatest]=../libcrypto

  SOURCE[md2test]=md2test.c
58
  INCLUDE[md2test]=../include
M
Matt Caswell 已提交
59 60 61
  DEPEND[md2test]=../libcrypto

  SOURCE[md4test]=md4test.c
62
  INCLUDE[md4test]=../include
M
Matt Caswell 已提交
63 64 65
  DEPEND[md4test]=../libcrypto

  SOURCE[md5test]=md5test.c
66
  INCLUDE[md5test]=../include
M
Matt Caswell 已提交
67 68 69
  DEPEND[md5test]=../libcrypto

  SOURCE[hmactest]=hmactest.c
70
  INCLUDE[hmactest]=../include
M
Matt Caswell 已提交
71 72 73
  DEPEND[hmactest]=../libcrypto

  SOURCE[wp_test]=wp_test.c
74
  INCLUDE[wp_test]=../include
M
Matt Caswell 已提交
75 76 77
  DEPEND[wp_test]=../libcrypto

  SOURCE[rc2test]=rc2test.c
78
  INCLUDE[rc2test]=../include
M
Matt Caswell 已提交
79 80 81
  DEPEND[rc2test]=../libcrypto

  SOURCE[rc4test]=rc4test.c
82
  INCLUDE[rc4test]=../include
M
Matt Caswell 已提交
83 84 85
  DEPEND[rc4test]=../libcrypto

  SOURCE[rc5test]=rc5test.c
86
  INCLUDE[rc5test]=../include
M
Matt Caswell 已提交
87 88 89
  DEPEND[rc5test]=../libcrypto

  SOURCE[destest]=destest.c
90
  INCLUDE[destest]=../include
M
Matt Caswell 已提交
91 92 93
  DEPEND[destest]=../libcrypto

  SOURCE[sha1test]=sha1test.c
94
  INCLUDE[sha1test]=../include
M
Matt Caswell 已提交
95 96 97
  DEPEND[sha1test]=../libcrypto

  SOURCE[sha256t]=sha256t.c
98
  INCLUDE[sha256t]=../include
M
Matt Caswell 已提交
99 100 101
  DEPEND[sha256t]=../libcrypto

  SOURCE[sha512t]=sha512t.c
102
  INCLUDE[sha512t]=../include
M
Matt Caswell 已提交
103 104 105
  DEPEND[sha512t]=../libcrypto

  SOURCE[mdc2test]=mdc2test.c
106
  INCLUDE[mdc2test]=../include
M
Matt Caswell 已提交
107 108 109
  DEPEND[mdc2test]=../libcrypto

  SOURCE[rmdtest]=rmdtest.c
110
  INCLUDE[rmdtest]=../include
M
Matt Caswell 已提交
111 112 113
  DEPEND[rmdtest]=../libcrypto

  SOURCE[randtest]=randtest.c
114
  INCLUDE[randtest]=../include
M
Matt Caswell 已提交
115
  DEPEND[randtest]=../libcrypto
116

M
Matt Caswell 已提交
117
  SOURCE[dhtest]=dhtest.c
118
  INCLUDE[dhtest]=../include
M
Matt Caswell 已提交
119
  DEPEND[dhtest]=../libcrypto
120

M
Matt Caswell 已提交
121
  SOURCE[enginetest]=enginetest.c
122
  INCLUDE[enginetest]=../include
M
Matt Caswell 已提交
123
  DEPEND[enginetest]=../libcrypto
124

M
Matt Caswell 已提交
125
  SOURCE[casttest]=casttest.c
126
  INCLUDE[casttest]=../include
M
Matt Caswell 已提交
127
  DEPEND[casttest]=../libcrypto
128

M
Matt Caswell 已提交
129
  SOURCE[bftest]=bftest.c
130
  INCLUDE[bftest]=../include
M
Matt Caswell 已提交
131
  DEPEND[bftest]=../libcrypto
132

M
Matt Caswell 已提交
133
  SOURCE[ssltest_old]=ssltest_old.c
134
  INCLUDE[ssltest_old]=.. ../include
M
Matt Caswell 已提交
135
  DEPEND[ssltest_old]=../libcrypto ../libssl
136

M
Matt Caswell 已提交
137
  SOURCE[dsatest]=dsatest.c
138
  INCLUDE[dsatest]=../include
M
Matt Caswell 已提交
139
  DEPEND[dsatest]=../libcrypto
140

M
Matt Caswell 已提交
141
  SOURCE[exptest]=exptest.c
142
  INCLUDE[exptest]=../include
M
Matt Caswell 已提交
143
  DEPEND[exptest]=../libcrypto
144

M
Matt Caswell 已提交
145
  SOURCE[rsa_test]=rsa_test.c
146
  INCLUDE[rsa_test]=.. ../include
M
Matt Caswell 已提交
147
  DEPEND[rsa_test]=../libcrypto
148

M
Matt Caswell 已提交
149
  SOURCE[evp_test]=evp_test.c
150
  INCLUDE[evp_test]=../include
M
Matt Caswell 已提交
151
  DEPEND[evp_test]=../libcrypto
152

M
Matt Caswell 已提交
153
  SOURCE[evp_extra_test]=evp_extra_test.c
154
  INCLUDE[evp_extra_test]=../include
M
Matt Caswell 已提交
155
  DEPEND[evp_extra_test]=../libcrypto
156

M
Matt Caswell 已提交
157
  SOURCE[igetest]=igetest.c
158
  INCLUDE[igetest]=.. ../include
M
Matt Caswell 已提交
159
  DEPEND[igetest]=../libcrypto
160

M
Matt Caswell 已提交
161
  SOURCE[v3nametest]=v3nametest.c
162
  INCLUDE[v3nametest]=../include
M
Matt Caswell 已提交
163
  DEPEND[v3nametest]=../libcrypto
164

R
Rich Salz 已提交
165
  SOURCE[v3ext]=v3ext.c
166
  INCLUDE[v3ext]=../include
R
Rich Salz 已提交
167 168
  DEPEND[v3ext]=../libcrypto

M
Matt Caswell 已提交
169
  SOURCE[danetest]=danetest.c
170
  INCLUDE[danetest]=../include
M
Matt Caswell 已提交
171
  DEPEND[danetest]=../libcrypto ../libssl
172

M
Matt Caswell 已提交
173
  SOURCE[heartbeat_test]=heartbeat_test.c testutil.c
174
  INCLUDE[heartbeat_test]=.. ../include
M
Matt Caswell 已提交
175
  DEPEND[heartbeat_test]=../libcrypto ../libssl
176

M
Matt Caswell 已提交
177
  SOURCE[p5_crpt2_test]=p5_crpt2_test.c
178
  INCLUDE[p5_crpt2_test]=../include
M
Matt Caswell 已提交
179
  DEPEND[p5_crpt2_test]=../libcrypto
180

M
Matt Caswell 已提交
181
  SOURCE[constant_time_test]=constant_time_test.c
182
  INCLUDE[constant_time_test]=.. ../include
M
Matt Caswell 已提交
183
  DEPEND[constant_time_test]=../libcrypto
184

M
Matt Caswell 已提交
185
  SOURCE[verify_extra_test]=verify_extra_test.c
186
  INCLUDE[verify_extra_test]=../include
M
Matt Caswell 已提交
187
  DEPEND[verify_extra_test]=../libcrypto
188

M
Matt Caswell 已提交
189
  SOURCE[clienthellotest]=clienthellotest.c
190
  INCLUDE[clienthellotest]=../include
M
Matt Caswell 已提交
191
  DEPEND[clienthellotest]=../libcrypto ../libssl
192

193
  SOURCE[bad_dtls_test]=bad_dtls_test.c
194
  INCLUDE[bad_dtls_test]=../include
195 196
  DEPEND[bad_dtls_test]=../libcrypto ../libssl

M
Matt Caswell 已提交
197
  SOURCE[packettest]=packettest.c
198
  INCLUDE[packettest]=../include
M
Matt Caswell 已提交
199
  DEPEND[packettest]=../libcrypto
200

M
Matt Caswell 已提交
201
  SOURCE[asynctest]=asynctest.c
202
  INCLUDE[asynctest]=.. ../include
M
Matt Caswell 已提交
203
  DEPEND[asynctest]=../libcrypto
204

M
Matt Caswell 已提交
205
  SOURCE[secmemtest]=secmemtest.c
206
  INCLUDE[secmemtest]=../include
M
Matt Caswell 已提交
207
  DEPEND[secmemtest]=../libcrypto
208

M
Matt Caswell 已提交
209
  SOURCE[srptest]=srptest.c
210
  INCLUDE[srptest]=../include
M
Matt Caswell 已提交
211
  DEPEND[srptest]=../libcrypto
212

M
Matt Caswell 已提交
213
  SOURCE[memleaktest]=memleaktest.c
214
  INCLUDE[memleaktest]=../include
M
Matt Caswell 已提交
215
  DEPEND[memleaktest]=../libcrypto
216

M
Matt Caswell 已提交
217
  SOURCE[dtlsv1listentest]=dtlsv1listentest.c
218
  INCLUDE[dtlsv1listentest]=.. ../include
M
Matt Caswell 已提交
219
  DEPEND[dtlsv1listentest]=../libssl
R
Rich Salz 已提交
220

M
Matt Caswell 已提交
221
  SOURCE[ct_test]=ct_test.c testutil.c
222
  INCLUDE[ct_test]=../crypto/include ../include
M
Matt Caswell 已提交
223
  DEPEND[ct_test]=../libcrypto
224

M
Matt Caswell 已提交
225
  SOURCE[threadstest]=threadstest.c
226
  INCLUDE[threadstest]=.. ../include
M
Matt Caswell 已提交
227
  DEPEND[threadstest]=../libcrypto
228

M
Matt Caswell 已提交
229
  SOURCE[afalgtest]=afalgtest.c
230
  INCLUDE[afalgtest]=.. ../include
M
Matt Caswell 已提交
231
  DEPEND[afalgtest]=../libcrypto
C
clucey 已提交
232

M
Matt Caswell 已提交
233
  SOURCE[d2i_test]=d2i_test.c testutil.c
234
  INCLUDE[d2i_test]=.. ../include
M
Matt Caswell 已提交
235
  DEPEND[d2i_test]=../libcrypto
E
Emilia Kasper 已提交
236

M
Matt Caswell 已提交
237
  SOURCE[ssl_test_ctx_test]=ssl_test_ctx_test.c ssl_test_ctx.c testutil.c
238
  INCLUDE[ssl_test_ctx_test]=.. ../include
M
Matt Caswell 已提交
239
  DEPEND[ssl_test_ctx_test]=../libcrypto
E
Emilia Kasper 已提交
240

M
Matt Caswell 已提交
241
  SOURCE[ssl_test]=ssl_test.c ssl_test_ctx.c testutil.c handshake_helper.c
242
  INCLUDE[ssl_test]=.. ../include
M
Matt Caswell 已提交
243
  DEPEND[ssl_test]=../libcrypto ../libssl
E
Emilia Kasper 已提交
244

E
Emilia Kasper 已提交
245
  SOURCE[cipherlist_test]=cipherlist_test.c testutil.c
246
  INCLUDE[cipherlist_test]=.. ../include
E
Emilia Kasper 已提交
247 248
  DEPEND[cipherlist_test]=../libcrypto ../libssl

M
Matt Caswell 已提交
249
  INCLUDE[testutil.o]=..
250 251 252
  INCLUDE[ssl_test_ctx.o]=../include
  INCLUDE[handshake_helper.o]=../include
  INCLUDE[ssltestlib.o]=../include
253 254

  SOURCE[x509aux]=x509aux.c
255
  INCLUDE[x509aux]=../include
256
  DEPEND[x509aux]=../libcrypto
M
Matt Caswell 已提交
257

M
Matt Caswell 已提交
258
  SOURCE[asynciotest]=asynciotest.c ssltestlib.c
259
  INCLUDE[asynciotest]=../include
M
Matt Caswell 已提交
260
  DEPEND[asynciotest]=../libcrypto ../libssl
261 262

  SOURCE[bioprinttest]=bioprinttest.c
263
  INCLUDE[bioprinttest]=../include
264
  DEPEND[bioprinttest]=../libcrypto
265 266 267 268

  SOURCE[sslapitest]=sslapitest.c ssltestlib.c testutil.c
  INCLUDE[sslapitest]=../include
  DEPEND[sslapitest]=../libcrypto ../libssl
269 270 271 272

  SOURCE[dtlstest]=dtlstest.c ssltestlib.c testutil.c
  INCLUDE[dtlstest]=../include .
  DEPEND[dtlstest]=../libcrypto ../libssl
A
Andy Polyakov 已提交
273 274 275 276

  SOURCE[bio_enc_test]=bio_enc_test.c
  INCLUDE[bio_enc_test]=../include
  DEPEND[bio_enc_test]=../libcrypto
277

278 279 280 281 282 283 284
  IF[{- !$disabled{psk} -}]
    PROGRAMS_NO_INST=dtls_mtu_test
    SOURCE[dtls_mtu_test]=dtls_mtu_test.c ssltestlib.c
    INCLUDE[dtls_mtu_test]=.. ../include
    DEPEND[dtls_mtu_test]=../libcrypto ../libssl
  ENDIF

R
Richard Levitte 已提交
285
  IF[{- !$disabled{shared} -}]
286 287 288 289 290
    PROGRAMS_NO_INST=shlibloadtest
    SOURCE[shlibloadtest]=shlibloadtest.c
    INCLUDE[shlibloadtest]=../include
  ENDIF

291
  IF[{- $disabled{shared} -}]
292
    PROGRAMS_NO_INST=wpackettest cipher_overhead_test
293 294 295
    SOURCE[wpackettest]=wpackettest.c testutil.c
    INCLUDE[wpackettest]=../include
    DEPEND[wpackettest]=../libcrypto ../libssl
296 297 298 299

    SOURCE[cipher_overhead_test]=cipher_overhead_test.c
    INCLUDE[cipher_overhead_test]=.. ../include
    DEPEND[cipher_overhead_test]=../libcrypto ../libssl
300
  ENDIF
301

302 303 304 305 306 307 308 309 310 311 312 313 314 315 316
  # Internal test programs.  These are essentially a collection of internal
  # test routines.  Because they sometimes need to reach internal symbols that
  # aren't available through the shared library (at least on Linux, Solaris,
  # Windows and VMS, where the exported symbols are those listed in util/*.num),
  # these programs may be built on files directly picked from inside crypto/
  # or ssl/, to test using symbols that exist in those specific files.  These
  # programs will also be linked with libcrypto / libssl, so we don't pick
  # out more specific files than necessary.
  # This might mean we have multiply defined symbols, but since linking is
  # ordered with object files first and libraries after, the symbols from the
  # object files will be chosen before those in the libraries.  This is handled
  # properly by all linkers.
  # Note that when building with static libraries, none of those extra files
  # are needed, since all symbols are available anyway, regardless of what's
  # listed in util/*.num.
317
  PROGRAMS_NO_INST=asn1_internal_test modes_internal_test x509_internal_test
318 319 320
  IF[{- !$disabled{mdc2} -}]
    PROGRAMS_NO_INST=mdc2_internal_test
  ENDIF
321 322 323 324 325 326 327 328 329 330 331 332 333
  IF[{- !$disabled{poly1305} -}]
    PROGRAMS_NO_INST=poly1305_internal_test
  ENDIF

  SOURCE[poly1305_internal_test]=poly1305_internal_test.c testutil.c
  IF[{- !$disabled{shared} -}]
    SOURCE[poly1305_internal_test]= ../crypto/poly1305/poly1305.c \
        {- $target{poly1305_asm_src} ? "../crypto/poly1305/".$target{poly1305_asm_src} : "" -} \
        {- $target{cpuid_asm_src} ? "../crypto/".$target{cpuid_asm_src} : "" -} \
        ../crypto/cryptlib.c
  ENDIF
  INCLUDE[poly1305_internal_test]=.. ../include ../crypto/include
  DEPEND[poly1305_internal_test]=../libcrypto
334 335 336 337 338 339 340 341 342 343 344

  SOURCE[asn1_internal_test]=asn1_internal_test.c testutil.c
  IF[{- !$disabled{shared} -}]
    SOURCE[asn1_internal_test]= ../crypto/asn1/a_strnid.c \
        ../crypto/rsa/rsa_ameth.c ../crypto/dsa/dsa_ameth.c \
        ../crypto/dh/dh_ameth.c ../crypto/ec/ec_ameth.c \
        ../crypto/hmac/hm_ameth.c ../crypto/cmac/cm_ameth.c \
        ../crypto/ec/ecx_meth.c ../crypto/ec/curve25519.c
  ENDIF
  INCLUDE[asn1_internal_test]=.. ../include ../crypto/include
  DEPEND[asn1_internal_test]=../libcrypto
345 346 347 348 349 350 351 352 353 354

  SOURCE[modes_internal_test]=modes_internal_test.c testutil.c
  IF[{- !$disabled{shared} -}]
    SOURCE[modes_internal_test]= {- $target{cpuid_asm_src}
                                    ? "../crypto/".$target{cpuid_asm_src}
                                    : "" -} \
        ../crypto/cryptlib.c
  ENDIF
  INCLUDE[modes_internal_test]=.. ../include
  DEPEND[modes_internal_test]=../libcrypto
355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376

  # The reason for the huge amount of directly included x509v3 files
  # is that a table that is checked by x509_internal_test refers to
  # structures that are spread all over those files.
  SOURCE[x509_internal_test]=x509_internal_test.c testutil.c
  IF[{- !$disabled{shared} -}]
    SOURCE[x509_internal_test]= ../crypto/x509v3/v3_bitst.c \
        ../crypto/x509v3/v3_ia5.c ../crypto/x509v3/v3_skey.c \
        ../crypto/x509v3/v3_pku.c ../crypto/x509v3/v3_alt.c \
        ../crypto/x509v3/v3_bcons.c ../crypto/x509v3/v3_int.c \
        ../crypto/x509v3/v3_cpols.c ../crypto/x509v3/v3_akey.c \
        ../crypto/x509v3/v3_crld.c ../crypto/x509v3/v3_utl.c \
        ../crypto/x509v3/v3_extku.c ../crypto/x509v3/v3_enum.c \
        ../crypto/x509v3/v3_sxnet.c ../crypto/x509v3/v3_info.c \
        ../crypto/x509v3/v3_addr.c ../crypto/x509v3/v3_asid.c \
        ../crypto/x509v3/v3_pcons.c ../crypto/x509v3/v3_pmaps.c \
        ../crypto/x509v3/v3_pci.c ../crypto/x509v3/v3_ncons.c \
        ../crypto/x509v3/v3_tlsf.c ../crypto/ocsp/v3_ocsp.c \
        ../crypto/ct/ct_x509v3.c ../crypto/asn1/a_strex.c
  ENDIF
  INCLUDE[x509_internal_test]=.. ../include
  DEPEND[x509_internal_test]=../libcrypto
377 378 379 380

  SOURCE[mdc2_internal_test]=mdc2_internal_test.c testutil.c
  INCLUDE[mdc2_internal_test]=.. ../include
  DEPEND[mdc2_internal_test]=../libcrypto
381 382 383
ENDIF

{-
384
   use File::Spec::Functions;
385 386 387 388 389 390 391 392 393 394 395 396 397 398 399
   use File::Basename;
   use if $^O ne "VMS", 'File::Glob' => qw/glob/;

   my @nogo_headers = ( "asn1_mac.h",
                        "__decc_include_prologue.h",
                        "__decc_include_epilogue.h" );
   my @headerfiles = glob catfile($sourcedir,
                                  updir(), "include", "openssl", "*.h");

   foreach my $headerfile (@headerfiles) {
       my $name = basename($headerfile, ".h");
       next if $disabled{$name};
       next if grep { $_ eq lc("$name.h") } @nogo_headers;
       $OUT .= <<"_____";

400
  PROGRAMS_NO_INST=buildtest_$name
401 402
  GENERATE[buildtest_$name.c]=generate_buildtest.pl $name
  SOURCE[buildtest_$name]=buildtest_$name.c
403
  INCLUDE[buildtest_$name]=../include
404 405 406
  DEPEND[buildtest_$name]=../libssl ../libcrypto
_____
   }
407
-}