aboutsummaryrefslogtreecommitdiffstats
path: root/security/libtomcrypt/Makefile
blob: d091e435b26ac0f485b9c1b8d640132ca66f694c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# Created by: Yonatan <Yonatan@Xpert.com>
# $FreeBSD$

PORTNAME=   libtomcrypt
PORTVERSION=    1.17
PORTREVISION=   4
CATEGORIES= security
MASTER_SITES=   http://libtom.org/files/
DISTNAME=   crypt-${PORTVERSION}

MAINTAINER= ports@FreeBSD.org
COMMENT=    Comprehensive, modular, and portable cryptographic toolkit

LICENSE=    PD
LICENSE_NAME=   Public Domain
LICENSE_FILE=   ${WRKSRC}/LICENSE
LICENSE_PERMS=  dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept

CFLAGS+=    -I${LOCALBASE}/include
EXTRALIBS=  -L${LOCALBASE}/lib
MAKEFILE=   makefile.shared
ALL_TARGET= library
MAKE_ARGS=  IGNORE_SPEED=yes INCPATH="${PREFIX}/include" \
        LIBPATH="${PREFIX}/lib" EXTRALIBS="${EXTRALIBS}"
WRKSRC=     ${WRKDIR}/${PORTNAME}-${PORTVERSION}
USES=       gmake libtool:build tar:bzip2

OPTIONS_DEFINE=     DOCS
OPTIONS_DEFAULT=    LIBTOMMATH
OPTIONS_MULTI=      MATH
OPTIONS_MULTI_MATH= LIBTOMMATH TOMSFASTMATH GMP
LIBTOMMATH_DESC=    Use LibTomMath
TOMSFASTMATH_DESC=  Use TomsFastMath

.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MLIBTOMMATH}
BUILD_DEPENDS+= ${LOCALBASE}/include/tommath.h:${PORTSDIR}/math/libtommath
CFLAGS+=    -DLTM_DESC
EXTRALIBS+= -ltommath
.endif

.if ${PORT_OPTIONS:MTOMSFASTMATH}
BUILD_DEPENDS+= ${LOCALBASE}/include/tfm.h:${PORTSDIR}/math/tomsfastmath
CFLAGS+=    -DTFM_DESC
EXTRALIBS+= -ltfm
.endif

.if ${PORT_OPTIONS:MGMP}
LIB_DEPENDS+=   libgmp.so:${PORTSDIR}/math/gmp
CFLAGS+=    -DGMP_DESC
EXTRALIBS+= -lgmp
.endif

.if ! ${PORT_OPTIONS:MDOCS}
MAKE_ARGS+= NODOCS=yes
.endif

post-patch:
    ${REINPLACE_CMD} -e 's|gcc|${CC}|' -e 's| make | $$(MAKE) |' \
        -e 's|-g $$(GROUP)||' -e 's|-o $$(USER)||' \
        ${WRKSRC}/makefile.shared ${WRKSRC}/testprof/makefile.shared

post-install:
    ${MKDIR} ${STAGEDIR}${DOCSDIR}/pdf
    ${INSTALL_DATA} ${WRKSRC}/doc/crypt.pdf ${STAGEDIR}${DOCSDIR}/pdf
    ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libtomcrypt_prof.so.0
    ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libtomcrypt.so.0

.if defined(MAINTAINER_MODE)
test:   build
    @${ECHO_MSG} "Testing with -DUSE_TFM..."
    (cd ${WRKSRC} && CFLAGS="${CFLAGS} -DUSE_TFM" EXTRALIBS="-L${PREFIX}/lib -ltfm" ${MAKE_CMD} test && ${WRKSRC}/test)

    @${ECHO_MSG} "Cleaning up test binary..."
    @${RM} ${WRKSRC}/test
    @${RM} ${WRKSRC}/demos/test.o

    @${ECHO_MSG} "Testing with -DUSE_LTM..."
    (cd ${WRKSRC} && CFLAGS="${CFLAGS} -DUSE_LTM" EXTRALIBS="-L${PREFIX}/lib -ltommath" ${MAKE_CMD} test && ${WRKSRC}/test)

    @${ECHO_MSG} "Cleaning up test binary..."
    @${RM} ${WRKSRC}/test
    @${RM} ${WRKSRC}/demos/test.o

    @${ECHO_MSG} "Testing with -DUSE_GMP..."
    (cd ${WRKSRC} && CFLAGS="${CFLAGS} -DUSE_GMP" EXTRALIBS="-L${PREFIX}/lib -lgmp" ${MAKE_CMD} test && ${WRKSRC}/test)
.endif

.include <bsd.port.mk>