pkgsrc/devel/gmp/Makefile
wiz aefffb5ad9 Update to 4.3.1. Add gnu-gpl-v3 to LICENSE, since README claims it
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".
2009-08-16 13:42:33 +00:00

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"