modify nc build to link libcompat objects directly

Rather than assuming the static version of libcrypto exists for pulling in the compatibility functions, link the compat objects directly. This modifies the object file generation script a bit to handle the empty-case properly as well.
This commit is contained in:
Brent Cook 2020-10-18 22:14:03 -05:00
parent 6359d9404d
commit 9abd36e3af
2 changed files with 8 additions and 4 deletions

View File

@ -1,5 +1,7 @@
include $(top_srcdir)/Makefile.am.common include $(top_srcdir)/Makefile.am.common
-include $(abs_top_builddir)/crypto/libcrypto_la_objects.mk
if BUILD_NC if BUILD_NC
if ENABLE_NC if ENABLE_NC
@ -12,11 +14,13 @@ endif
EXTRA_DIST = nc.1 EXTRA_DIST = nc.1
EXTRA_DIST += CMakeLists.txt EXTRA_DIST += CMakeLists.txt
nc_LDFLAGS = $(abs_top_builddir)/crypto/.libs/libcrypto.a
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)
nc_LDADD += $(libcrypto_la_objects)
nc_LDADD += $(libcompat_la_objects)
nc_LDADD += $(libcompatnoopt_la_objects)
AM_CPPFLAGS += -I$(top_srcdir)/apps/nc/compat AM_CPPFLAGS += -I$(top_srcdir)/apps/nc/compat
nc_SOURCES = atomicio.c nc_SOURCES = atomicio.c

View File

@ -99,10 +99,10 @@ libcrypto_la_objects.mk: Makefile
| sed 's/ */ $$\(abs_top_builddir\)\/crypto\//g' \ | sed 's/ */ $$\(abs_top_builddir\)\/crypto\//g' \
> libcrypto_la_objects.mk > libcrypto_la_objects.mk
@echo "libcompat_la_objects= $(libcompat_la_OBJECTS)" \ @echo "libcompat_la_objects= $(libcompat_la_OBJECTS)" \
| sed 's/ */ $$\(abs_top_builddir\)\/crypto\//g' \ | sed 's/compat\// $$\(abs_top_builddir\)\/crypto\/&/g' \
>> libcrypto_la_objects.mk >> libcrypto_la_objects.mk
@echo "libcompatnoopt_la_objects= $(libcompatnoopt_la_OBJECTS)" \ @echo "libcompatnoopt_la_objects= $(libcompatnoopt_la_OBJECTS)" \
| sed 's/ */ $$\(abs_top_builddir\)\/crypto\//g' \ | sed 's/compat\// $$\(abs_top_builddir\)\/crypto\/&/g' \
>> libcrypto_la_objects.mk >> 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