SageMath Logo
This is a mirror of SageMath - Open Source Mathematics Software. Here, you can download SageMath for your system and platform. Not sure what to download? Then follow the download guide. For more information, visit the SageMath website.

Files

↑ up one directory level
Current Directory: upstream/mpir
= MPIR =

== Description ==

MPIR is an open source multiprecision integer library derived from
version 5.0.1 of the GMP (GNU Multi Precision) project (which was
licensed LGPL v2+).

See http://www.mpir.org

== License ==
 * LGPL V3+

== SPKG Maintainers ==
 * William Stein

== Upstream Contact ==
 * The Google group mpir-devel
 * thempirteam@googlemail.com

== Dependencies ==
 * iconv
 * GNU patch

== Special Update/Build Instructions ==
 * TODO:
   - Perhaps also modify CXXFLAGS (and/or CPPFLAGS).
   - We currently don't use anything of GMP's/MPIR's CC setting, and matching
     with the current compiler (`$CC`) is perhaps suboptimal.
 * Make sure the patches still apply.
 * Remove some files / directories not needed for Sage from upstream:
     rm -rf src/build.vc*             # Microsoft Visual C build files
     rm -rf src/yasm/Mkfiles/{dj,vc*} # DJGPP, Microsoft Visual C
   (Saves 13 of 40 MB uncompressed.)

=== Patches ===
 * gmp-h.in.patch: a trivial patch adding some #includes such that MPIR
   would compile on SunOS with Sun CC.  The changes in this patch only
   take effect if the preprocessor variable `__SUNPRO_CC` is defined.
 * quote_asm.patch: replace things of the form "define(OPERATION_foo,1)" by
   "define(`OPERATION_foo',1)".  This gives proper quoting for use with m4,
   otherwise the define might expand to "define(,1)".  Some versions of m4
   bail out with an error when encountering "define(,1)".
   These files were patched using
     find mpn -name '*.asm' -exec sed -i 's/define(\(OPERATION[^,]*\),/define(\`\1'"'"',/' {} \;
 * configure-cxx.patch: remove libtool C++ hack to let MPIR build correctly
   on Cygwin when C++ support is disabled.
 * configure.patch: add some extra run-time configure tests, remove
   mentions of Fortran. Re-generated configure (using the same versions
   of autoconf, automake and libtool as the original files).
 * core-prescott-configure.patch: fix upstream bug breaking support for
   core-*-* and prescott-*-*, at least on non-MacOS-X systems.  (The bug
   results in requiring `ABI=standard` on these platforms, and only using the
   generic C implementation when configured that way.)
   Patches `configure`, `acinclude.m4` and `configure.in`; to be applied
   *after* `patches/configure.patch` (which its name should currently make
   sure).  Submitted upstream (against MPIR 2.6.0; 26.02.2013).
 * clang-config.patch: remove one broken configure test and fix one test
   for Clang, see http://trac.sagemath.org/ticket/13948
 * mpz__t-scan-bugfix.patch: fix trivial bug in `tests/mpz/t-scan.c` leading
   to a segfault (during the test suite) with newer GCC versions.
   Submitted upstream (against MPIR 2.6.0; 02.04.2013).
 * apple.patch: make sure 32 bits Apple Darwin use the correct asm directories.

== Changelog ==

=== mpir-2.6.0.p4 (Jean-Pierre Flori, 6 November 2013) ===
 * #15364: remove libtool hack for C++ support.
 * Taken from upstream commit 2320c7d965e3277fddaf2390fdf7032d34954c8c.

=== mpir-2.6.0.p3 (Jeroen Demeyer, 2 October 2013) ===
 * #13948: clang-config.patch: fix configure script for Clang.

=== mpir-2.6.0.p2 (Leif Leonhardy, April 3rd 2013) ===
 * #14399: MPIR 2.6.0's test suite fails with GCC 4.8.0
   Rather surprisingly, this bug, now causing a segfault in MPIR's test suite,
   apparently never showed up before.
   Add patch (`mpz__t-scan-bugfix.patch`) fixing an invalid array access in
   the test code.
   Patch has been submitted upstream.

=== mpir-2.6.0.p1 (Leif Leonhardy, February 27th 2013) ===
 * #14172: MPIR 2.6.0 (but also older versions) fails to configure on Intel
   "Core" CPUs (expecting ABI to be "standard" rather than "32", which is
   just one symptom).  (Similar for Pentium4 Prescott.)
   Add patch (`core-prescott-configure.patch`) fixing `acinclude.m4`,
   `configure.in`, and the generated `configure`, rebased to the patches we
   apply in advance.
   Patch(es) have been submitted upstream.

