Skip to content

Commit

Permalink
Build a static test library with all symbols
Browse files Browse the repository at this point in the history
Build and link a special test library rather than assuming that the
build has static libraries available.
  • Loading branch information
busterb committed Dec 13, 2022
1 parent 5a590f8 commit 4f0f6eb
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 7 deletions.
20 changes: 13 additions & 7 deletions tests/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
include $(top_srcdir)/Makefile.am.common

-include $(abs_top_builddir)/crypto/libcrypto_la_objects.mk
-include $(abs_top_builddir)/ssl/libssl_la_objects.mk
-include $(abs_top_builddir)/tls/libtls_la_objects.mk

AM_CPPFLAGS += -DLIBRESSL_CRYPTO_INTERNAL

AM_CPPFLAGS += -I $(top_srcdir)/crypto/asn1
Expand All @@ -14,13 +18,15 @@ AM_CPPFLAGS += -I $(top_srcdir)/apps/openssl
AM_CPPFLAGS += -I $(top_srcdir)/apps/openssl/compat
AM_CPPFLAGS += -D_PATH_SSL_CA_FILE=\"$(top_srcdir)/cert.pem\"

LDADD = $(abs_top_builddir)/tls/.libs/libtls.a
LDADD += $(abs_top_builddir)/ssl/.libs/libssl.a
LDADD += $(abs_top_builddir)/crypto/.libs/libcrypto.a
LDADD += $(PLATFORM_LDADD) $(PROG_LDADD)
if HOST_ASM_MACOSX_X86_64
LDADD += $(abs_top_builddir)/crypto/.libs/libcrypto_la-cpuid-macosx-x86_64.o
endif
noinst_LTLIBRARIES = libtest.la
libtest_la_LIBADD = $(libcrypto_la_objects)
libtest_la_LIBADD += $(libcompat_la_objects)
libtest_la_LIBADD += $(libcompatnoopt_la_objects)
libtest_la_LIBADD += $(libssl_la_objects)
libtest_la_LIBADD += $(libtls_la_objects)
libtest_la_SOURCES = empty.c

LDADD = libtest.la $(PLATFORM_LDADD) $(PROG_LDADD)

TEST_LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) $(top_srcdir)/tap-driver.sh

Expand Down
9 changes: 9 additions & 0 deletions tls/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,15 @@ EXTRA_DIST = VERSION
EXTRA_DIST += CMakeLists.txt
EXTRA_DIST += tls.sym

CLEANFILES = libtls_la_objects.mk

EXTRA_libtls_la_DEPENDENCIES = libtls_la_objects.mk

libtls_la_objects.mk: Makefile
@echo "libtls_la_objects= $(libtls_la_OBJECTS)" \
| sed 's/ */ $$\(abs_top_builddir\)\/tls\//g' \
> libtls_la_objects.mk

libtls_la_LDFLAGS = -version-info @LIBTLS_VERSION@ -no-undefined -export-symbols $(top_srcdir)/tls/tls.sym
libtls_la_LIBADD = $(libcrypto_la_objects)
libtls_la_LIBADD += $(libcompat_la_objects)
Expand Down
1 change: 1 addition & 0 deletions update.sh
Original file line number Diff line number Diff line change
Expand Up @@ -286,6 +286,7 @@ $GREP '^[A-Za-z0-9_]' < $libssl_src/Symbols.list > ssl/ssl.sym

# copy libcrypto tests
echo "copying tests"
touch tests/empty.c
for i in `find $libcrypto_regress -name '*.c'`; do
$CP "$i" tests
done
Expand Down

0 comments on commit 4f0f6eb

Please sign in to comment.