3 # TODO: use ../apps/libapps.a instead of direct ../apps/lib source.
4 # This can't currently be done, because some of its units drag in too many
5 # unresolved references that don't apply here.
6 # Most of all, ../apps/lib/apps.c needs to be divided in smaller pieces to
9 # Auxiliary program source (copied from ../apps/build.info)
10 IF[{- $config{target} =~ /^(?:VC-|mingw)/ -}]
11 # It's called 'init', but doesn't have much 'init' in it...
12 $AUXLIBAPPSSRC=../apps/lib/win32_init.c
14 IF[{- $config{target} =~ /^vms-/ -}]
15 $AUXLIBAPPSSRC=../apps/lib/vms_term_sock.c ../apps/lib/vms_decc_argv.c
17 $LIBAPPSSRC=../apps/lib/opt.c $AUXLIBAPPSSRC
19 IF[{- !$disabled{tests} -}]
20 LIBS{noinst,has_main}=libtestutil.a
21 SOURCE[libtestutil.a]=testutil/basic_output.c testutil/output_helpers.c \
22 testutil/driver.c testutil/tests.c testutil/cb.c testutil/stanza.c \
23 testutil/format_output.c \
24 testutil/test_cleanup.c testutil/main.c testutil/testutil_init.c \
25 testutil/options.c testutil/test_options.c testutil/provider.c \
26 testutil/apps_mem.c testutil/random.c $LIBAPPSSRC
27 INCLUDE[libtestutil.a]=../include ../apps/include ..
28 DEPEND[libtestutil.a]=../libcrypto
33 aborttest test_test pkcs12_format_test \
34 sanitytest rsa_complex exdatatest bntest \
35 ectest ecstresstest gmdifftest pbelutest \
38 evp_pkey_provided_test evp_test evp_extra_test evp_extra_test2 \
39 evp_fetch_prov_test acvp_test evp_libctx_test ossl_store_test \
41 evp_pkey_provided_test evp_test evp_extra_test evp_extra_test2 \
42 evp_fetch_prov_test v3nametest v3ext \
43 crltest danetest bad_dtls_test lhash_test sparse_array_test \
44 conf_include_test params_api_test params_conversion_test \
45 constant_time_test verify_extra_test clienthellotest \
46 packettest asynctest secmemtest srptest memleaktest stack_test \
47 dtlsv1listentest ct_test threadstest afalgtest d2i_test \
48 ssl_test_ctx_test ssl_test x509aux cipherlist_test asynciotest \
49 bio_callback_test bio_memleak_test param_build_test \
50 bioprinttest sslapitest dtlstest sslcorrupttest \
51 bio_enc_test pkey_meth_test pkey_meth_kdf_test evp_kdf_test uitest \
53 asn1_encode_test asn1_decode_test asn1_string_table_test \
54 x509_time_test x509_dup_cert_test x509_check_cert_pkey_test \
55 recordlentest drbgtest rand_status_test sslbuffertest \
56 time_offset_test pemtest ssl_cert_table_internal_test ciphername_test \
57 http_test servername_test ocspapitest fatalerrtest tls13ccstest \
58 sysdefaulttest errtest ssl_ctx_test gosttest \
59 context_internal_test aesgcmtest params_test evp_pkey_dparams_test \
60 keymgmt_internal_test hexstr_test provider_status_test defltfips_test \
63 IF[{- !$disabled{'deprecated-3.0'} -}]
64 PROGRAMS{noinst}=enginetest
67 SOURCE[confdump]=confdump.c
68 INCLUDE[confdump]=../include ../apps/include
69 DEPEND[confdump]=../libcrypto
71 SOURCE[versions]=versions.c
72 INCLUDE[versions]=../include ../apps/include
73 DEPEND[versions]=../libcrypto
75 SOURCE[aborttest]=aborttest.c
76 INCLUDE[aborttest]=../include ../apps/include
77 DEPEND[aborttest]=../libcrypto
79 SOURCE[sanitytest]=sanitytest.c
80 INCLUDE[sanitytest]=../include ../apps/include
81 DEPEND[sanitytest]=../libcrypto libtestutil.a
83 SOURCE[rsa_complex]=rsa_complex.c
84 INCLUDE[rsa_complex]=../include ../apps/include
86 SOURCE[test_test]=test_test.c
87 INCLUDE[test_test]=../include ../apps/include
88 DEPEND[test_test]=../libcrypto libtestutil.a
90 SOURCE[exdatatest]=exdatatest.c
91 INCLUDE[exdatatest]=../include ../apps/include
92 DEPEND[exdatatest]=../libcrypto libtestutil.a
94 SOURCE[bntest]=bntest.c
95 INCLUDE[bntest]=../include ../apps/include
96 DEPEND[bntest]=../libcrypto libtestutil.a
98 SOURCE[ectest]=ectest.c
99 INCLUDE[ectest]=../include ../apps/include
100 DEPEND[ectest]=../libcrypto libtestutil.a
102 SOURCE[ecstresstest]=ecstresstest.c
103 INCLUDE[ecstresstest]=../include ../apps/include
104 DEPEND[ecstresstest]=../libcrypto libtestutil.a
106 SOURCE[gmdifftest]=gmdifftest.c
107 INCLUDE[gmdifftest]=../include ../apps/include
108 DEPEND[gmdifftest]=../libcrypto libtestutil.a
110 SOURCE[pbelutest]=pbelutest.c
111 INCLUDE[pbelutest]=../include ../apps/include
112 DEPEND[pbelutest]=../libcrypto libtestutil.a
114 SOURCE[mdc2test]=mdc2test.c
115 INCLUDE[mdc2test]=../include ../apps/include
116 DEPEND[mdc2test]=../libcrypto libtestutil.a
118 SOURCE[enginetest]=enginetest.c
119 INCLUDE[enginetest]=../include ../apps/include
120 DEPEND[enginetest]=../libcrypto libtestutil.a
122 SOURCE[exptest]=exptest.c
123 INCLUDE[exptest]=../include ../apps/include
124 DEPEND[exptest]=../libcrypto libtestutil.a
126 SOURCE[fatalerrtest]=fatalerrtest.c ssltestlib.c
127 INCLUDE[fatalerrtest]=../include ../apps/include
128 DEPEND[fatalerrtest]=../libcrypto ../libssl libtestutil.a
130 SOURCE[tls13ccstest]=tls13ccstest.c ssltestlib.c
131 INCLUDE[tls13ccstest]=../include ../apps/include
132 DEPEND[tls13ccstest]=../libcrypto ../libssl libtestutil.a
134 SOURCE[evp_test]=evp_test.c
135 INCLUDE[evp_test]=../include ../apps/include
136 DEPEND[evp_test]=../libcrypto libtestutil.a
137 IF[{- $disabled{legacy} || !$target{dso_scheme} -}]
138 DEFINE[evp_test]=NO_LEGACY_MODULE
141 SOURCE[evp_extra_test]=evp_extra_test.c
142 INCLUDE[evp_extra_test]=../include ../apps/include
143 DEPEND[evp_extra_test]=../libcrypto.a libtestutil.a
145 SOURCE[evp_extra_test2]=evp_extra_test2.c
146 INCLUDE[evp_extra_test2]=../include ../apps/include
147 DEPEND[evp_extra_test2]=../libcrypto libtestutil.a
149 SOURCE[evp_libctx_test]=evp_libctx_test.c
150 INCLUDE[evp_libctx_test]=../include ../apps/include
151 DEPEND[evp_libctx_test]=../libcrypto.a libtestutil.a
153 SOURCE[evp_fetch_prov_test]=evp_fetch_prov_test.c
154 INCLUDE[evp_fetch_prov_test]=../include ../apps/include
155 DEPEND[evp_fetch_prov_test]=../libcrypto libtestutil.a
156 IF[{- $disabled{fips} || !$target{dso_scheme} -}]
157 DEFINE[evp_extra_test]=NO_FIPS_MODULE
160 SOURCE[evp_pkey_provided_test]=evp_pkey_provided_test.c
161 INCLUDE[evp_pkey_provided_test]=../include ../apps/include
162 DEPEND[evp_pkey_provided_test]=../libcrypto.a libtestutil.a
164 IF[{- !$disabled{acvp-tests} -}]
165 SOURCE[acvp_test]=acvp_test.c
166 INCLUDE[acvp_test]=../include ../apps/include
167 DEPEND[acvp_test]=../libcrypto.a libtestutil.a
170 SOURCE[ossl_store_test]=ossl_store_test.c
171 INCLUDE[ossl_store_test]=../include ../apps/include
172 DEPEND[ossl_store_test]=../libcrypto.a libtestutil.a
174 SOURCE[provider_status_test]=provider_status_test.c
175 INCLUDE[provider_status_test]=../include ../apps/include
176 DEPEND[provider_status_test]=../libcrypto.a libtestutil.a
178 IF[{- !$disabled{'deprecated-3.0'} -}]
179 PROGRAMS{noinst}=igetest bftest casttest
181 SOURCE[igetest]=igetest.c
182 INCLUDE[igetest]=../include ../apps/include
183 DEPEND[igetest]=../libcrypto libtestutil.a
185 SOURCE[bftest]=bftest.c
186 INCLUDE[bftest]=../include ../apps/include
187 DEPEND[bftest]=../libcrypto libtestutil.a
189 SOURCE[casttest]=casttest.c
190 INCLUDE[casttest]=../include ../apps/include
191 DEPEND[casttest]=../libcrypto libtestutil.a
194 SOURCE[v3nametest]=v3nametest.c
195 INCLUDE[v3nametest]=../include ../apps/include
196 DEPEND[v3nametest]=../libcrypto libtestutil.a
198 SOURCE[crltest]=crltest.c
199 INCLUDE[crltest]=../include ../apps/include
200 DEPEND[crltest]=../libcrypto libtestutil.a
202 SOURCE[v3ext]=v3ext.c
203 INCLUDE[v3ext]=../include ../apps/include
204 DEPEND[v3ext]=../libcrypto libtestutil.a
206 SOURCE[danetest]=danetest.c
207 INCLUDE[danetest]=../include ../apps/include
208 DEPEND[danetest]=../libcrypto ../libssl libtestutil.a
210 SOURCE[constant_time_test]=constant_time_test.c
211 INCLUDE[constant_time_test]=../include ../apps/include
212 DEPEND[constant_time_test]=../libcrypto libtestutil.a
214 SOURCE[verify_extra_test]=verify_extra_test.c
215 INCLUDE[verify_extra_test]=../include ../apps/include
216 DEPEND[verify_extra_test]=../libcrypto libtestutil.a
218 SOURCE[clienthellotest]=clienthellotest.c
219 INCLUDE[clienthellotest]=../include ../apps/include
220 DEPEND[clienthellotest]=../libcrypto ../libssl libtestutil.a
222 SOURCE[bad_dtls_test]=bad_dtls_test.c
223 INCLUDE[bad_dtls_test]=../include ../apps/include
224 DEPEND[bad_dtls_test]=../libcrypto ../libssl libtestutil.a
226 SOURCE[packettest]=packettest.c
227 INCLUDE[packettest]=../include ../apps/include
228 DEPEND[packettest]=../libcrypto libtestutil.a
230 SOURCE[asynctest]=asynctest.c
231 INCLUDE[asynctest]=../include ../apps/include
232 DEPEND[asynctest]=../libcrypto
234 SOURCE[secmemtest]=secmemtest.c
235 INCLUDE[secmemtest]=../include ../apps/include
236 DEPEND[secmemtest]=../libcrypto libtestutil.a
238 SOURCE[srptest]=srptest.c
239 INCLUDE[srptest]=../include ../apps/include
240 DEPEND[srptest]=../libcrypto libtestutil.a
242 SOURCE[memleaktest]=memleaktest.c
243 INCLUDE[memleaktest]=../include ../apps/include
244 DEPEND[memleaktest]=../libcrypto libtestutil.a
246 SOURCE[pkcs12_format_test]=pkcs12_format_test.c pkcs12_helper.c
247 INCLUDE[pkcs12_format_test]=../include ../apps/include
248 DEPEND[pkcs12_format_test]=../libcrypto libtestutil.a
250 SOURCE[stack_test]=stack_test.c
251 INCLUDE[stack_test]=../include ../apps/include
252 DEPEND[stack_test]=../libcrypto libtestutil.a
254 SOURCE[lhash_test]=lhash_test.c
255 INCLUDE[lhash_test]=../include ../apps/include
256 DEPEND[lhash_test]=../libcrypto libtestutil.a
258 SOURCE[dtlsv1listentest]=dtlsv1listentest.c
259 INCLUDE[dtlsv1listentest]=../include ../apps/include
260 DEPEND[dtlsv1listentest]=../libssl libtestutil.a
262 SOURCE[ct_test]=ct_test.c
263 INCLUDE[ct_test]=../include ../apps/include
264 DEPEND[ct_test]=../libcrypto libtestutil.a
266 SOURCE[threadstest]=threadstest.c
267 INCLUDE[threadstest]=../include ../apps/include
268 DEPEND[threadstest]=../libcrypto libtestutil.a
270 SOURCE[afalgtest]=afalgtest.c
271 INCLUDE[afalgtest]=../include ../apps/include
272 DEPEND[afalgtest]=../libcrypto libtestutil.a
274 SOURCE[d2i_test]=d2i_test.c
275 INCLUDE[d2i_test]=../include ../apps/include
276 DEPEND[d2i_test]=../libcrypto libtestutil.a
278 SOURCE[ssl_test_ctx_test]=ssl_test_ctx_test.c ssl_test_ctx.c
279 INCLUDE[ssl_test_ctx_test]=../include ../apps/include
280 DEPEND[ssl_test_ctx_test]=../libcrypto ../libssl libtestutil.a
282 SOURCE[ssl_test]=ssl_test.c ssl_test_ctx.c handshake_helper.c
283 INCLUDE[ssl_test]=../include ../apps/include
284 DEPEND[ssl_test]=../libcrypto ../libssl libtestutil.a
286 SOURCE[cipherlist_test]=cipherlist_test.c
287 INCLUDE[cipherlist_test]=../include ../apps/include
288 DEPEND[cipherlist_test]=../libcrypto ../libssl libtestutil.a
290 INCLUDE[ssl_test_ctx.o]=../include
291 INCLUDE[handshake_helper.o]=.. ../include
292 INCLUDE[pkcs12_helper.o]=.. ../include
293 INCLUDE[ssltestlib.o]=.. ../include
294 INCLUDE[cmp_testlib.o]=.. ../include ../apps/include
296 SOURCE[x509aux]=x509aux.c
297 INCLUDE[x509aux]=../include ../apps/include
298 DEPEND[x509aux]=../libcrypto libtestutil.a
300 SOURCE[asynciotest]=asynciotest.c ssltestlib.c
301 INCLUDE[asynciotest]=../include ../apps/include
302 DEPEND[asynciotest]=../libcrypto ../libssl libtestutil.a
304 SOURCE[bio_callback_test]=bio_callback_test.c
305 INCLUDE[bio_callback_test]=../include ../apps/include
306 DEPEND[bio_callback_test]=../libcrypto libtestutil.a
308 SOURCE[bio_memleak_test]=bio_memleak_test.c
309 INCLUDE[bio_memleak_test]=../include ../apps/include
310 DEPEND[bio_memleak_test]=../libcrypto libtestutil.a
312 SOURCE[bioprinttest]=bioprinttest.c
313 INCLUDE[bioprinttest]=../include ../apps/include
314 DEPEND[bioprinttest]=../libcrypto libtestutil.a
316 SOURCE[params_api_test]=params_api_test.c
317 INCLUDE[params_api_test]=../include ../apps/include
318 DEPEND[params_api_test]=../libcrypto libtestutil.a
320 SOURCE[params_conversion_test]=params_conversion_test.c
321 INCLUDE[params_conversion_test]=../include ../apps/include
322 DEPEND[params_conversion_test]=../libcrypto libtestutil.a
324 SOURCE[param_build_test]=param_build_test.c
325 INCLUDE[param_build_test]=../include ../apps/include
326 DEPEND[param_build_test]=../libcrypto.a libtestutil.a
328 SOURCE[sslapitest]=sslapitest.c ssltestlib.c filterprov.c tls-provider.c
329 INCLUDE[sslapitest]=../include ../apps/include ..
330 DEPEND[sslapitest]=../libcrypto ../libssl libtestutil.a
332 SOURCE[defltfips_test]=defltfips_test.c
333 INCLUDE[defltfips_test]=../include ../apps/include
334 DEPEND[defltfips_test]=../libcrypto libtestutil.a
336 SOURCE[ocspapitest]=ocspapitest.c
337 INCLUDE[ocspapitest]=../include ../apps/include
338 DEPEND[ocspapitest]=../libcrypto libtestutil.a
340 IF[{- !$disabled{sock} -}]
341 PROGRAMS{noinst}=http_test
344 SOURCE[http_test]=http_test.c
345 INCLUDE[http_test]=../include ../apps/include
346 DEPEND[http_test]=../libcrypto libtestutil.a
348 SOURCE[dtlstest]=dtlstest.c ssltestlib.c
349 INCLUDE[dtlstest]=../include ../apps/include
350 DEPEND[dtlstest]=../libcrypto ../libssl libtestutil.a
352 SOURCE[sslcorrupttest]=sslcorrupttest.c ssltestlib.c
353 INCLUDE[sslcorrupttest]=../include ../apps/include
354 DEPEND[sslcorrupttest]=../libcrypto ../libssl libtestutil.a
356 SOURCE[bio_enc_test]=bio_enc_test.c
357 INCLUDE[bio_enc_test]=../include ../apps/include
358 DEPEND[bio_enc_test]=../libcrypto libtestutil.a
360 SOURCE[pkey_meth_test]=pkey_meth_test.c
361 INCLUDE[pkey_meth_test]=../include ../apps/include
362 DEPEND[pkey_meth_test]=../libcrypto libtestutil.a
364 SOURCE[pkey_meth_kdf_test]=pkey_meth_kdf_test.c
365 INCLUDE[pkey_meth_kdf_test]=../include ../apps/include
366 DEPEND[pkey_meth_kdf_test]=../libcrypto libtestutil.a
368 SOURCE[evp_kdf_test]=evp_kdf_test.c
369 INCLUDE[evp_kdf_test]=../include ../apps/include
370 DEPEND[evp_kdf_test]=../libcrypto libtestutil.a
372 SOURCE[evp_pkey_dparams_test]=evp_pkey_dparams_test.c
373 INCLUDE[evp_pkey_dparams_test]=../include ../apps/include
374 DEPEND[evp_pkey_dparams_test]=../libcrypto libtestutil.a
376 SOURCE[x509_time_test]=x509_time_test.c
377 INCLUDE[x509_time_test]=../include ../apps/include
378 DEPEND[x509_time_test]=../libcrypto libtestutil.a
380 SOURCE[recordlentest]=recordlentest.c ssltestlib.c
381 INCLUDE[recordlentest]=../include ../apps/include
382 DEPEND[recordlentest]=../libcrypto ../libssl libtestutil.a
384 SOURCE[drbgtest]=drbgtest.c
385 INCLUDE[drbgtest]=../include ../apps/include ../providers/common/include
386 DEPEND[drbgtest]=../libcrypto.a libtestutil.a
388 SOURCE[rand_status_test]=rand_status_test.c
389 INCLUDE[rand_status_test]=../include ../apps/include
390 DEPEND[rand_status_test]=../libcrypto libtestutil.a
392 SOURCE[x509_dup_cert_test]=x509_dup_cert_test.c
393 INCLUDE[x509_dup_cert_test]=../include ../apps/include
394 DEPEND[x509_dup_cert_test]=../libcrypto libtestutil.a
396 SOURCE[x509_check_cert_pkey_test]=x509_check_cert_pkey_test.c
397 INCLUDE[x509_check_cert_pkey_test]=../include ../apps/include
398 DEPEND[x509_check_cert_pkey_test]=../libcrypto libtestutil.a
400 SOURCE[pemtest]=pemtest.c
401 INCLUDE[pemtest]=../include ../apps/include
402 DEPEND[pemtest]=../libcrypto libtestutil.a
404 SOURCE[ssl_cert_table_internal_test]=ssl_cert_table_internal_test.c
405 INCLUDE[ssl_cert_table_internal_test]=.. ../include ../apps/include
406 DEPEND[ssl_cert_table_internal_test]=../libcrypto libtestutil.a
408 SOURCE[ciphername_test]=ciphername_test.c
409 INCLUDE[ciphername_test]=../include ../apps/include
410 DEPEND[ciphername_test]=../libcrypto ../libssl libtestutil.a
412 SOURCE[http_test]=http_test.c
413 INCLUDE[http_test]=../include ../apps/include
414 DEPEND[http_test]=../libcrypto libtestutil.a
416 SOURCE[servername_test]=servername_test.c ssltestlib.c
417 INCLUDE[servername_test]=../include ../apps/include
418 DEPEND[servername_test]=../libcrypto ../libssl libtestutil.a
420 IF[{- !$disabled{cms} -}]
421 PROGRAMS{noinst}=cmsapitest
422 SOURCE[cmsapitest]=cmsapitest.c
423 INCLUDE[cmsapitest]=../include ../apps/include
424 DEPEND[cmsapitest]=../libcrypto libtestutil.a
427 IF[{- !$disabled{psk} -}]
428 PROGRAMS{noinst}=dtls_mtu_test
429 SOURCE[dtls_mtu_test]=dtls_mtu_test.c ssltestlib.c
430 INCLUDE[dtls_mtu_test]=.. ../include ../apps/include
431 DEPEND[dtls_mtu_test]=../libcrypto ../libssl libtestutil.a
434 IF[{- !$disabled{shared} -}]
435 PROGRAMS{noinst}=shlibloadtest
436 SOURCE[shlibloadtest]=shlibloadtest.c
437 INCLUDE[shlibloadtest]=../include ../apps/include
440 # cipher_overhead_test uses internal symbols, so it must be linked with
441 # the static libraries
442 PROGRAMS{noinst}=cipher_overhead_test
443 SOURCE[cipher_overhead_test]=cipher_overhead_test.c
444 INCLUDE[cipher_overhead_test]=.. ../include ../apps/include
445 DEPEND[cipher_overhead_test]=../libcrypto.a ../libssl.a libtestutil.a
447 SOURCE[uitest]=uitest.c ../apps/lib/apps_ui.c
448 INCLUDE[uitest]=.. ../include ../apps/include
449 DEPEND[uitest]=../libcrypto ../libssl libtestutil.a
451 SOURCE[cipherbytes_test]=cipherbytes_test.c
452 INCLUDE[cipherbytes_test]=../include ../apps/include
453 DEPEND[cipherbytes_test]=../libcrypto ../libssl libtestutil.a
455 SOURCE[asn1_encode_test]=asn1_encode_test.c
456 INCLUDE[asn1_encode_test]=../include ../apps/include
457 DEPEND[asn1_encode_test]=../libcrypto libtestutil.a
459 SOURCE[asn1_decode_test]=asn1_decode_test.c
460 INCLUDE[asn1_decode_test]=../include ../apps/include
461 DEPEND[asn1_decode_test]=../libcrypto libtestutil.a
463 SOURCE[asn1_string_table_test]=asn1_string_table_test.c
464 INCLUDE[asn1_string_table_test]=../include ../apps/include
465 DEPEND[asn1_string_table_test]=../libcrypto libtestutil.a
467 SOURCE[time_offset_test]=time_offset_test.c
468 INCLUDE[time_offset_test]=../include ../apps/include
469 DEPEND[time_offset_test]=../libcrypto libtestutil.a
471 SOURCE[conf_include_test]=conf_include_test.c
472 INCLUDE[conf_include_test]=../include ../apps/include
473 DEPEND[conf_include_test]=../libcrypto libtestutil.a
475 IF[{- !$disabled{cmp} -}]
476 PROGRAMS{noinst}=cmp_asn_test cmp_ctx_test cmp_status_test cmp_hdr_test \
477 cmp_protect_test cmp_msg_test cmp_vfy_test \
478 cmp_server_test cmp_client_test
481 SOURCE[cmp_asn_test]=cmp_asn_test.c cmp_testlib.c
482 INCLUDE[cmp_asn_test]=.. ../include ../apps/include
483 DEPEND[cmp_asn_test]=../libcrypto.a libtestutil.a
485 SOURCE[cmp_ctx_test]=cmp_ctx_test.c cmp_testlib.c
486 INCLUDE[cmp_ctx_test]=.. ../include ../apps/include
487 DEPEND[cmp_ctx_test]=../libcrypto.a libtestutil.a
489 SOURCE[cmp_hdr_test]=cmp_hdr_test.c cmp_testlib.c
490 INCLUDE[cmp_hdr_test]=.. ../include ../apps/include
491 DEPEND[cmp_hdr_test]=../libcrypto.a libtestutil.a
493 SOURCE[cmp_status_test]=cmp_status_test.c cmp_testlib.c
494 INCLUDE[cmp_status_test]=.. ../include ../apps/include
495 DEPEND[cmp_status_test]=../libcrypto.a libtestutil.a
497 SOURCE[cmp_protect_test]=cmp_protect_test.c cmp_testlib.c
498 INCLUDE[cmp_protect_test]=.. ../include ../apps/include
499 DEPEND[cmp_protect_test]=../libcrypto.a libtestutil.a
501 SOURCE[cmp_msg_test]=cmp_msg_test.c cmp_testlib.c
502 INCLUDE[cmp_msg_test]=.. ../include ../apps/include
503 DEPEND[cmp_msg_test]=../libcrypto.a libtestutil.a
505 SOURCE[cmp_vfy_test]=cmp_vfy_test.c cmp_testlib.c
506 INCLUDE[cmp_vfy_test]=.. ../include ../apps/include
507 DEPEND[cmp_vfy_test]=../libcrypto.a libtestutil.a
509 SOURCE[cmp_server_test]=cmp_server_test.c cmp_testlib.c
510 INCLUDE[cmp_server_test]=.. ../include ../apps/include
511 DEPEND[cmp_server_test]=../libcrypto.a libtestutil.a
513 SOURCE[cmp_client_test]=cmp_client_test.c cmp_testlib.c ../apps/cmp_mock_srv.c
514 INCLUDE[cmp_client_test]=.. ../include ../apps/include
515 DEPEND[cmp_client_test]=../libcrypto.a libtestutil.a
517 # Internal test programs. These are essentially a collection of internal
518 # test routines. Some of them need to reach internal symbols that aren't
519 # available through the shared library (at least on Linux, Solaris, Windows
520 # and VMS, where the exported symbols are those listed in util/*.num), these
521 # programs are forcibly linked with the static libraries, where all symbols
522 # are always available.
524 PROGRAMS{noinst}=asn1_internal_test modes_internal_test x509_internal_test \
525 tls13encryptiontest wpackettest ctype_internal_test \
526 rdrand_sanitytest property_test ideatest rsa_mp_test \
527 rsa_sp800_56b_test bn_internal_test ecdsatest rsa_test \
528 rc2test rc4test rc5test hmactest ffc_internal_test \
529 asn1_dsa_internal_test dsatest dsa_no_digest_size_test \
532 IF[{- !$disabled{poly1305} -}]
533 PROGRAMS{noinst}=poly1305_internal_test
535 IF[{- !$disabled{chacha} -}]
536 PROGRAMS{noinst}=chacha_internal_test
538 IF[{- !$disabled{siphash} -}]
539 PROGRAMS{noinst}=siphash_internal_test
541 IF[{- !$disabled{sm2} -}]
542 PROGRAMS{noinst}=sm2_internal_test
544 IF[{- !$disabled{sm4} -}]
545 PROGRAMS{noinst}=sm4_internal_test
547 IF[{- !$disabled{ec} -}]
548 PROGRAMS{noinst}=ec_internal_test curve448_internal_test
550 IF[{- !$disabled{cmac} -}]
551 PROGRAMS{noinst}=cmactest
554 SOURCE[poly1305_internal_test]=poly1305_internal_test.c
555 INCLUDE[poly1305_internal_test]=.. ../include ../apps/include
556 DEPEND[poly1305_internal_test]=../libcrypto.a libtestutil.a
558 SOURCE[chacha_internal_test]=chacha_internal_test.c
559 INCLUDE[chacha_internal_test]=.. ../include ../apps/include
560 DEPEND[chacha_internal_test]=../libcrypto.a libtestutil.a
562 SOURCE[asn1_internal_test]=asn1_internal_test.c
563 INCLUDE[asn1_internal_test]=.. ../include ../apps/include
564 DEPEND[asn1_internal_test]=../libcrypto.a libtestutil.a
566 SOURCE[modes_internal_test]=modes_internal_test.c
567 INCLUDE[modes_internal_test]=.. ../include ../apps/include
568 DEPEND[modes_internal_test]=../libcrypto.a libtestutil.a
570 SOURCE[x509_internal_test]=x509_internal_test.c
571 INCLUDE[x509_internal_test]=.. ../include ../apps/include
572 DEPEND[x509_internal_test]=../libcrypto.a libtestutil.a
574 SOURCE[rsa_test]=rsa_test.c
575 INCLUDE[rsa_test]=../include ../apps/include
576 DEPEND[rsa_test]=../libcrypto.a libtestutil.a
578 SOURCE[rsa_mp_test]=rsa_mp_test.c
579 INCLUDE[rsa_mp_test]=../include ../apps/include
580 DEPEND[rsa_mp_test]=../libcrypto.a libtestutil.a
582 SOURCE[ecdsatest]=ecdsatest.c
583 INCLUDE[ecdsatest]=../include ../apps/include
584 DEPEND[ecdsatest]=../libcrypto.a libtestutil.a
586 SOURCE[dsatest]=dsatest.c
587 INCLUDE[dsatest]=../include ../apps/include
588 DEPEND[dsatest]=../libcrypto.a libtestutil.a
590 SOURCE[dsa_no_digest_size_test]=dsa_no_digest_size_test.c
591 INCLUDE[dsa_no_digest_size_test]=../include ../apps/include
592 DEPEND[dsa_no_digest_size_test]=../libcrypto.a libtestutil.a
594 SOURCE[tls13encryptiontest]=tls13encryptiontest.c
595 INCLUDE[tls13encryptiontest]=.. ../include ../apps/include
596 DEPEND[tls13encryptiontest]=../libcrypto ../libssl.a libtestutil.a
598 SOURCE[ideatest]=ideatest.c
599 INCLUDE[ideatest]=../include ../apps/include
600 DEPEND[ideatest]=../libcrypto.a libtestutil.a
602 SOURCE[wpackettest]=wpackettest.c
603 INCLUDE[wpackettest]=../include ../apps/include
604 DEPEND[wpackettest]=../libcrypto ../libssl.a libtestutil.a
606 SOURCE[property_test]=property_test.c
607 INCLUDE[property_test]=.. ../include ../apps/include
608 DEPEND[property_test]=../libcrypto.a libtestutil.a
610 SOURCE[ctype_internal_test]=ctype_internal_test.c
611 INCLUDE[ctype_internal_test]=.. ../include ../apps/include
612 DEPEND[ctype_internal_test]=../libcrypto.a libtestutil.a
614 SOURCE[sparse_array_test]=sparse_array_test.c
615 INCLUDE[sparse_array_test]=../include ../apps/include
616 DEPEND[sparse_array_test]=../libcrypto.a libtestutil.a
618 SOURCE[dhtest]=dhtest.c
619 INCLUDE[dhtest]=../include ../apps/include
620 DEPEND[dhtest]=../libcrypto.a libtestutil.a
622 SOURCE[hmactest]=hmactest.c
623 INCLUDE[hmactest]=../include ../apps/include
624 DEPEND[hmactest]=../libcrypto.a libtestutil.a
626 IF[{- !$disabled{cmac} -}]
627 SOURCE[cmactest]=cmactest.c
628 INCLUDE[cmactest]=../include ../apps/include
629 DEPEND[cmactest]=../libcrypto.a libtestutil.a
632 SOURCE[siphash_internal_test]=siphash_internal_test.c
633 INCLUDE[siphash_internal_test]=.. ../include ../apps/include
634 DEPEND[siphash_internal_test]=../libcrypto.a libtestutil.a
636 SOURCE[sm2_internal_test]=sm2_internal_test.c
637 INCLUDE[sm2_internal_test]=../include ../apps/include
638 DEPEND[sm2_internal_test]=../libcrypto.a libtestutil.a
640 SOURCE[sm4_internal_test]=sm4_internal_test.c
641 INCLUDE[sm4_internal_test]=.. ../include ../apps/include
642 DEPEND[sm4_internal_test]=../libcrypto.a libtestutil.a
644 SOURCE[destest]=destest.c
645 INCLUDE[destest]=../include ../apps/include
646 DEPEND[destest]=../libcrypto.a libtestutil.a
648 SOURCE[rc2test]=rc2test.c
649 INCLUDE[rc2test]=../include ../apps/include
650 DEPEND[rc2test]=../libcrypto.a libtestutil.a
652 SOURCE[rc4test]=rc4test.c
653 INCLUDE[rc4test]=../include ../apps/include
654 DEPEND[rc4test]=../libcrypto.a libtestutil.a
656 SOURCE[rc5test]=rc5test.c
657 INCLUDE[rc5test]=../include ../apps/include
658 DEPEND[rc5test]=../libcrypto.a libtestutil.a
660 SOURCE[ec_internal_test]=ec_internal_test.c
661 INCLUDE[ec_internal_test]=../include ../crypto/ec ../apps/include
662 DEPEND[ec_internal_test]=../libcrypto.a libtestutil.a
664 SOURCE[curve448_internal_test]=curve448_internal_test.c
665 INCLUDE[curve448_internal_test]=.. ../include ../apps/include ../crypto/ec/curve448
666 DEPEND[curve448_internal_test]=../libcrypto.a libtestutil.a
668 SOURCE[rc4test]=rc4test.c
669 INCLUDE[rc4test]=../include ../apps/include
670 DEPEND[rc4test]=../libcrypto.a libtestutil.a
672 SOURCE[rdrand_sanitytest]=rdrand_sanitytest.c
673 INCLUDE[rdrand_sanitytest]=../include ../apps/include
674 DEPEND[rdrand_sanitytest]=../libcrypto.a libtestutil.a
676 SOURCE[rsa_sp800_56b_test]=rsa_sp800_56b_test.c
677 INCLUDE[rsa_sp800_56b_test]=.. ../include ../crypto/rsa ../apps/include
678 DEPEND[rsa_sp800_56b_test]=../libcrypto.a libtestutil.a
680 SOURCE[bn_internal_test]=bn_internal_test.c
681 INCLUDE[bn_internal_test]=.. ../include ../crypto/bn ../apps/include
682 DEPEND[bn_internal_test]=../libcrypto.a libtestutil.a
684 SOURCE[asn1_dsa_internal_test]=asn1_dsa_internal_test.c
685 INCLUDE[asn1_dsa_internal_test]=.. ../include ../apps/include
686 DEPEND[asn1_dsa_internal_test]=../libcrypto.a libtestutil.a
688 SOURCE[keymgmt_internal_test]=keymgmt_internal_test.c
689 INCLUDE[keymgmt_internal_test]=.. ../include ../apps/include
690 DEPEND[keymgmt_internal_test]=../libcrypto.a libtestutil.a
692 SOURCE[ffc_internal_test]=ffc_internal_test.c
693 INCLUDE[ffc_internal_test]=.. ../include ../apps/include
694 DEPEND[ffc_internal_test]=../libcrypto.a libtestutil.a
696 IF[{- !$disabled{mdc2} -}]
697 PROGRAMS{noinst}=mdc2_internal_test
700 SOURCE[mdc2_internal_test]=mdc2_internal_test.c
701 INCLUDE[mdc2_internal_test]=.. ../include ../apps/include
702 DEPEND[mdc2_internal_test]=../libcrypto.a libtestutil.a
704 SOURCE[ssltest_old]=ssltest_old.c
705 INCLUDE[ssltest_old]=.. ../include ../apps/include
706 DEPEND[ssltest_old]=../libcrypto.a ../libssl.a
709 PROGRAMS{noinst}=asn1_time_test
710 SOURCE[asn1_time_test]=asn1_time_test.c
711 INCLUDE[asn1_time_test]=../include ../apps/include
712 DEPEND[asn1_time_test]=../libcrypto libtestutil.a
714 # We disable this test completely in a shared build because it deliberately
715 # redefines some internal libssl symbols. This doesn't work in a non-shared
717 IF[{- !$disabled{shared} -}]
718 PROGRAMS{noinst}=tls13secretstest
719 SOURCE[tls13secretstest]=tls13secretstest.c
720 DEFINE[tls13secretstest]=OPENSSL_NO_KTLS
721 SOURCE[tls13secretstest]= ../ssl/tls13_enc.c ../crypto/packet.c
722 INCLUDE[tls13secretstest]=.. ../include ../apps/include
723 DEPEND[tls13secretstest]=../libcrypto ../libssl libtestutil.a
726 SOURCE[sslbuffertest]=sslbuffertest.c ssltestlib.c
727 INCLUDE[sslbuffertest]=../include ../apps/include
728 DEPEND[sslbuffertest]=../libcrypto ../libssl libtestutil.a
730 SOURCE[sysdefaulttest]=sysdefaulttest.c
731 INCLUDE[sysdefaulttest]=../include ../apps/include
732 DEPEND[sysdefaulttest]=../libcrypto ../libssl libtestutil.a
734 SOURCE[errtest]=errtest.c
735 INCLUDE[errtest]=../include ../apps/include
736 DEPEND[errtest]=../libcrypto libtestutil.a
738 SOURCE[gosttest]=gosttest.c ssltestlib.c
739 INCLUDE[gosttest]=../include ../apps/include ..
740 DEPEND[gosttest]=../libcrypto ../libssl libtestutil.a
742 SOURCE[aesgcmtest]=aesgcmtest.c
743 INCLUDE[aesgcmtest]=../include ../apps/include ..
744 DEPEND[aesgcmtest]=../libcrypto libtestutil.a
746 PROGRAMS{noinst}=context_internal_test
747 SOURCE[context_internal_test]=context_internal_test.c
748 INCLUDE[context_internal_test]=.. ../include ../apps/include
749 DEPEND[context_internal_test]=../libcrypto.a libtestutil.a
751 PROGRAMS{noinst}=provider_internal_test
752 DEFINE[provider_internal_test]=PROVIDER_INIT_FUNCTION_NAME=p_test_init
753 SOURCE[provider_internal_test]=provider_internal_test.c p_test.c
754 INCLUDE[provider_internal_test]=../include ../apps/include
755 DEPEND[provider_internal_test]=../libcrypto.a libtestutil.a
756 PROGRAMS{noinst}=provider_test
757 DEFINE[provider_test]=PROVIDER_INIT_FUNCTION_NAME=p_test_init
758 SOURCE[provider_test]=provider_test.c p_test.c
759 INCLUDE[provider_test]=../include ../apps/include
760 DEPEND[provider_test]=../libcrypto.a libtestutil.a
761 IF[{- !$disabled{module} -}]
762 MODULES{noinst}=p_test
763 SOURCE[p_test]=p_test.c
764 INCLUDE[p_test]=../include
765 IF[{- defined $target{shared_defflag} -}]
766 SOURCE[p_test]=p_test.ld
767 GENERATE[p_test.ld]=../util/providers.num
770 IF[{- $disabled{module} || !$target{dso_scheme} -}]
771 DEFINE[provider_test]=NO_PROVIDER_MODULE
772 DEFINE[provider_internal_test]=NO_PROVIDER_MODULE
774 DEPEND[]=provider_internal_test.cnf
775 GENERATE[provider_internal_test.cnf]=provider_internal_test.cnf.in
777 PROGRAMS{noinst}=provider_fallback_test
778 SOURCE[provider_fallback_test]=provider_fallback_test.c
779 INCLUDE[provider_fallback_test]=../include ../apps/include
780 DEPEND[provider_fallback_test]=../libcrypto libtestutil.a
782 PROGRAMS{noinst}=params_test
783 SOURCE[params_test]=params_test.c
784 INCLUDE[params_test]=.. ../include ../apps/include
785 DEPEND[params_test]=../libcrypto.a libtestutil.a
787 PROGRAMS{noinst}=hexstr_test
788 SOURCE[hexstr_test]=hexstr_test.c
789 INCLUDE[hexstr_test]=.. ../include ../apps/include
790 DEPEND[hexstr_test]=../libcrypto.a libtestutil.a
792 PROGRAMS{noinst}=endecode_test
793 SOURCE[endecode_test]=endecode_test.c
794 INCLUDE[endecode_test]=.. ../include ../apps/include
795 DEPEND[endecode_test]=../libcrypto.a libtestutil.a
797 PROGRAMS{noinst}=endecoder_legacy_test
798 SOURCE[endecoder_legacy_test]=endecoder_legacy_test.c
799 INCLUDE[endecoder_legacy_test]=.. ../include ../apps/include
800 DEPEND[endecoder_legacy_test]=../libcrypto.a libtestutil.a
802 PROGRAMS{noinst}=namemap_internal_test
803 SOURCE[namemap_internal_test]=namemap_internal_test.c
804 INCLUDE[namemap_internal_test]=.. ../include ../apps/include
805 DEPEND[namemap_internal_test]=../libcrypto.a libtestutil.a
807 PROGRAMS{noinst}=bio_prefix_text
808 SOURCE[bio_prefix_text]=bio_prefix_text.c $LIBAPPSSRC
809 INCLUDE[bio_prefix_text]=.. ../include ../apps/include
810 DEPEND[bio_prefix_text]=../libcrypto
812 IF[{- !$disabled{'deprecated-3.0'} -}]
813 SOURCE[pem_read_depr_test]=pem_read_depr_test.c
814 INCLUDE[pem_read_depr_test]=../include ../apps/include
815 DEPEND[pem_read_depr_test]=../libcrypto libtestutil.a
819 SOURCE[ssl_ctx_test]=ssl_ctx_test.c
820 INCLUDE[ssl_ctx_test]=../include ../apps/include
821 DEPEND[ssl_ctx_test]=../libcrypto ../libssl libtestutil.a
824 use File::Spec::Functions;
828 my @nogo_headers = ( "asn1_mac.h",
830 "__decc_include_prologue.h",
831 "__decc_include_epilogue.h" );
832 my @nogo_headers_re = ( qr/.*err\.h/ );
833 my @headerfiles = glob catfile($sourcedir,
834 updir(), "include", "openssl", "*.h");
836 foreach my $headerfile (@headerfiles) {
837 my $name = basename($headerfile, ".h");
838 next if $disabled{$name};
839 next if grep { $_ eq lc("$name.h") } @nogo_headers;
840 next if grep { lc("$name.h") =~ m/$_/i } @nogo_headers_re;
843 PROGRAMS{noinst}=buildtest_c_$name
844 SOURCE[buildtest_c_$name]=buildtest_$name.c
845 GENERATE[buildtest_$name.c]=generate_buildtest.pl $name
846 INCLUDE[buildtest_c_$name]=../include
847 DEPEND[buildtest_c_$name]=../libssl ../libcrypto
849 $OUT .= <<"_____" if $config{CXX} && !$disabled{"buildtest-c++"};
851 PROGRAMS{noinst}=buildtest_cc_$name
852 SOURCE[buildtest_cc_$name]=buildtest_$name.cc
853 GENERATE[buildtest_$name.cc]=generate_buildtest.pl $name
854 INCLUDE[buildtest_cc_$name]=../include
855 DEPEND[buildtest_cc_$name]=../libssl ../libcrypto