powerful modern algorithms. It features a stable and very fast implementation of a self-initializing multiple polynomial quadratic sieve (MPQS), plus a highly experimental and unfinished number field sieve (NFS) implementation. Primary design goals are speed, portability and ease of use. Msieve claims to be the fastest implementation for factoring general inputs between 40 and 100 decimal digits. Author: Jason Papadopoulos <jasonp@boo.net> WWW: http://www.boo.net/~jasonp/qs.html PR: ports/107477 Submitted by: Daniel Roethlisberger <daniel at roe.ch>
55 lines
1.5 KiB
Makefile
55 lines
1.5 KiB
Makefile
# New ports collection makefile for: msieve
|
|
# Date created: 2007-01-02
|
|
# Whom: Daniel Roethlisberger <daniel@roe.ch>
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
PORTNAME= msieve
|
|
PORTVERSION= 1.13
|
|
CATEGORIES= math
|
|
MASTER_SITES= http://www.boo.net/~jasonp/ \
|
|
http://mirror.roe.ch/dist/msieve/
|
|
DISTNAME= ${PORTNAME}${PORTVERSION:S/.//}
|
|
|
|
MAINTAINER= daniel@roe.ch
|
|
COMMENT= Fast factorization of big integers using MPQS and NFS
|
|
|
|
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
|
|
USE_GMAKE= yes
|
|
MAKE_ENV= CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include" \
|
|
LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib" \
|
|
PTHREAD_LIBS="${PTHREAD_LIBS}"
|
|
|
|
PLIST_FILES= bin/msieve lib/libmsieve.a include/msieve/msieve.h \
|
|
include/msieve/mp.h include/msieve/util.h
|
|
PLIST_DIRS= include/msieve
|
|
PORTDOCS= Changes Readme Readme.nfs Readme.qs
|
|
|
|
OPTIONS= OCFLAGS "Enable optimized CFLAGS" On \
|
|
NFS "Enable Number Field Sieve (EXPERIMENTAL)" Off
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
.if !defined(WITHOUT_OCFLAGS)
|
|
CFLAGS+= -O3 -ffast-math -fomit-frame-pointer
|
|
.endif
|
|
|
|
.if defined(WITH_NFS)
|
|
LIB_DEPENDS+= gsl.9:${PORTSDIR}/math/gsl
|
|
ALL_TARGET= nfs
|
|
.endif
|
|
|
|
do-install:
|
|
${INSTALL_PROGRAM} ${WRKSRC}/msieve ${PREFIX}/bin
|
|
${MKDIR} ${PREFIX}/include/msieve
|
|
${INSTALL_DATA} ${WRKSRC}/include/msieve.h ${PREFIX}/include/msieve
|
|
${INSTALL_DATA} ${WRKSRC}/include/mp.h ${PREFIX}/include/msieve
|
|
${INSTALL_DATA} ${WRKSRC}/include/util.h ${PREFIX}/include/msieve
|
|
${INSTALL_DATA} ${WRKSRC}/libmsieve.a ${PREFIX}/lib
|
|
.if !defined(NOPORTDOCS)
|
|
${MKDIR} ${DOCSDIR}
|
|
cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}
|
|
.endif
|
|
|
|
.include <bsd.port.post.mk>
|