also affects some files. Changes between GMP version 4.3.0 and 4.3.1 Bugs: * Fixed bug in mpn_gcdext, affecting also mpz_gcdext and mpz_invert. The bug could cause a cofactor to have a leading zero limb, which could lead to crashes or miscomputation later on. * Fixed some minor documentation issues. Features: * Workarounds for various issues with Mac OS X's build tools. * Recognise more IBM "POWER" processor variants. Changes between GMP version 4.2.X and 4.3.0 Bugs: * Fixed bug in mpz_perfect_power_p with recognition of negative perfect powers that can be written both as an even and odd power. * We might accidentally have added bugs since there is a large amount of new code in this release. Speedups: * Vastly improved assembly code for x86-64 processors from AMD and Intel. * Major improvements also for many other processor families, such as Alpha, PowerPC, and Itanium. * New sub-quadratic mpn_gcd and mpn_gcdext, as well as improved basecase gcd code. * The multiply FFT code has been slightly improved. * Balanced multiplication now uses 4-way Toom in addition to schoolbook, Karatsuba, 3-way Toom, and FFT. * Unbalanced multiplication has been vastly improved. * Improved schoolbook division by means of faster quotient approximation. * Several new algorithms for division and mod by single limbs, giving many-fold speedups. * Improved nth root computations. * The mpz_nextprime function uses sieving and is much faster. * Countless minor tweaks. Features: * Updated support for fat binaries for x86_32 include current processors * Lots of new mpn internal interfaces. Some of them will become public in a future GMP release. * Support for the 32-bit ABI under x86-apple-darwin. * x86 CPU recognition code should now default better for future processors. * The experimental nails feature does not work in this release, but it might be re-enabled in the future. Misc: * The gmp_version variable now always contains three parts. For this release, it is "4.3.0".
76 lines
2 KiB
Makefile
76 lines
2 KiB
Makefile
# $NetBSD: Makefile,v 1.57 2009/08/16 13:42:33 wiz Exp $
|
|
|
|
DISTNAME= gmp-4.3.1
|
|
CATEGORIES= devel math
|
|
MASTER_SITES= ${MASTER_SITE_GNU:=gmp/}
|
|
EXTRACT_SUFX= .tar.bz2
|
|
|
|
MAINTAINER= pkgsrc-users@NetBSD.org
|
|
HOMEPAGE= http://gmplib.org/
|
|
COMMENT= Library for arbitrary precision arithmetic
|
|
LICENSE= gnu-lgpl-v3 AND gnu-gpl-v3
|
|
|
|
PKG_DESTDIR_SUPPORT= user-destdir
|
|
PKG_INSTALLATION_TYPES= overwrite pkgviews
|
|
|
|
GNU_CONFIGURE= yes
|
|
INFO_FILES= yes
|
|
USE_LANGUAGES= c c++ c99
|
|
USE_LIBTOOL= yes
|
|
USE_TOOLS+= gm4 autoconf makeinfo
|
|
|
|
CONFIGURE_ARGS+= --without-readline
|
|
|
|
TEST_TARGET= check
|
|
|
|
PLIST_VARS+= cxx
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
.if empty(PKGSRC_COMPILER:Msunpro)
|
|
CONFIGURE_ARGS+= --enable-cxx
|
|
PLIST.cxx= yes
|
|
.endif
|
|
|
|
.if !empty(MACHINE_PLATFORM:MIRIX-5*) && !empty(ABI)
|
|
ABI= o32
|
|
.endif
|
|
|
|
.if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "arm32"
|
|
# The configure script thinks gcc 2.95 for ARM is too buggy to use.
|
|
GCC_REQD+= 3.0
|
|
.endif
|
|
|
|
.if ${MACHINE_ARCH} == "i386"
|
|
. if ${OPSYS} == "Darwin" || !empty(PKGSRC_COMPILER:Msunpro)
|
|
# don't use x86 assembly (it doesn't build)
|
|
CONFIGURE_ENV+= MPN_PATH="generic"
|
|
. else
|
|
PKG_OPTIONS_VAR= PKG_OPTIONS.gmp
|
|
PKG_SUPPORTED_OPTIONS= gmp-fat mmx simd
|
|
PKG_SUGGESTED_OPTIONS= gmp-fat
|
|
. include "../../mk/bsd.options.mk"
|
|
###
|
|
### Support for a "fat" binary on i386. There's CPU autodetection,
|
|
### so we'll be safe and filter out -march/-mcpu, et. al.
|
|
###
|
|
### XXX Currently, the 'mmx' and 'simd' options imply the same thing,
|
|
### as cpu detection is done at runtime. Is there a more elegant
|
|
### way to handle this?
|
|
###
|
|
. if empty(PKG_OPTIONS:Mgmp-fat) && \
|
|
(!empty(PKG_OPTIONS:Mmmx) || !empty(PKG_OPTIONS:Msimd))
|
|
PKG_OPTIONS+= gmp-fat
|
|
. endif
|
|
. if !empty(PKG_OPTIONS:Mgmp-fat)
|
|
CONFIGURE_ARGS+= --enable-fat
|
|
BUILDLINK_TRANSFORM+= rm-optarg:-march rm-optarg:-mcpu
|
|
BUILDLINK_TRANSFORM+= rm:-mmmx rm:-msse rm:-msse2 rm:-msse3 rm:-m3dnow
|
|
. endif
|
|
. endif
|
|
.endif
|
|
|
|
pre-configure:
|
|
cd ${WRKSRC} && type autoconf && autoconf
|
|
|
|
.include "../../mk/bsd.pkg.mk"
|