=== mpir-2.6.0.p0 (Jean-Pierre Flori, 12 January 2013) ===
 * Trac #13137: Update to MPIR 2.6.0.
 * Modify spkg-install to rename *,asm files to *.asm files.
 * Remove -Wl,-z,noexecstack fix which has been integrated upstream.
 * Remove old code about 32 bits Apple Darwin and use slightly modified upstream fix.

=== mpir-2.5.2.p0 (John Palmieri, 3 October 2012) ===
 * Trac #13137: Update to MPIR 2.5.2.
 * Remove the patch 'patches/yasm__tools__re2c__code.c.patch'.
 * Do not use clang, which fails to compile MPIR, on OS X.

=== mpir-2.4.0.p7 (Karl-Dieter Crisman, Jean-Pierre Flori, 1 August 2012) ===
 * Trac #12115: let MPIR build on Cygwin.
 * Only build the shared version of the library on Cygwin.
 * Export ABI=32 on Cygwin.

=== mpir-2.4.0.p6 (Jeroen Demeyer, 28 May 2012) ===
 * Trac #12751: Apply the ia64 workaround for gcc-4.7.0 *only* on
   gcc-4.7.0 and not on other gcc-4.7.x versions.

=== mpir-2.4.0.p5 (Jeroen Demeyer, 27 May 2012) ===
 * Trac #12970: configure.patch: add some configure tests to check that
   certain code compiles and runs. In particular, add a runtime test
   for unsigned long/double division.
 * Additionally, remove all mentions of Fortran in the configure file.
   Supposedly, it was there to work around a libtool bug.

=== mpir-2.4.0.p4 (Jeroen Demeyer, 26 May 2012) ===
 * Trac #12954: when SAGE_FAT_BINARY=yes on systems which don't support
   --enable-fat, compile a generic binary (not assuming any particular
   CPU) by passing the output of configfsf.guess to the --build option
   of ./configure.
 * Disable SAGE_FAT_BINARY when bootstrapping GCC.
 * Rename MPIR_EXTRA_OPTS to MPIR_CONFIGURE.
 * Add configure options directly to MPIR_CONFIGURE, no longer use
   SAGE_CONF_OPTS for this.
 * When user specifies CFLAGS, append them to MPIR's flags instead of
   completely replacing MPIR's flags.
 * Remove $default_cflags and get_processor_specific_cflags().

=== mpir-2.4.0.p3 (Jeroen Demeyer, April 26th, 2012) ===
 Trac #11616, reviewer fixes:
 * When the first configure run (with CFLAGS unset) of MPIR fails, bail
   out with an error.  I am not aware of any system where MPIR fails
   to configure with CFLAGS unset but succeeds with CFLAGS set.
   This implies the following simplifications:
   - We no longer read CC and CFLAGS from /usr/include/gmp.h or
     /usr/local/include/gmp.h
   - We no longer try to add -march=native, we simply use MPIR's flags.
 * Extract $CC and $CFLAGS from Makefile instead of mpir.h, which is
   simpler and more reliable.
 * Added `quote_asm.patch` to add proper quoting to the m4 in .asm files.
 * Use `patch` to patch gmp-h.in instead of copying the file.
 * In get_processor_specific_cflags() in spkg-install, also check for
   -mpower* and -mno-power* flags, as MPIR adds -mpower on 32-bit
   PowerPC systems.

