Tweak math/geg version 1.0.2_7
[dports.git] / math / msieve / Makefile
1 # Created by: Daniel Roethlisberger <daniel@roe.ch>
2 # $FreeBSD$
3
4 PORTNAME=       msieve
5 PORTVERSION=    1.51
6 CATEGORIES=     math
7 MASTER_SITES=   SF
8 MASTER_SITE_SUBDIR=     \
9         ${PORTNAME}/${PORTNAME}/${PORTNAME:C/^m/M/}%20v${PORTVERSION}
10 DISTNAME=       ${PORTNAME}${PORTVERSION:S/.//}
11
12 MAINTAINER=     bf@FreeBSD.org
13 COMMENT=        Fast factorization of big integers using MPQS and GNFS
14
15 BUILD_DEPENDS=  ${LOCALBASE}/lib/libecm.a:${PORTSDIR}/math/gmp-ecm
16
17 WRKSRC=         ${WRKDIR}/${PORTNAME}-${PORTVERSION}
18 USES=           gmake
19 MAKE_ENV=       ECM=1
20
21 HEADERS=        mp.h msieve.h util.h
22 PLIST_FILES=    bin/msieve lib/libmsieve.a ${HEADERS:S|^|include/msieve/|}
23 PLIST_DIRS=     include/msieve
24 PORTDOCS=       Changes Readme Readme.nfs Readme.qs
25
26 OPTIONS_DEFINE=         OPTIMIZED_CFLAGS DOCS
27 OPTIONS_DEFAULT=        OPTIMIZED_CFLAGS
28
29 .include <bsd.port.options.mk>
30
31 .if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS}
32 CFLAGS+=        -O3 -ffast-math
33 .if defined(WITHOUT_DEBUG) || !defined(WITH_DEBUG)
34 CFLAGS+=        -fomit-frame-pointer -DNDEBUG
35 .endif
36 .endif
37
38 .if ${MACHINE_CPU:Mathlon}
39 CFLAGS+=        -DHAS_AMD_MMX
40 .endif
41
42 .if ${MACHINE_CPU:Msse}
43 CFLAGS+=        -DHAS_SSE
44 .endif
45
46 .if ${MACHINE_CPU:Msse2}
47 CFLAGS+=        -DHAS_SSE2
48 .endif
49
50 .if ${OSVERSION} >= 700042 && ${ARCH} == "sparc64"
51 BROKEN=         Does not compile on sparc64
52 .endif
53
54 post-patch:
55         @${REINPLACE_CMD} -E \
56                 -e '/(^(CC|OPT_FLAGS) =|-DNDEBUG|svnversion|-ldl)/d' \
57                 -e '/^CFLAGS =/s/=/+=/' \
58                 -e 's@-Ignfs/poly/stage1@& -I${LOCALBASE}/include@' \
59                 -e 's@-lecm@-L${LOCALBASE}/lib &@' \
60                 -e 's/-lpthread/-pthread/' \
61                 -e 's/-DHAS_SSE2//' \
62                 ${WRKSRC}/Makefile
63
64 do-install:
65         @${INSTALL_PROGRAM} ${WRKSRC}/msieve ${STAGEDIR}${PREFIX}/bin
66         @${MKDIR} ${STAGEDIR}${PREFIX}/include/msieve
67         @cd ${WRKSRC}/include; ${INSTALL_DATA} ${HEADERS} ${STAGEDIR}${PREFIX}/include/msieve
68         @${INSTALL_LIB} ${WRKSRC}/libmsieve.a ${STAGEDIR}${PREFIX}/lib
69 .if ${PORT_OPTIONS:MDOCS}
70         @${MKDIR} ${STAGEDIR}${DOCSDIR}
71         @cd ${WRKSRC}; ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}
72 .endif
73
74 regression-test test check: build
75         @cd ${WRKSRC}; \
76         ./msieve -q -d 1 2385734365243128176756453434347656453122245767798
77
78 .include <bsd.port.mk>