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.
3
3
4
4
This file is part of the GNU MPFR Library.
5
5
@@ -37,17 +37,17 @@ MPFR).
37
37
not been done yet and if patches are available. You can check
38
38
on the release page:
39
39
40
- http://www.mpfr.org/mpfr-3.1.3 /
40
+ http://www.mpfr.org/mpfr-3.1.4 /
41
41
42
42
which may have additional information. The patches can be applied
43
43
with commands like:
44
44
45
- wget http://www.mpfr.org/mpfr-3.1.3 /allpatches
45
+ wget http://www.mpfr.org/mpfr-3.1.4 /allpatches
46
46
patch -N -Z -p1 < allpatches
47
47
48
48
or
49
49
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
51
51
52
52
(Those instructions are for the GNU patch command, for example
53
53
/usr/bin/gpatch on Solaris.)
@@ -338,7 +338,7 @@ Several documents may help you to solve the problem:
338
338
* the FAQ (either the FAQ.html file distributed with MPFR, or the
339
339
on-line version <http://www.mpfr.org/faq.html>, which may be more
340
340
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 />,
342
342
which lists bugs found in this version and provides some patches.
343
343
344
344
If the "configure" fails, please check that the C compiler and its
@@ -497,94 +497,45 @@ not use conversions with the long double type.
497
497
Notes on AIX/PowerPC
498
498
====================
499
499
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 .
502
502
503
503
If GMP was built with the 64-bit ABI, before building and testing MPFR,
504
504
you should set the OBJECT_MODE environment variable to 64, e.g., with:
505
505
506
506
export OBJECT_MODE=64
507
507
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".
512
510
513
511
514
- MPFR for use with 32-bit Windows Applications (win32)
515
- =====================================================
512
+ MPFR for use with Windows Applications
513
+ ======================================
516
514
517
515
There are several ways of building MPFR on Windows, the most appropriate
518
516
approach depending on how you intend to use the resulting libraries.
519
517
520
518
a. Using MinGW
521
519
==============
522
520
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.
526
525
527
526
2 - If you just want to make a binary with gcc, there is nothing to do:
528
527
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.
546
528
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),
551
530
you can use the MinGW runtime package (which is an integral part of MinGW).
552
531
For example, with MinGW versions 3.15 and later you can get an
553
532
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.
588
539
589
540
b. Using Cygwin
590
541
===============
@@ -599,62 +550,20 @@ In case of failure, you may need to pass LDFLAGS='-shared-libgcc' at the
599
550
end of the configure line due to a bug in GCC. Otherwise, if threading
600
551
support is not needed, you can configure MPFR with --disable-thread-safe.
601
552
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
+ =====================================================
645
555
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 :
649
559
650
- http ://msdn.microsoft .com/en-us/library/9yb4317s(VS.80).aspx
560
+ https ://www.visualstudio .com/
651
561
652
- to allow x64 builds.
562
+ The Intel C++ compiler provided as a part of Intel Parallel Studio XE
563
+ can also be used:
653
564
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
656
566
657
- http://tinyurl.com/25zz8r6
567
+ The relevant build projects are available here:
658
568
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
0 commit comments