svn commit: r301416 - in head/security/cryptopp: . files
Xin LI
delphij at FreeBSD.org
Mon Jul 23 22:44:34 UTC 2012
Author: delphij
Date: Mon Jul 23 22:44:33 2012
New Revision: 301416
URL: http://svn.freebsd.org/changeset/ports/301416
Log:
Make it possible to build and install shared library of crypto++, and
convert to use OPTIONSng [1].
While I'm there, also add an option to build with GCC 4.6.x and newer
binutils, which enables use of AES-NI.
PR: ports/170045
Submitted by: Michael Gmelin <freebsd grem.de>
Modified:
head/security/cryptopp/Makefile
head/security/cryptopp/files/patch-GNUmakefile
head/security/cryptopp/pkg-plist
Modified: head/security/cryptopp/Makefile
==============================================================================
--- head/security/cryptopp/Makefile Mon Jul 23 21:19:52 2012 (r301415)
+++ head/security/cryptopp/Makefile Mon Jul 23 22:44:33 2012 (r301416)
@@ -7,7 +7,7 @@
PORTNAME= cryptopp
PORTVERSION= 5.6.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= security
MASTER_SITES= SF \
http://www.cryptopp.com/
@@ -16,6 +16,13 @@ DISTNAME= cryptopp${PORTVERSION:S/.//g}
MAINTAINER= delphij at FreeBSD.org
COMMENT= A free C++ class library of Cryptographic Primitives
+OPTIONS_DEFINE= DEBUG DOCS GCC46 STATIC THREADS
+OPTIONS_DEFAULT= STATIC THREADS
+STATIC_DESC= Build static version only (no shared libs)
+GCC46_DESC= Build with GCC 4.6+
+
+.include <bsd.port.options.mk>
+
NO_WRKSUBDIR= yes
USE_ZIP= yes
EXTRACT_BEFORE_ARGS= -aq
@@ -23,8 +30,30 @@ USE_GMAKE= yes
MAKE_JOBS_SAFE= yes
MAKEFILE= GNUmakefile
-.if !defined(WITH_DEBUG)
-CXXFLAGS+= -DNDEBUG
+LIBVERSION= 0
+PLIST_SUB+= LIBVERSION=${LIBVERSION}
+PLIST_SUB+= PORTVERSION=${PORTVERSION}
+
+.if !${PORT_OPTIONS:MDEBUG}
+CXXFLAGS+= -DNDEBUG
+.endif
+
+.if ${PORT_OPTIONS:MGCC46}
+USE_GCC= 4.6+
+.endif
+
+.if ${PORT_OPTIONS:MSTATIC}
+PLIST_SUB+= DYNAMIC_ENABLED="@comment "
+.else
+PLIST_SUB+= DYNAMIC_ENABLED=""
+MAKE_ARGS= all libcryptopp.so
+CXXFLAGS+= -fPIC
+USE_LDCONFIG= yes
+.endif
+
+.if ${PORT_OPTIONS:MTHREADS}
+CXXFLAGS+= ${PTHREAD_CFLAGS}
+LDFLAGS+= ${PTHREAD_LIBS}
.endif
do-install:
@@ -36,7 +65,12 @@ do-install:
-and -not -name 'resource.h'`; do \
${INSTALL_DATA} $$i ${PREFIX}/include/cryptopp; \
done)
-.if !defined(NOPORTDOCS)
+.if !${PORT_OPTIONS:MSTATIC}
+ ${INSTALL_LIB} ${WRKSRC}/libcryptopp.so ${PREFIX}/lib/libcryptopp.so.${PORTVERSION}
+ ${LN} -fs libcryptopp.so.${PORTVERSION} ${PREFIX}/lib/libcryptopp.so.${LIBVERSION}
+ ${LN} -fs libcryptopp.so.${LIBVERSION} ${PREFIX}/lib/libcryptopp.so
+.endif
+.if ${PORT_OPTIONS:MDOCS}
${MKDIR} ${PREFIX}/share/doc/cryptopp
${CP} ${WRKSRC}/Readme.txt ${PREFIX}/share/doc/cryptopp/README
${CP} ${WRKSRC}/License.txt ${PREFIX}/share/doc/cryptopp/License
Modified: head/security/cryptopp/files/patch-GNUmakefile
==============================================================================
--- head/security/cryptopp/files/patch-GNUmakefile Mon Jul 23 21:19:52 2012 (r301415)
+++ head/security/cryptopp/files/patch-GNUmakefile Mon Jul 23 22:44:33 2012 (r301416)
@@ -1,5 +1,5 @@
--- ./GNUmakefile.orig 2010-08-09 14:22:42.000000000 -0700
-+++ ./GNUmakefile 2011-01-27 12:43:08.905856979 -0800
++++ ./GNUmakefile 2012-07-21 03:14:01.000000000 +0200
@@ -1,4 +1,4 @@
-CXXFLAGS = -DNDEBUG -g -O2
+#CXXFLAGS = -DNDEBUG -g -O2
@@ -19,3 +19,12 @@
ISMINGW = $(shell $(CXX) --version 2>&1 | $(EGREP) -c "mingw")
ifneq ($(GCC42_OR_LATER),0)
+@@ -151,7 +151,7 @@
+ $(RANLIB) $@
+
+ libcryptopp.so: $(LIBOBJS)
+- $(CXX) -shared -o $@ $(LIBOBJS)
++ $(CXX) -shared -o $@ $(CXXFLAGS) $(LDFLAGS) $(LIBOBJS)
+
+ cryptest.exe: libcryptopp.a $(TESTOBJS)
+ $(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) -L. -lcryptopp $(LDFLAGS) $(LDLIBS)
Modified: head/security/cryptopp/pkg-plist
==============================================================================
--- head/security/cryptopp/pkg-plist Mon Jul 23 21:19:52 2012 (r301415)
+++ head/security/cryptopp/pkg-plist Mon Jul 23 22:44:33 2012 (r301416)
@@ -132,6 +132,9 @@ include/cryptopp/zdeflate.h
include/cryptopp/zinflate.h
include/cryptopp/zlib.h
lib/libcryptopp.a
+%%DYNAMIC_ENABLED%%lib/libcryptopp.so
+%%DYNAMIC_ENABLED%%lib/libcryptopp.so.%%LIBVERSION%%
+%%DYNAMIC_ENABLED%%lib/libcryptopp.so.%%PORTVERSION%%
@dirrm include/cryptopp
%%PORTDOCS%%%%DOCSDIR%%/README
%%PORTDOCS%%%%DOCSDIR%%/License
More information about the svn-ports-head
mailing list