forked from Lainports/freebsd-ports
people. Since it was installed by default before, so it shall be now. It can be toggled with the TOOLS option. For the regression tests to run, it must be toggled OFF due to environment restrictions. While here: - Switch to plain USES=zip, it extracts fine with base unzip - Clean up whitespace - Fix portlint warnings - Rename LIBVERSION variable to SOVERSION PR: 222930 Submitted by: Roberto Fernandez Cueto <roberfern@gmail.com>
122 lines
3.7 KiB
Makefile
122 lines
3.7 KiB
Makefile
# Created by: George Reid <greid@ukug.uk.freebsd.org>
|
|
# $FreeBSD$
|
|
|
|
# Minor version bumps may not be ABI compatible and deskutils/cdcat
|
|
# links to the static library, so bump PORTREVISION of dependent
|
|
# ports when appropriate.
|
|
|
|
PORTNAME= cryptopp
|
|
PORTVERSION= 5.6.5
|
|
PORTREVISION= 4
|
|
CATEGORIES= security
|
|
MASTER_SITES= http://www.cryptopp.com/
|
|
DISTNAME= cryptopp${PORTVERSION:S/.//g}
|
|
|
|
MAINTAINER= jhale@FreeBSD.org
|
|
COMMENT= Free C++ class library of Cryptographic Primitives
|
|
|
|
LICENSE= BSL
|
|
LICENSE_FILE= ${WRKSRC}/License.txt
|
|
|
|
BROKEN_powerpc= does not compile; unrecognized C++ options
|
|
|
|
USES= cpe gmake zip
|
|
USE_LDCONFIG= yes
|
|
CPE_PRODUCT= crypto++
|
|
CPE_VENDOR= cryptopp
|
|
|
|
EXTRACT_BEFORE_ARGS= -aq
|
|
NO_WRKSUBDIR= yes
|
|
|
|
CXXFLAGS+= -Wno-deprecated-declarations -fPIC
|
|
MAKEFILE= GNUmakefile
|
|
ALL_TARGET= static shared
|
|
|
|
SOVERSION= ${PORTVERSION:R:R}
|
|
PLIST_SUB+= SOVERSION=${SOVERSION} \
|
|
PORTVERSION=${PORTVERSION}
|
|
|
|
OPTIONS_DEFINE= DEBUG DOCS FULL_DEBUG THREADS TOOLS
|
|
OPTIONS_DEFINE_amd64= SIMD
|
|
OPTIONS_DEFINE_i386= SIMD
|
|
OPTIONS_DEFAULT= THREADS TOOLS
|
|
OPTIONS_SUB= yes
|
|
|
|
# Always compile with -DNDEBUG for release. Otherwise, sensitive
|
|
# information could be accessed if an assert triggers.
|
|
# See ${WRKSRC}/Readme.txt for more details.
|
|
FULL_DEBUG_DESC= Build with full debugging support (SECURITY RISK!!!)
|
|
FULL_DEBUG_CXXFLAGS= -DCRYPTOPP_DEBUG
|
|
FULL_DEBUG_CXXFLAGS_OFF=-DNDEBUG
|
|
FULL_DEBUG_IMPLIES= DEBUG
|
|
|
|
# Disable this option to run the regression tests.
|
|
TOOLS_DESC= Install encryption/decryption tools
|
|
TOOLS_MAKE_ENV= CRYPTOPP_DATA_DIR=${DATADIR}/
|
|
TOOLS_ALL_TARGET= cryptest.exe
|
|
TOOLS_TEST_TARGET_OFF= test
|
|
|
|
THREADS_LDFLAGS= -lpthread
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
.if ${PORT_OPTIONS:MSIMD}
|
|
. if ${MACHINE_CPU:Msse2}
|
|
USES+= compiler:c++14-lang
|
|
CXXFLAGS+= -msse2
|
|
. else
|
|
CXXFLAGS+= -DCRYPTOPP_DISABLE_ASM -DCRYPTOPP_DISABLE_SSE2
|
|
. endif
|
|
. if ${MACHINE_CPU:Msse3} && ${MACHINE_CPU:Mssse3}
|
|
CXXFLAGS+= -msse3 -mssse3
|
|
. else
|
|
CXXFLAGS+= -DCRYPTOPP_DISABLE_SSE3
|
|
. endif
|
|
. if ${MACHINE_CPU:Msse41} && ${MACHINE_CPU:Msse42}
|
|
CXXFLAGS+= -msse4.1 -msse4.2
|
|
. else
|
|
CXXFLAGS+= -DCRYPTOPP_DISABLE_SSE4
|
|
. endif
|
|
.else
|
|
CXXFLAGS+= -DCRYPTOPP_DISABLE_ASM
|
|
.endif
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
.if ${PORT_OPTIONS:MSIMD} && ${MACHINE_CPU:Msse2} && ${CHOSEN_COMPILER_TYPE} == gcc
|
|
USE_GCC= yes
|
|
.endif
|
|
|
|
pre-configure-FULL_DEBUG-on:
|
|
@${ECHO_CMD}
|
|
@${ECHO_CMD} "----------------------------- WARNING!!! ----------------------------"
|
|
@${ECHO_CMD} "You have chosen to compile with full debugging support. If an assert"
|
|
@${ECHO_CMD} "triggers, sensitive information could possibly be egressed to the"
|
|
@${ECHO_CMD} "filesystem via a core dump. If this is not your intention, hit CTRL-C"
|
|
@${ECHO_CMD} "now and run 'make config clean' and disable the FULL_DEBUG option."
|
|
@${ECHO_CMD} "---------------------------------------------------------------------"
|
|
@${ECHO_CMD}
|
|
@sleep 10
|
|
|
|
do-install:
|
|
${INSTALL_DATA} ${WRKSRC}/libcryptopp.a ${STAGEDIR}${PREFIX}/lib
|
|
${INSTALL_LIB} ${WRKSRC}/libcryptopp.so ${STAGEDIR}${PREFIX}/lib/libcryptopp.so.${PORTVERSION}
|
|
${LN} -fs libcryptopp.so.${PORTVERSION} ${STAGEDIR}${PREFIX}/lib/libcryptopp.so.${SOVERSION}
|
|
${LN} -fs libcryptopp.so.${PORTVERSION} ${STAGEDIR}${PREFIX}/lib/libcryptopp.so
|
|
@${MKDIR} ${STAGEDIR}${PREFIX}/include/cryptopp
|
|
(for i in `${FIND} ${WRKSRC}/ -name '*.h' \
|
|
-and -not -name 'dll.h' \
|
|
-and -not -name 'resource.h'`; do \
|
|
${INSTALL_DATA} $$i ${STAGEDIR}${PREFIX}/include/cryptopp; \
|
|
done)
|
|
|
|
do-install-DOCS-on:
|
|
@${MKDIR} ${STAGEDIR}${DOCSDIR}
|
|
${INSTALL_DATA} ${WRKSRC}/Readme.txt ${STAGEDIR}${DOCSDIR}/README
|
|
|
|
do-install-TOOLS-on:
|
|
@${MKDIR} ${STAGEDIR}${DATADIR}/TestData
|
|
${INSTALL_PROGRAM} ${WRKSRC}/cryptest.exe ${STAGEDIR}${PREFIX}/bin/cryptest
|
|
${INSTALL_DATA} ${WRKSRC}/TestData/usage.dat ${STAGEDIR}${DATADIR}/TestData
|
|
|
|
.include <bsd.port.post.mk>
|