Skip to content

Commit cdeeac2

Browse files
committed
Upgrading mpfr to 3.1.4
1 parent 6251860 commit cdeeac2

File tree

456 files changed

+4527
-1872
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

456 files changed

+4527
-1872
lines changed

deps/mpfr/BUGS

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
Copyright 1999, 2001-2015 Free Software Foundation, Inc.
2-
Contributed by the AriC and Caramel projects, INRIA.
1+
Copyright 1999, 2001-2016 Free Software Foundation, Inc.
2+
Contributed by the AriC and Caramba projects, INRIA.
33

44
This file is part of the GNU MPFR Library.
55

deps/mpfr/ChangeLog

+1,592
Large diffs are not rendered by default.

deps/mpfr/INSTALL

+34-125
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
Copyright 1999-2015 Free Software Foundation, Inc.
2-
Contributed by the AriC and Caramel projects, INRIA.
1+
Copyright 1999-2016 Free Software Foundation, Inc.
2+
Contributed by the AriC and Caramba projects, INRIA.
33

44
This file is part of the GNU MPFR Library.
55

@@ -37,17 +37,17 @@ MPFR).
3737
not been done yet and if patches are available. You can check
3838
on the release page:
3939

40-
http://www.mpfr.org/mpfr-3.1.3/
40+
http://www.mpfr.org/mpfr-3.1.4/
4141

4242
which may have additional information. The patches can be applied
4343
with commands like:
4444

45-
wget http://www.mpfr.org/mpfr-3.1.3/allpatches
45+
wget http://www.mpfr.org/mpfr-3.1.4/allpatches
4646
patch -N -Z -p1 < allpatches
4747

4848
or
4949

50-
curl http://www.mpfr.org/mpfr-3.1.3/allpatches | patch -N -Z -p1
50+
curl http://www.mpfr.org/mpfr-3.1.4/allpatches | patch -N -Z -p1
5151

5252
(Those instructions are for the GNU patch command, for example
5353
/usr/bin/gpatch on Solaris.)
@@ -338,7 +338,7 @@ Several documents may help you to solve the problem:
338338
* the FAQ (either the FAQ.html file distributed with MPFR, or the
339339
on-line version <http://www.mpfr.org/faq.html>, which may be more
340340
up-to-date);
341-
* the MPFR web page for this version <http://www.mpfr.org/mpfr-3.1.3/>,
341+
* the MPFR web page for this version <http://www.mpfr.org/mpfr-3.1.4/>,
342342
which lists bugs found in this version and provides some patches.
343343

344344
If the "configure" fails, please check that the C compiler and its
@@ -497,94 +497,45 @@ not use conversions with the long double type.
497497
Notes on AIX/PowerPC
498498
====================
499499

500-
The following has been tested on AIX 5.3 (powerpc-ibm-aix5.3.0.0) with
501-
gcc 3.3.2 and GMP 4.2.1.
500+
The following has been tested on AIX 7.1.3 (gcc111.fsffrance.org)
501+
with gcc 4.8.1 and GMP 6.1.0.
502502

503503
If GMP was built with the 64-bit ABI, before building and testing MPFR,
504504
you should set the OBJECT_MODE environment variable to 64, e.g., with:
505505

506506
export OBJECT_MODE=64
507507

508-
(in a sh-compatible shell). But you should also provide a correct CFLAGS
509-
value to the "configure" script: using --with-gmp-build is not sufficient
510-
due to the early compiler tests, as gcc will not compile any program if
511-
OBJECT_MODE is 64 and the -maix64 option is not provided.
508+
(in a sh-compatible shell). Alternatively add the following to the configure
509+
line: AR="ar -X64" NM="nm -B -X64".
512510

513511

514-
MPFR for use with 32-bit Windows Applications (win32)
515-
=====================================================
512+
MPFR for use with Windows Applications
513+
======================================
516514

517515
There are several ways of building MPFR on Windows, the most appropriate
518516
approach depending on how you intend to use the resulting libraries.
519517

520518
a. Using MinGW
521519
==============
522520