=== mpir-2.4.0.p2 (Leif Leonhardy, April 4th, 2012) ===
 #11616 (upgrading MPIR), further fixes:
 * Before enabling `-march=native`, minimalistically check whether the
   system's assembler also understands the instructions the compiler emits
   with that option.  (Work-around for e.g. GCC 4.6.3 on MacOS X 10.x and
   Intel Core i7-family CPUs with AVX.)
 * Do not unconditionally unset `PYTHON`, since Sage (>=5.0.beta10) no longer
   pollutes the environment with its package version variables, which previous-
   ly confused yasm's `configure`.
 * Fix extraction of `__GMP_CC` and `__GMP_CFLAGS` from `gmp.h`, since MPIR
   meanwhile defines these to preprocessor variables (rather than literals).
   Also don't use `\+` in `sed` patterns, as this is less portable.
 * Work around GCC 4.7.0 bug (compilation error) on Linux ia64 (Itanium) by
   almost completely disabling optimization on that platform if GCC 4.7.x
   is detected.  This doesn't hurt much if we later rebuild MPIR with a (non-
   broken) GCC from the new GCC spkg.  Cf. #12765.
 * Do not build the C++ interface and static libraries when bootstrapping the
   GCC spkg, i.e. if `SAGE_BUILD_TOOLCHAIN=yes`.  (GMP/MPIR is a prerequisite
   for it, and MPIR will later get rebuilt with both enabled, with the newly
   built GCC.)  Cf. #12782.
 * Fix a potential race condition in yasm's build by patching the re2c source.
   Cf. #11844.
 * Add "`patch` loop" to apply any patches (`*.patch`) located in `patches/`.
   Currently only the re2c patch matches that; the prepatched header to support
   Sun's C compiler is still copied over (and only on SunOS, although it doesn't
   do any harm on other platforms).
 * Minor clean-up; e.g. redirect error messages and warnings to `stderr`,
   quote parameter to `--libdir`, add some comments and messages, also save
   user's setting of `LDFLAGS` and `ABI`.

=== mpir-2.4.0.p1 (Leif Leonhardy, March 21st, 2012) ===
 * Upstream upgrade to MPIR 2.4.0 (#11616).
   The 2.4.0.p0 spkg isn't in this history, as it was based
   on the 2.1.3.p4 spkg, i.e., is "on another branch",
   and never got merged into Sage.
 * Remove forcing a sequential `make install` again, since
   the potential race condition was fixed in MPIR 2.1.4.
 * Fix `.hgtags`, which contained duplicate entries, and
   was missing others.

=== mpir-2.1.3.p9 (Simon King, 11 December 2011) ===
 * #12131: Use --libdir, so that the package works on openSUSE

=== mpir-2.1.3.p8 (Jeroen Demeyer, 10 December 2011) ===
 * #12139: Disable parallel "make install".

=== mpir-2.1.3.p7 (Leif Leonhardy, October 30th, 2011) ===
 * #11964: Use ABI=mode64 instead of ABI=64 on Linux PPC64.

=== mpir-2.1.3.p6 (Jeroen Demeyer, October 11th, 2011) ===
 * #11896: Do not set ABI at all when the compiler does not support
   $CFLAG32 nor $CFLAG64 (by default set to '-m32' resp. '-m64').

=== mpir-2.1.3.p5 (Leif Leonhardy, October 5th, 2011) ===
 * #11896: Set ABI=32 on 32-bit (Linux) systems that run on 64-bit
   processors since otherwise the build might fail with a bunch of
   assembler errors when MPIR selects the wrong (64-bit) ABI.
   (Reported upstream, but no response yet.)

=== mpir-2.1.3.p4 (Leif Leonhardy, July 19th, 2011) ===
 * #8664: Upgrade Sage's MPIR spkg to version 2.1.3
 * Do not delete old GMP/MPIR shared libraries as Sage's versions of libraries
   used by GCC might still refer to them, such that their deletion would break
   GCC inside Sage. (PPL e.g. refers to libgmpxx; MPFR and MPC are equally
   dangerous, since they're [also] used by recent versions of GCC.)
 * Some more messages (e.g on rebuilding the Sage library and other packages
   after installation) and comments added.
 * "Patches" section added.
 * Also refreshed the patched gmp-h.in for SunOS. ;-)

=== mpir-2.1.3.p3 (Leif Leonhardy, July 18th, 2011) ===
 * #8664: Upgrade Sage's MPIR spkg to version 2.1.3
 * Support MacOS 10.7 (Darwin 11) and later.
 * Add warning if SAGE_DEBUG=yes since we then disable optimization.

=== mpir-2.1.3.p2 (Leif Leonhardy, November 24th, 2010) ===
 * #8664: Upgrade Sage's MPIR spkg to version 2.1.3
 * Further improvements:
   - Let MPIR select CPU-specific code generation parameters (for CFLAGS) even
     if we (also) pass our own (or user-specified) CC and CFLAGS; these might
     be used by MPFR and GMP-ECM later, too, since MPIR's settings are recorded
     in 'gmp.h' / 'mpir.h'.
     Don't override user-settings (and respect SAGE_FAT_BINARY, SAGE_DEBUG
     etc.) though. Add '-march-native' if appropriate and supported.
  * Recognize also lower-case 'power*' arch (from 'uname -m').
  * Major restructuring / reformatting; more comments and messages added.

