Land #610, Statically link libcrypto/ssl into libtls

This commit is contained in:
Brent Cook 2020-10-06 19:40:29 -05:00
commit b9918fc1ec
6 changed files with 34 additions and 9 deletions

View File

@ -12,9 +12,9 @@ endif
EXTRA_DIST = nc.1 EXTRA_DIST = nc.1
EXTRA_DIST += CMakeLists.txt EXTRA_DIST += CMakeLists.txt
nc_LDADD = $(abs_top_builddir)/crypto/libcrypto.la nc_LDFLAGS = $(abs_top_builddir)/crypto/.libs/libcrypto.a
nc_LDADD += $(abs_top_builddir)/ssl/libssl.la
nc_LDADD += $(abs_top_builddir)/tls/libtls.la nc_LDADD = $(abs_top_builddir)/tls/libtls.la
nc_LDADD += $(PLATFORM_LDADD) $(PROG_LDADD) nc_LDADD += $(PLATFORM_LDADD) $(PROG_LDADD)
AM_CPPFLAGS += -I$(top_srcdir)/apps/nc/compat AM_CPPFLAGS += -I$(top_srcdir)/apps/nc/compat

View File

@ -29,8 +29,7 @@ USER_CFLAGS="$CFLAGS"
AC_PROG_CC([cc gcc]) AC_PROG_CC([cc gcc])
AC_PROG_CC_STDC AC_PROG_CC_STDC
AM_PROG_CC_C_O AM_PROG_CC_C_O
AC_PROG_LIBTOOL LT_INIT([pic-only])
LT_INIT
CHECK_OS_OPTIONS CHECK_OS_OPTIONS

View File

@ -20,6 +20,7 @@ EXTRA_DIST += compat/strcasecmp.c
BUILT_SOURCES = crypto_portable.sym BUILT_SOURCES = crypto_portable.sym
CLEANFILES = crypto_portable.sym CLEANFILES = crypto_portable.sym
CLEANFILES += libcrypto_la_objects.mk
crypto_portable.sym: crypto.sym Makefile crypto_portable.sym: crypto.sym Makefile
-echo "generating crypto_portable.sym ..." -echo "generating crypto_portable.sym ..."
@ -93,8 +94,20 @@ if HOST_WIN
-mv crypto_portable.sym.tmp crypto_portable.sym -mv crypto_portable.sym.tmp crypto_portable.sym
endif endif
libcrypto_la_objects.mk: Makefile
@echo "libcrypto_la_objects= $(libcrypto_la_OBJECTS)" \
| sed 's/ */ $$\(abs_top_builddir\)\/crypto\//g' \
> libcrypto_la_objects.mk
@echo "libcompat_la_objects= $(libcompat_la_OBJECTS)" \
| sed 's/ */ $$\(abs_top_builddir\)\/crypto\//g' \
>> libcrypto_la_objects.mk
@echo "libcompatnoopt_la_objects= $(libcompatnoopt_la_OBJECTS)" \
| sed 's/ */ $$\(abs_top_builddir\)\/crypto\//g' \
>> libcrypto_la_objects.mk
libcrypto_la_LDFLAGS = -version-info @LIBCRYPTO_VERSION@ -no-undefined -export-symbols crypto_portable.sym libcrypto_la_LDFLAGS = -version-info @LIBCRYPTO_VERSION@ -no-undefined -export-symbols crypto_portable.sym
EXTRA_libcrypto_la_DEPENDENCIES = crypto_portable.sym EXTRA_libcrypto_la_DEPENDENCIES = crypto_portable.sym
EXTRA_libcrypto_la_DEPENDENCIES += libcrypto_la_objects.mk
libcrypto_la_LIBADD = libcompat.la libcrypto_la_LIBADD = libcompat.la
if !HAVE_EXPLICIT_BZERO if !HAVE_EXPLICIT_BZERO
libcrypto_la_LIBADD += libcompatnoopt.la libcrypto_la_LIBADD += libcompatnoopt.la

View File

@ -9,8 +9,7 @@ Name: LibreSSL-libtls
Description: Secure communications using the TLS socket protocol. Description: Secure communications using the TLS socket protocol.
Version: @VERSION@ Version: @VERSION@
Requires: Requires:
Requires.private: libcrypto libssl
Conflicts: Conflicts:
Libs: -L${libdir} -ltls Libs: -L${libdir} -ltls
Libs.private: @LIBS@ -lcrypto -lssl @PLATFORM_LDADD@ Libs.private: @LIBS@ @PLATFORM_LDADD@
Cflags: -I${includedir} Cflags: -I${includedir}

View File

@ -6,6 +6,15 @@ EXTRA_DIST = VERSION
EXTRA_DIST += CMakeLists.txt EXTRA_DIST += CMakeLists.txt
EXTRA_DIST += ssl.sym EXTRA_DIST += ssl.sym
CLEANFILES = libssl_la_objects.mk
EXTRA_libssl_la_DEPENDENCIES = libssl_la_objects.mk
libssl_la_objects.mk: Makefile
@echo "libssl_la_objects= $(libssl_la_OBJECTS)" \
| sed 's/ */ $$\(abs_top_builddir\)\/ssl\//g' \
> libssl_la_objects.mk
libssl_la_LDFLAGS = -version-info @LIBSSL_VERSION@ -no-undefined -export-symbols $(top_srcdir)/ssl/ssl.sym libssl_la_LDFLAGS = -version-info @LIBSSL_VERSION@ -no-undefined -export-symbols $(top_srcdir)/ssl/ssl.sym
libssl_la_LIBADD = $(abs_top_builddir)/crypto/libcrypto.la $(PLATFORM_LDADD) libssl_la_LIBADD = $(abs_top_builddir)/crypto/libcrypto.la $(PLATFORM_LDADD)

View File

@ -1,5 +1,8 @@
include $(top_srcdir)/Makefile.am.common include $(top_srcdir)/Makefile.am.common
-include $(abs_top_builddir)/crypto/libcrypto_la_objects.mk
-include $(abs_top_builddir)/ssl/libssl_la_objects.mk
lib_LTLIBRARIES = libtls.la lib_LTLIBRARIES = libtls.la
EXTRA_DIST = VERSION EXTRA_DIST = VERSION
@ -7,8 +10,10 @@ EXTRA_DIST += CMakeLists.txt
EXTRA_DIST += tls.sym EXTRA_DIST += tls.sym
libtls_la_LDFLAGS = -version-info @LIBTLS_VERSION@ -no-undefined -export-symbols $(top_srcdir)/tls/tls.sym libtls_la_LDFLAGS = -version-info @LIBTLS_VERSION@ -no-undefined -export-symbols $(top_srcdir)/tls/tls.sym
libtls_la_LIBADD = $(abs_top_builddir)/ssl/libssl.la libtls_la_LIBADD = $(libcrypto_la_objects)
libtls_la_LIBADD += $(abs_top_builddir)/crypto/libcrypto.la libtls_la_LIBADD += $(libcompat_la_objects)
libtls_la_LIBADD += $(libcompatnoopt_la_objects)
libtls_la_LIBADD += $(libssl_la_objects)
libtls_la_LIBADD += $(PLATFORM_LDADD) libtls_la_LIBADD += $(PLATFORM_LDADD)
libtls_la_CPPFLAGS = $(AM_CPPFLAGS) libtls_la_CPPFLAGS = $(AM_CPPFLAGS)