523-
1 - We advise to use MinGW (http://www.mingw.org/), which is simpler and
524-
less demanding than Cygwin. Contrary to Cygwin, it also provides native
525-
Windows code.
521+
1 - We advise to use MinGW (http://www.mingw.org/ for 32-bit, and
522+
https://sourceforge.net/projects/mingw-w64/ for 32- and 64-bit),
523+
which is simpler and less demanding than Cygwin. Contrary to Cygwin,
524+
it also provides native Windows code.
526525

527526
2 - If you just want to make a binary with gcc, there is nothing to do:
528527
GMP, MPFR and the program compile exactly as under Linux.
529-
But if you want to generate a library for MinGW from a Cygwin
530-
environment, you may need the -mno-cygwin gcc option (otherwise
531-
a typical error is _P_WAIT being undeclared).
532-
533-
3 - If you want to make libraries work under another Windows compiler
534-
like Visual C / C++, since the unix-like *.a library files are compatible
535-
with Windows *.lib files, you can simply rename all *.a libraries to *.lib.
536-
537-
With gmp-4.1.3, the only remaining problem seems to be the "alloca" calls
538-
in GMP. Configuring GMP and MPFR with --enable-alloca=malloc-reentrant
539-
should work (if you build MPFR with GMP internal files).
540-
541-
Or you could add the library
542-
"$MINGWIN$/lib/gcc-lib/mingw32/$VERSION$/libgcc.a"
543-
to your project: it contains all the extra-functions needed by a program
544-
compiled by gcc (division of 64-bit integer, bcopy, alloca...).
545-
Of course, include it if and only if your compiler is not gcc.
546528

547-
4 - On Windows32 / MinGW, if all the tests fail, try to run the test suite
548-
with "make check EXEEXT=".
549-
550-
5 - To avoid using the Microsoft runtime (which might not be conform to ISO C),
529+
3 - To avoid using the Microsoft runtime (which might not be conform to ISO C),
551530
you can use the MinGW runtime package (which is an integral part of MinGW).
552531
For example, with MinGW versions 3.15 and later you can get an
553532
ISO-compliant printf() if you compile your application with either
554-
'-ansi', '-posix' or '-D__USE_MINGW_ANSI_STDIO'. For example, you can
555-
compile and test MPFR with CC="gcc -D__USE_MINGW_ANSI_STDIO".
556-
557-
For example under Win32, the following problem has been experienced with
558-
MPFR 2.4.0 RC1 and the MSVC runtime (msvcrt.dll):
559-
560-
Error in mpfr_vsprintf (s, "%.*Zi, %R*e, %Lf%n", ...);
561-
expected: "00000010610209857723, -1.2345678875e+07, 0.032258"
562-
got: "00000010610209857723, -1.2345678875e+07, -0.000000"
563-
FAIL: tsprintf.exe
564-
565-
This error is due to the MSVC runtime not supporting the L length modifier
566-
for formatted output (e.g. printf with %Lf). You can check this with the
567-
following program:
568-
569-
#include <stdio.h>
570-
int main (void)
571-
{
572-
long double d = 1. / 31.;
573-
printf ("%Lf\n", d);
574-
return 0;
575-
}
576-
577-
The expected output is 0.032258.
578-
579-
Note: The L modifier has been standard for a long time (it was added
580-
in ISO C89).
581-
582-
Note 2: this now works correctly with Visual C++ 2008 and 2010
583-
(tested on Microsoft (R) 32-bit C/C++ Optimizing Compiler Version
584-
15.00.21022.08 for 80x86, Microsoft (R) C/C++ Optimizing Compiler
585-
Version 15.00.21022.08 for x64, Microsoft (R) 32-bit C/C++ Optimizing
586-
Compiler Version 16.00.30319.01 for 80x86, Microsoft (R) C/C++ Optimizing
587-
Compiler Version 16.00.30319.01 for x64).
533+
'-ansi', '-posix' or '-D__USE_MINGW_ANSI_STDIO'. In order to have the
534+
MPFR formatted output functions based on ISO-compliant printf(), you
535+
need to compile GMP (not MPFR) with CC="gcc -D__USE_MINGW_ANSI_STDIO"
536+
(since the standard printf modifiers %Ld and %td are passed to GMP).
537+
Building MPFR with -D__USE_MINGW_ANSI_STDIO is useless except for some
538+
error messages in the test suite.
588539

589540
b. Using Cygwin
590541
===============
@@ -599,62 +550,20 @@ In case of failure, you may need to pass LDFLAGS='-shared-libgcc' at the
599550
end of the configure line due to a bug in GCC. Otherwise, if threading
600551
support is not needed, you can configure MPFR with --disable-thread-safe.
601552

602-
c. Using Visual C++ 2008/2010
603-
=============================
604-
605-
Win32 versions of the MPFR library can be built using Microsoft Visual
606-
C++ 2008 or 2010 using the build projects available here:
607-
608-
http://gladman.plushost.co.uk/oldsite/computing/gmp4win.php
609-
610-
These build projects contain both win32 and x64 builds but the latter
611-
will give errors if your version of Visual C++ lacks the 64-bit
612-
compiler and tools. The 32-bit build projects should however work
613-
on Visual C++ 2008, Visual C++ Express 2008 (SP1), Visual C++ 2010
614-
and Visual C++ Express 2010.
615-
616-
MPFR for use with 64-bit Windows Applications (x64)
617-
===================================================
618-
619-
There are two ways of building MPFR for use with 64-bit Windows
620-
applications.
621-
622-
a. Using MinGW64
623-
================
624-
625-
The MinGW64 version of the GCC compiler is now available here:
626-
627-
https://sourceforge.net/projects/mingw-w64/
628-
629-
It can build both GMP and MPFR for 64-bit Windows applications.
630-
631-
b. Using Visual C++ 2008/2010
632-
=============================
633-
634-
x64 versions of the MPFR library can be built using Microsoft Visual
635-
C++ 2008 or 2010 using the build projects available here:
636-
637-
http://gladman.plushost.co.uk/oldsite/computing/gmp4win.php
638-
639-
These build projects contain both win32 and x64 builds but the latter
640-
can only be built if your version of Visual C++ contains the 64-bit
641-
compiler and tools. On Visual C++ 2008, the 64-bit tools are an
642-
option during installation so if you don't have them you will need
643-
to start the Visual Studio installer and add them to your IDE
644-
configuration. On Visual C++ 2010 they are installed by default.
553+
c. Using Microsoft Visual C++ and Intel C++ Compilers
554+
=====================================================
645555

646-
As delivered, Visual C++ Express 2008 SP1 cannot build x64 projects
647-
but the Windows SDK can be added to it to allow this. The IDE then
648-
needs to be configured as described here:
556+
Static and dynamic MPFR libraries for the 32- and 64-bit versions of
557+
Windows can be built with Microsoft Visual Studio 2015 using the
558+
Microsoft Visual C++ compiler, see:
649559

650-
http://msdn.microsoft.com/en-us/library/9yb4317s(VS.80).aspx
560+
https://www.visualstudio.com/
651561

652-
to allow x64 builds.
562+
The Intel C++ compiler provided as a part of Intel Parallel Studio XE
563+
can also be used:
653564

654-
Visual C++ Express 2010 requires the Windows 7 SDK to be installed
655-
in order to build x64 projects. This SDK is available here:
565+
https://software.intel.com/en-us/intel-parallel-studio-xe
656566

657-
http://tinyurl.com/25zz8r6
567+
The relevant build projects are available here:
658568

659-
In this case, once this SDK has been installed, Visual C++ Express 2010
660-
will build x64 projects without further changes.
569+
https://github.com/BrianGladman

deps/mpfr/Makefile.am

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2000-2015 Free Software Foundation, Inc.
1+
# Copyright 2000-2016 Free Software Foundation, Inc.
22
# This Makefile.am is free software; the Free Software Foundation
33
# gives unlimited permission to copy and/or distribute it,
44
# with or without modifications, as long as this notice is preserved.
@@ -25,14 +25,17 @@ nobase_dist_doc_DATA = AUTHORS BUGS COPYING COPYING.LESSER NEWS TODO \
2525
examples/version.c
2626

2727
EXTRA_DIST = PATCHES VERSION \
28-
tools/ck-copyright-notice tools/ck-version-info tools/get_patches.sh \
28+
tools/ck-copyright-notice tools/ck-news tools/ck-version-info \
29+
tools/get_patches.sh \
2930
$(DATAFILES)
3031

3132
# Various checks for "make dist".
3233
# * Check consistency concerning -version-info. Moreover if the VERSION
3334
# file doesn't end with "-dev", check that the -version-info value is
3435
# up-to-date. Note: this is a heuristic, to detect some mistakes.
3536
# * Check that copyright notices exist and appear to be correct.
37+
# * Check the NEWS file.
3638
dist-hook:
3739
cd $(srcdir) && tools/ck-version-info
3840
cd $(srcdir) && tools/ck-copyright-notice
41+
cd $(srcdir) && tools/ck-news

deps/mpfr/Makefile.in

+6-3
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
@SET_MAKE@
1616

17-
# Copyright 2000-2015 Free Software Foundation, Inc.
17+
# Copyright 2000-2016 Free Software Foundation, Inc.
1818
# This Makefile.am is free software; the Free Software Foundation
1919
# gives unlimited permission to copy and/or distribute it,
2020
# with or without modifications, as long as this notice is preserved.
@@ -202,7 +202,7 @@ CSCOPE = cscope
202202
DIST_SUBDIRS = $(SUBDIRS)
203203
am__DIST_COMMON = $(srcdir)/Makefile.in AUTHORS COPYING COPYING.LESSER \
204204
ChangeLog INSTALL NEWS README TODO ar-lib compile config.guess \
205-
config.sub install-sh ltmain.sh missing
205+
config.sub depcomp install-sh ltmain.sh missing
206206
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
207207
distdir = $(PACKAGE)-$(VERSION)
208208
top_distdir = $(distdir)
@@ -383,7 +383,8 @@ nobase_dist_doc_DATA = AUTHORS BUGS COPYING COPYING.LESSER NEWS TODO \
383383
examples/version.c
384384

385385
EXTRA_DIST = PATCHES VERSION \
386-
tools/ck-copyright-notice tools/ck-version-info tools/get_patches.sh \
386+
tools/ck-copyright-notice tools/ck-news tools/ck-version-info \
387+
tools/get_patches.sh \
387388
$(DATAFILES)
388389

389390
all: all-recursive
@@ -886,9 +887,11 @@ uninstall-am: uninstall-nobase_dist_docDATA
886887
# file doesn't end with "-dev", check that the -version-info value is
887888
# up-to-date. Note: this is a heuristic, to detect some mistakes.
888889
# * Check that copyright notices exist and appear to be correct.
890+
# * Check the NEWS file.
889891
dist-hook:
890892
cd $(srcdir) && tools/ck-version-info
891893
cd $(srcdir) && tools/ck-copyright-notice
894+
cd $(srcdir) && tools/ck-news
892895

893896
# Tell versions [3.59,3.63) of GNU make to not export all variables.
894897
# Otherwise a system limit (for SysV at least) may be exceeded.

deps/mpfr/NEWS

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
Copyright 2000-2015 Free Software Foundation, Inc.
2-
Contributed by the AriC and Caramel projects, INRIA.
1+
Copyright 2000-2016 Free Software Foundation, Inc.
2+
Contributed by the AriC and Caramba projects, INRIA.
33

44
This file is part of the GNU MPFR Library.
55

@@ -20,6 +20,11 @@ http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
2020

2121
##############################################################################
2222

23+
Changes from version 3.1.3 to version 3.1.4:
24+
- Improved MPFR manual.
25+
- Bug fixes (see <http://www.mpfr.org/mpfr-3.1.3/#fixed> and ChangeLog file).
26+
- MinGW (MS Windows): Added support for thread-safe DLL (shared library).
27+
2328
Changes from version 3.1.2 to version 3.1.3:
2429
- Better support for Automake 1.13+ (now used to generate the tarball).
2530
- Improved MPFR manual.

deps/mpfr/PATCHES

-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +0,0 @@
1-
divhigh-basecase
2-
frexp
3-
muldiv-2exp-underflow
4-
muldiv-2exp-overflow
5-
lngamma-and-doc

deps/mpfr/README

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
Copyright 2000-2015 Free Software Foundation, Inc.
2-
Contributed by the AriC and Caramel projects, INRIA.
1+
Copyright 2000-2016 Free Software Foundation, Inc.
2+
Contributed by the AriC and Caramba projects, INRIA.
33

44
This file is part of the GNU MPFR Library.
55

deps/mpfr/TODO

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
Copyright 1999-2015 Free Software Foundation, Inc.
2-
Contributed by the AriC and Caramel projects, INRIA.
1+
Copyright 1999-2016 Free Software Foundation, Inc.
2+
Contributed by the AriC and Caramba projects, INRIA.
33

44
This file is part of the GNU MPFR Library.
55

deps/mpfr/VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.1.3-p5
1+
3.1.4

0 commit comments

Comments
 (0)