aboutsummaryrefslogtreecommitdiffstats
path: root/math/tomsfastmath/Makefile
blob: d9e5ec3888f614309cfecb35ef5645b3dc9877bb (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
# $FreeBSD$

PORTNAME=   tomsfastmath
PORTVERSION=    0.12
PORTREVISION=   3
CATEGORIES= math
MASTER_SITES=   http://libtom.net/files/
DISTNAME=   tfm-${PORTVERSION}

MAINTAINER= ports@FreeBSD.org
COMMENT=    Portable fixed precision math library for fast exponentiations

BROKEN_powerpc= internal compiler error at src/mul/fp_mul_comba_48.c:398

USES=       compiler:features gmake tar:bzip2
WRKSRC=     ${WRKDIR}/${PORTNAME}-${PORTVERSION}
MAKEFILE=   makefile
ALL_TARGET= default

PLIST_FILES=    include/tfm.h lib/libtfm.a

.include <bsd.port.pre.mk>

.if ${ARCH} == i386
# on clang:
# src/mul/fp_mul_comba.c:349:11: error: inline assembly requires more registers than available
USE_GCC=    yes
.endif

# Unbreak against Clang ("cc" is not a register)
post-patch:
    @${REINPLACE_CMD} -e 's,"%cc","cc",' \
        ${WRKSRC}/src/mont/fp_montgomery_reduce.c \
        ${WRKSRC}/src/mul/fp_mul_comba.c \
        ${WRKSRC}/src/sqr/fp_sqr_comba.c

.include <bsd.port.post.mk>