1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-05 01:55:52 +00:00
freebsd-ports/security/axTLS/Makefile
2017-12-20 14:21:58 +00:00

140 lines
4.4 KiB
Makefile

# Created by: Hirohisa Yamaguchi <umq@ueo.co.jp>
# $FreeBSD$
PORTNAME= axTLS
PORTVERSION= 1.4.9
PORTREVISION= 2
CATEGORIES= security devel net
MASTER_SITES= SF/${PORTNAME:tl}/${PORTVERSION}
MAINTAINER= umq@ueo.co.jp
COMMENT= SSL/TLS client/server library implementation
LICENSE= BSD3CLAUSE
OPTIONS_DEFINE= COMPAT_OPENSSL HTTPD TLSWRAP X509 PERL DOCS DEBUG TEST
OPTIONS_SINGLE= MODE PROT
OPTIONS_SINGLE_MODE= SERVER_ONLY CERT_VERIFICATION ENABLE_CLIENT \
FULL_MODE SKELETON_MODE
OPTIONS_SINGLE_PROT= PROT_LOW PROT_MEDIUM PROT_HIGH
OPTIONS_DEFAULT= FULL_MODE PROT_MEDIUM
COMPAT_OPENSSL_DESC= OpenSSL compatible API
TLSWRAP_DESC= Build TLS wrapper like sslwrap
X509_DESC= Generate X.509 Certificate
PERL_DESC= Perl bindings or support
DOCS_DESC= Build and/or install documentation (require doxygen)
TEST_DESC= Build test suite when available
MODE_DESC= SSL Library mode
PROT_DESC= Protocol Preference
SERVER_ONLY_DESC= Server only (no verification)
CERT_VERIFICATION_DESC= Server only (with verification)
ENABLE_CLIENT_DESC= Client/Server enabled
FULL_MODE_DESC= Client/Server enabled with diagnostics
SKELETON_MODE_DESC= The smallest library with least performance (experimental)
PROT_LOW_DESC= Use the fastest cipher(s) but at the expense of security
PROT_MEDIUM_DESC= Balance between speed and security
PROT_HIGH_DESC= Use the strongest cipher(s) at the cost of speed
CONFIG_SUB= PREFIX=\"${PREFIX}\" WWWDIR=\"${WWWDIR}\" \
HTTP_PORT=${WITH_HTTP_PORT} SSL_PORT=${WITH_SSL_PORT}
NO_OPTIONS_SORT=yes
USES= gmake
USE_LDCONFIG= yes
WRKSRC= ${WRKDIR}/${PORTNAME}
STAGE= ${WRKSRC}/_stage
WITH_HTTP_PORT?= 80
WITH_SSL_PORT?= 443
PERL_BUILD_DEPENDS= swig3.0:devel/swig30
PERL_BINARY_ALIAS= swig=swig3.0
PERL_USES= perl5
DOCS_BUILD_DEPENDS= doxygen:devel/doxygen
OPTIONS_SUB= yes
PORTDOCS= *
.include <bsd.port.options.mk>
.for i in SERVER_ONLY CERT_VERIFICATION ENABLE_CLIENT FULL_MODE \
SKELETON_MODE PROT_HIGH PROT_MEDIUM PROT_LOW COMPAT_OPENSSL \
HTTPD TLSWRAP X509 PERL DEBUG
. if ${PORT_OPTIONS:M${i}}
CONFIG_SUB+= ${i}=""
. else
CONFIG_SUB+= ${i}="\# "
. endif
.endfor
.if ${PORT_OPTIONS:MTEST}
. if ${PORT_OPTIONS:MCERT_VERIFICATION} || \
${PORT_OPTIONS:MENABLE_CLIENT} || \
${PORT_OPTIONS:MFULL_MODE}
CONFIG_SUB+= TEST_PERF=""
. else
CONFIG_SUB+= TEST_PERF="\# "
. endif
. if ${PORT_OPTIONS:MFULL_MODE} && empty(PORT_OPTIONS:MX509)
CONFIG_SUB+= TEST_SSL=""
. else
CONFIG_SUB+= TEST_SSL="\# "
. endif
.else
CONFIG_SUB+= TEST_PERF="\# " \
TEST_SSL="\# "
.endif
_CONFIG_SUB_TEMP= ${CONFIG_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/}
post-patch:
${REINPLACE_CMD} -e '/^CC/s|gcc|${CC}|; /^HOSTCC/s|gcc|${CC}|' \
${WRKSRC}/config/Rules.mak
do-configure:
@${SED} ${_CONFIG_SUB_TEMP} \
-e '/^\([^#]*\) is not set$$/s//\1=y/' \
${FILESDIR}/data-.config.in > ${WRKSRC}/config/.config
${DO_MAKE_BUILD} -C ${WRKSRC} oldconfig
post-build:
.if ${PORT_OPTIONS:MDOCS}
${DO_MAKE_BUILD} -C ${WRKSRC} docs
.endif
do-install:
${INSTALL_DATA} ${STAGE}/libaxtls.a ${STAGEDIR}${PREFIX}/lib
${INSTALL_LIB} ${STAGE}/libaxtls.so.1.2 ${STAGEDIR}${PREFIX}/lib
${LN} -s libaxtls.so.1.2 ${STAGEDIR}${PREFIX}/lib/libaxtls.so.1
${LN} -fs libaxtls.so.1 ${STAGEDIR}${PREFIX}/lib/libaxtls.so
${INSTALL_PROGRAM} ${STAGE}/axssl ${STAGEDIR}${PREFIX}/bin
.if ${PORT_OPTIONS:MHTTPD}
${INSTALL_PROGRAM} ${STAGE}/htpasswd ${STAGEDIR}${PREFIX}/bin/axhtpasswd
${INSTALL_PROGRAM} ${STAGE}/axhttpd ${STAGEDIR}${PREFIX}/bin
.endif
.if ${PORT_OPTIONS:MTLSWRAP}
${INSTALL_PROGRAM} ${STAGE}/axtlswrap ${STAGEDIR}${PREFIX}/bin
.endif
.if ${PORT_OPTIONS:MPERL}
@${MKDIR} ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/auto
${INSTALL_SCRIPT} ${STAGE}/axssl.pl ${STAGEDIR}${PREFIX}/bin
${INSTALL_SCRIPT} ${STAGE}/axtlsp.pm ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}
${INSTALL_LIB} ${STAGE}/libaxtlsp.so ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/auto
.endif
@${MKDIR} ${STAGEDIR}${PREFIX}/include/axTLS
${INSTALL_DATA} ${WRKSRC}/crypto/*.h ${STAGEDIR}${PREFIX}/include/axTLS
${INSTALL_DATA} ${WRKSRC}/ssl/*.h ${STAGEDIR}${PREFIX}/include/axTLS
${RM} ${STAGEDIR}${PREFIX}/include/axTLS/cert.h
${RM} ${STAGEDIR}${PREFIX}/include/axTLS/private_key.h
${RM} ${STAGEDIR}${PREFIX}/include/axTLS/os_port.h
${INSTALL_DATA} ${WRKSRC}/config/config.h ${STAGEDIR}${PREFIX}/include/axTLS
.if ${PORT_OPTIONS:MDOCS}
@${MKDIR} ${STAGEDIR}${DOCSDIR}
cd ${WRKSRC}/docsrc/html && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}
.endif
regression-test: build
${DO_MAKE_BUILD} -C ${WRKSRC} test
cd ${WRKSRC} && ${MAKE_CMD} test
.include <bsd.port.mk>