7ad5be5d76
Changes between GMP version 6.0.* and 6.1.0 BUGS FIXED * The public function mpn_com is now correctly declared in gmp.h. * Healed possible failures of mpn_sec_sqr for non-cryptographic sizes for some obsolete CPUs. * The option --disable-assembly now disables all inlined asm. * Fixed bug affecting mini-gmp's bitwise functions mpz_setbit, mpz_clrbit, and mpz_combit. * Various problems related to precision for mpf have been fixed. * Fixed ABI incompatible stack alignment in calls from assembly code. * Fixed PIC bug in popcount affecting Intel processors using the 32-bit ABI. SPEEDUPS * Speedup for Intel Broadwell and Skylake though assembly code making use of new ADX instructions. * Square root is now faster when the remainder is not needed. Also the speed to compute the k-th root improved, for small sizes. * Improved arm64 support. FEATURES * New C++ functions gcd and lcm for mpz_class. * New public mpn functions mpn_divexact_1, mpn_zero_p, and mpn_cnd_swap. * New public mpq_cmp_z function, to efficiently compare rationals with integers. * Support for Darwin in all x86 code, thereby enabling fat builds on Darwin. * Support for more 32-bit arm processors. * Support for compilation with clang/llvm on more platforms. Caution: GMP triggers mis-compilation bugs in clang for many platforms, such as arm, x86 (32-bit and 64-bit), powerpc, mips. * Support for AVX-less modern x86 CPUs. (Such support might be missing either because the CPU vendor chose to disable AVX, or because the running kernel lacks AVX context switch support.) * Stack usage trimmed; we believe 512 KiB is now sufficient for any GMP call, irrespective of operand size. * Support for NetBSD under Xen; we switch off AVX unconditionally under NetBSD since a bug in NetBSD makes AVX fail under Xen. MISC * We now use manufacturers' code names for x86 CPUs, e.g., "haswell" instead of names derived from the commercial brands. * Small improvements and better coverage for the test suite. * The various FreeBSD problems listed for 6.0.0 affect this release too. * Tuned values for FFT multiplications are provided for larger number on many platforms.
80 lines
2.1 KiB
Makefile
80 lines
2.1 KiB
Makefile
# $NetBSD: Makefile,v 1.78 2015/11/13 11:36:44 wiz Exp $
|
|
|
|
DISTNAME= gmp-6.1.0
|
|
CATEGORIES= devel math
|
|
MASTER_SITES= https://gmplib.org/download/gmp/ \
|
|
${MASTER_SITE_GNU:=gmp/}
|
|
# Use .tar.bz2 distfile so that no extra dependency on archivers/xz
|
|
# is needed when building lang/gcc* with option gcc-inplace-math.
|
|
EXTRACT_SUFX= .tar.bz2
|
|
|
|
MAINTAINER= pkgsrc-users@NetBSD.org
|
|
HOMEPAGE= http://gmplib.org/
|
|
COMMENT= Library for arbitrary precision arithmetic
|
|
LICENSE= gnu-lgpl-v3 OR gnu-gpl-v2
|
|
|
|
INFO_FILES= yes
|
|
USE_LANGUAGES= c c++ c99
|
|
USE_LIBTOOL= yes
|
|
USE_TOOLS+= gm4 autoconf makeinfo
|
|
GNU_CONFIGURE= yes
|
|
CONFIGURE_ARGS+= --without-readline
|
|
|
|
WRKSRC= ${WRKDIR}/${DISTNAME:S/a$//}
|
|
|
|
TEST_TARGET= check
|
|
|
|
PLIST_VARS+= cxx
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
.if !empty(USE_CROSS_COMPILE:M[yY][eE][sS])
|
|
CONFIGURE_ENV+= CC_FOR_BUILD=${NATIVE_CC:Q}
|
|
.endif
|
|
|
|
.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"
|
|
# XXX SunOS should work, but currently bombs in mpn/fat.c
|
|
. if ${OPSYS} == "Darwin" || ${OPSYS} == "SunOS" || !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, with CPU autodetection.
|
|
### XXX this option should be provided for amd64 too!
|
|
###
|
|
### 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
|
|
. endif
|
|
. endif
|
|
.endif
|
|
|
|
pre-configure:
|
|
cd ${WRKSRC} && type autoconf && autoconf
|
|
|
|
.include "../../mk/bsd.pkg.mk"
|