=== mpir-2.1.3.p1 (Leif Leonhardy, November 5th, 2010) ===
 * #8664: Upgrade Sage's MPIR spkg to version 2.1.3
 * Fix Darwin assembler errors on PPC by passing the option to allow
   use of extended instruction set to it. (See also #5847.)
 * Enable the build of a static MPIR library, to be e.g. used by ECM.
 * Support additional 'configure' options given by MPIR_EXTRA_OPTS,
   and print messages how we configure.
 * Print various environment variable settings (CC, CFLAGS et al.).
 * Move hint to rerun 'make' on *install* errors to correct place.
 * Further comments added.

=== mpir-2.1.3.p0 (Leif Leonhardy, November 3rd, 2010) ===
 * #8664: Upgrade Sage's MPIR spkg to version 2.1.3
 * Dependencies corrected (might be even more, depending on the configuration).
 * Work around executable stack issue on Fedora 14 (and other SELinux-
   enabled systems).
 * If 'make install' fails, this might be due to a rare race condition;
   give a hint that rerunning 'make' might be sufficient.
 * Support SAGE_DEBUG (disabling optimzation), but add debug symbols by
   default and enable optimization (-O3) if SAGE_DEBUG!="yes".
 * spkg-install clean-up:
   - Use $UNAME instead of `uname`.
   - Support "fat" binaries on Linux i486 and i586 as well,
     give warning if not supported (e.g. ia64 [?]).
   - Remove dead code; more or less cosmetic changes.
 * spkg-check:
   - Use $MAKE instead of 'make'.
   - Print messages on success and error.

=== mpir-1.2.2.p2 (Volker Braun, Oct 28, 2010) ===
 * Clear the execstack (executable stack) flag from the shared libraries.
 NOTE: Obsoleted by the 2.1.3 spkg(s), not in the Mercurial repository.

=== mpir-2.1.1 (Mike Hansen, August 16th, 2010) ===
 * #8664: Upgrade Sage's MPIR spkg to version 2.1.1

=== mpir-1.2.2.p1 (Georg S. Weber, May 18th 2010) ===
 * Update the License information (e.g. above), as kindly requested
   on the MPIR project homepage (see "http://www.mpir.org/past.html"):
   "... Note MPIR 1.2.2 is overall LGPL v3+ due to us accidentally including
    an LGPL v3 file (mpf/set_str.c). Please distribute this version of the
    library under the terms of this license! ..."
   (According to "http://trac.mpir.org/mpir_trac/ticket/71", this LGPL v3 file
   stems from (patches for) GMP 4.2.4 in the year 2008.)
   Also copied two new files "gpl-3.0.txt" and "lgpl-3.0.txt" under src/, taken
   from the updated mpir-1.2.2 "vanilla" tarball downloaded under the link:
       http://www.mpir.org/mpir-1.2.2.tar.gz
   According to private communication with Bill Hart (MPIR upstream), this
   addition of two files was the only change done to the tarball itself.

=== mpir-1.2.2.p0 (David Kirkby, January 5th 2010) ===
 * 7849. Included two header files so MPIR builds with Sun
  studio if configured with  --enable-cxx and the newer
  Sun C++ library is used (library=stlport4). This is between
  #ifdefine __SUNPRO_CC and #endif, so will have no effect
  except if Sun Studio is used.

=== mpir-1.2.2 (William Stein, Nov 18, 2009) ===
 * Upgraded to MPIR-1.2.2.

=== mpir-1.2.p9 (William Stein, Nov 12, 2009) ===
 * Also enable --enable-fat for i686.

=== mpir-1.2.p8 (William Stein, Nov 10, 2009) ===
 * Put ABI=32 back except on OS X 10.6 (all versions)

=== mpir-1.2.p6 (William Stein, Sept 25, 2009) ===
 * Put ABI=32 back except on OS X 10.6

=== mpir-1.2.p5 (William Stein, Sept 24, 2009) ===
 * Remove explicit ABI=32 for OS X; instead let the OS decide. This is needed
   for 10.6 where the default is 64-bit instead of 32-bit.

=== mpir-1.2.p3 (Nick Alexander, June 9, 2009) ===
 * Update to latest MPIR 1.2 final release.

=== mpir-1.2.p2 (William Stein, June 4, 2009) ===
 * Update to latest MPIR 1.2 pre-release

=== mpir-1.2.p1 (William Stein, June 2, 2009) ===
 * Update to latest MPIR 1.2 pre-release

=== mpir-1.2.p0 (William Stein, May 31, 2009) ===
 * add support for SAGE_FAT_BINARY flag

=== mpir-1.2 (William Stein, May 31, 2009) ===
 * Update to the latest MPIR 1.2 pre-release
 * Change "GMP" --> "MPIR" in various places.

=== gmp-mpir-1.1.2 (William Stein, May 28, 2009) ===
 * Update to the latest MPIR 1.1.2 release

=== gmp-mpir-1.1.1 (Michael Abshoff, April 29th, 2009) ===
 * Update to the latest MPIR 1.1.1 release

=== gmp-mpir-1.1 (Michael Abshoff, April 17th, 2009) ===
 * Update to the latest MPIR 1.1 release

=== gmp-mpir-1.0.rc8 (Michael Abshoff, April 10th, 2009) ===
 * Update to the latest MPIR 1.0 release candidate
 * fix --enable-gmplink flag that was changed
 * remove 1.0.rc7 non-Darwin workaround that was fixed in 1.0.rc8

=== gmp-mpir-1.0.rc7 (Michael Abshoff, April 5th, 2009) ===
 * Update to the latest MPIR 1.0 release candidate

=== gmp-mpir-1.0.rc4 (Michael Abshoff, April 1st, 2009) ===
 * Update to the latest MPIR 1.0 release candidate
 * remove some 1.0.rc4 workaround again since it was fixed upstream

=== gmp-mpir-1.0.rc4 (Michael Abshoff, April 1st, 2009)
 * Update to the latest MPIR 1.0 release candidate
 * turn on the gmp link option

=== gmp-mpir-0.9 (Michael Abshoff, February 20th, 2009) ===
 * 0.9.rc4 become the official 0.9 release
 * delete more OSX MacIntel specific assembly faile due to PIC issue (#5315)

=== gmp-mpir-0.9.rc4 (Michael Abshoff, February 10th, 2009) ===
 * update to latest upstream 0.9.rc4 release (fixes #5210)

=== gmp-mpir-0.9.rc3 (Michael Abshoff, February 7th, 2009) ===
 * update to latest upstream 0.9.rc3 release
 * clean out no longer used patches from the patches directory
 * turn on test suite per default
 * fix some typos and small bugs in spkg-install

=== gmp-mpir-svn1555.p0 (Michael Abshoff, January 19th, 2008) ===
 * unset PYTHON since it confuses yasm during configure time

=== gmp-mpir-svn1555 (Michael Abshoff, January 19th, 2008) ===
 * Switch to MPIR

=== gmp-4.2.1.p13 (Michael Abshoff, March 28th, 2008) ===
 * Fix OSX 10.5 detection code to handle 10.5.2 and higher (#2672)
 * Make sure SAGE_ROOT is defined (#633)
 * clean spkg-check

=== gmp-4.2.1.p12 and previous ===

Work by
 * William Stein
 * Joe Weening
 * David Harvey
 * Wilson Cheung
FilenameOtherSizeDate
mpir-3.0.0-644faf502c56f97d9accd301965fc57d6ec70868.tar.bz2torrent2.17 MB2021-10-11 00:22
MD5: 55e9e31d6371b30dd046f16333c84499
mpir-3.0.1.tar.bz2torrent2.16 MB2017-11-25 01:01
MD5: 58f91043e8a7a320ed3a4530a15bd27d
mpir-3.0.0.tar.bz2torrent2.45 MB2017-03-01 11:51
MD5: 4e5d16676e0cd6773f43bbbeb5cb0016
mpir-2.7.2.tar.bz2torrent3.60 MB2016-01-07 23:12
MD5: b31aa1ebc01b5fedf4ac43277c03feec
mpir-2.7.1.tar.bz2torrent3.60 MB2015-11-13 21:47
MD5: ba405924919bf6cb07fdb6ac92bbd3d6
mpir-2.7.0.tar.bz2torrent3.62 MB2015-06-26 09:45
MD5: 4aec04108dd24c49d45beb959d837b40
mpir-2.7.0-alpha12.tar.bz2torrent3.45 MB2014-10-01 12:33
MD5: 3e681b1e9401db089c956cd97c34d77b
mpir-2.6.0.tar.bz2torrent3.09 MB2013-05-02 22:24
MD5: 1567cd6e25370e5d86aab271f63bc209