Explain the deal with internal test programs
[openssl.git] / test / build.info
index b3a94599f2fb26ac74edb826f7e8fc8fa4d42b0b..6f00865868fd1b2154ecd1a457b89a123e451f3a 100644 (file)
@@ -275,6 +275,19 @@ IF[{- !$disabled{tests} -}]
   INCLUDE[bio_enc_test]=../include
   DEPEND[bio_enc_test]=../libcrypto
 
+  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
+
+  IF[{- !$disabled{shared} -}]
+    PROGRAMS_NO_INST=shlibloadtest
+    SOURCE[shlibloadtest]=shlibloadtest.c
+    INCLUDE[shlibloadtest]=../include
+  ENDIF
+
   IF[{- $disabled{shared} -}]
     PROGRAMS_NO_INST=wpackettest cipher_overhead_test
     SOURCE[wpackettest]=wpackettest.c testutil.c
@@ -285,6 +298,35 @@ IF[{- !$disabled{tests} -}]
     INCLUDE[cipher_overhead_test]=.. ../include
     DEPEND[cipher_overhead_test]=../libcrypto ../libssl
   ENDIF
+
+  # 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.
+  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
 ENDIF
 
 {-