crypto++: homogenize shared library rules. Don't bomb if ldconfig not found.

This commit is contained in:
tnn 2020-03-22 17:52:51 +00:00
parent d3a030d7b4
commit 5a3e67a0f0
4 changed files with 46 additions and 5 deletions

View file

@ -1,7 +1,8 @@
# $NetBSD: Makefile,v 1.23 2019/06/05 19:06:07 adam Exp $
# $NetBSD: Makefile,v 1.24 2020/03/22 17:52:51 tnn Exp $
DISTNAME= cryptopp820
PKGNAME= cryptopp-8.2.0
PKGREVISION= 1
CATEGORIES= security
MASTER_SITES= ${HOMEPAGE}
EXTRACT_SUFX= .zip

View file

@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.8 2019/06/05 19:06:07 adam Exp $
@comment $NetBSD: PLIST,v 1.9 2020/03/22 17:52:51 tnn Exp $
bin/cryptest
include/cryptopp/3way.h
include/cryptopp/adler32.h
@ -177,6 +177,8 @@ include/cryptopp/zinflate.h
include/cryptopp/zlib.h
lib/libcryptopp.a
lib/libcryptopp.so
lib/libcryptopp.so.8
lib/libcryptopp.so.8.2
share/cryptopp/TestData/3desval.dat
share/cryptopp/TestData/3wayval.dat
share/cryptopp/TestData/aria.dat

View file

@ -1,7 +1,7 @@
$NetBSD: distinfo,v 1.13 2019/06/05 19:06:07 adam Exp $
$NetBSD: distinfo,v 1.14 2020/03/22 17:52:51 tnn Exp $
SHA1 (cryptopp820.zip) = b042d2f0c93410abdec7c12bcd92787d019f8da1
RMD160 (cryptopp820.zip) = cdb5f1b9152cfccc35c5cca3027437e60cf63dea
SHA512 (cryptopp820.zip) = 753513a4ec8dd0fff2f551853ce6bd265d82219c28b033565b565b5e567fbee17adb419f4cde58a97e62b7d6533f4099aa4996cd0ba4775c6a2e7ae63a879da5
Size (cryptopp820.zip) = 8859815 bytes
SHA1 (patch-GNUmakefile) = 9a3a0d09a458730c6c9a5d9300c96417261173bc
SHA1 (patch-GNUmakefile) = 1f33abf6889a094cf249ca25bead7c533e9ba5aa

View file

@ -1,4 +1,4 @@
$NetBSD: patch-GNUmakefile,v 1.2 2019/06/05 19:06:07 adam Exp $
$NetBSD: patch-GNUmakefile,v 1.3 2020/03/22 17:52:52 tnn Exp $
Avoid -march=native compiler flag.
On Darwin, use absolute path to avoid conflict with devel/libtool.
@ -6,6 +6,24 @@ Fix dylib name.
--- GNUmakefile.orig 2019-04-28 23:36:50.000000000 +0000
+++ GNUmakefile
@@ -27,7 +27,7 @@ CHMOD ?= chmod
MKDIR ?= mkdir -p
LN ?= ln -sf
-LDCONF ?= /sbin/ldconfig -n
+LDCONF ?= true
# Solaris provides a non-Posix grep at /usr/bin
ifneq ($(wildcard /usr/xpg4/bin/grep),)
@@ -83,7 +83,7 @@ endif
# Enable shared object versioning for Linux and Solaris
HAS_SOLIB_VERSION ?= 0
-ifneq ($(IS_LINUX)$(IS_HURD)$(IS_SUN),000)
+ifeq ($(IS_DARWIN),0)
HAS_SOLIB_VERSION := 1
endif
@@ -140,7 +140,7 @@ endif
ifneq ($(IS_DARWIN),0)
CXX ?= c++
@ -48,6 +66,18 @@ Fix dylib name.
# Undefined Behavior Sanitizer (UBsan) testing. Issue 'make ubsan'.
ifeq ($(findstring ubsan,$(MAKECMDGOALS)),ubsan)
@@ -1006,9 +980,9 @@ ifeq ($(HAS_SOLIB_VERSION),1)
# Different patchlevels and minors are compatible since 6.1
SOLIB_COMPAT_SUFFIX=.$(LIB_MAJOR)
# Linux uses -Wl,-soname
-ifneq ($(IS_LINUX)$(IS_HURD),00)
+ifneq ($(IS_LINUX)$(IS_HURD)$(IS_NETBSD),00)
# Linux uses full version suffix for shared library
-SOLIB_VERSION_SUFFIX=.$(LIB_MAJOR).$(LIB_MINOR).$(LIB_PATCH)
+SOLIB_VERSION_SUFFIX=.$(LIB_MAJOR).$(LIB_MINOR)
SOLIB_FLAGS=-Wl,-soname,libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
endif
# Solaris uses -Wl,-h
@@ -1248,7 +1222,7 @@ ifneq ($(wildcard libcryptopp.dylib),)
@-$(MKDIR) $(DESTDIR)$(LIBDIR)
$(CP) libcryptopp.dylib $(DESTDIR)$(LIBDIR)
@ -57,3 +87,11 @@ Fix dylib name.
endif
ifneq ($(wildcard libcryptopp.so$(SOLIB_VERSION_SUFFIX)),)
@-$(MKDIR) $(DESTDIR)$(LIBDIR)
@@ -1256,6 +1230,7 @@ ifneq ($(wildcard libcryptopp.so$(SOLIB_
$(CHMOD) 0755 $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX)
ifeq ($(HAS_SOLIB_VERSION),1)
-$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so
+ -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
$(LDCONF) $(DESTDIR)$(LIBDIR)
endif
endif