1 # Created by: Daniel Roethlisberger <daniel@roe.ch>
9 ${PORTNAME}/${PORTNAME}/${PORTNAME:C/^m/M/}%20v${PORTVERSION}
10 DISTNAME= ${PORTNAME}${PORTVERSION:S/.//}
12 MAINTAINER= bf@FreeBSD.org
13 COMMENT= Fast factorization of big integers using MPQS and GNFS
15 BUILD_DEPENDS= ${LOCALBASE}/lib/libecm.a:${PORTSDIR}/math/gmp-ecm
17 WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
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
26 OPTIONS_DEFINE= OPTIMIZED_CFLAGS DOCS
27 OPTIONS_DEFAULT= OPTIMIZED_CFLAGS
29 .include <bsd.port.options.mk>
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
38 .if ${MACHINE_CPU:Mathlon}
39 CFLAGS+= -DHAS_AMD_MMX
42 .if ${MACHINE_CPU:Msse}
46 .if ${MACHINE_CPU:Msse2}
50 .if ${OSVERSION} >= 700042 && ${ARCH} == "sparc64"
51 BROKEN= Does not compile on sparc64
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/' \
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}
74 regression-test test check: build
76 ./msieve -q -d 1 2385734365243128176756453434347656453122245767798
78 .include <bsd.port.mk>