Summary: | [PATCH] security/cryptopp: Optional build of shared library version | ||||||
---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Michael Gmelin <freebsd> | ||||
Component: | Individual Port(s) | Assignee: | Xin LI <delphij> | ||||
Status: | Closed FIXED | ||||||
Severity: | Affects Only Me | CC: | delphij | ||||
Priority: | Normal | ||||||
Version: | Latest | ||||||
Hardware: | Any | ||||||
OS: | Any | ||||||
Attachments: |
|
Description
Michael Gmelin
2012-07-21 03:30:14 UTC
Responsible Changed From-To: freebsd-ports-bugs->delphij Over to maintainer (via the GNATS Auto Assign Tool) 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@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 _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org" State Changed From-To: open->closed Committed, thanks! (Note that the original submission gets DEBUG handling the different way, making it -DNDEBUG when DEBUG is desired, fixed in the commit). Thanks for correcting the flaw. |