From b5b7c61fe337e2b5be931f42ce6f827ff344f3f6 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Thu, 27 Oct 2016 08:44:36 +0200 Subject: [PATCH] Explain the deal with internal test programs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Emilia Käsper (Merged from https://github.com/openssl/openssl/pull/1789) --- test/build.info | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/test/build.info b/test/build.info index 1c10a83c09..6f00865868 100644 --- a/test/build.info +++ b/test/build.info @@ -299,6 +299,21 @@ IF[{- !$disabled{tests} -}] 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