The current development snapshot of MPIR should be available at
To check it out, use svn, i.e.
$ svn co http://boxen.math.washington.edu/svn/mpir/mpir/trunk mpir-trunk
If you need to commit any files to svn yourself, do
$ svn ci filename
$ svn ci
to commit all files you have changed. Both of the above commands would open up a text editor. Fill in a basic log message in the editor and save the file.
To commit to svn you need credentials. These are currently obtained by emailing Jason Martin.
$ ssh mpir@sagemathBill Hart can issue credentials for this. You have to change into the relevant directory to edit the web page. The main page is index.html.
The MPIR trac server is mpir_trac. See the file add on mpir@sagemath for instructions on issuing credentials for trac.
MPIR also has a wiki page here. It has never been updated, so all the information there is incorrect. Please feel free to use it if you require it and just pull down any pages you want.
If any new code has affected tuning or any new tuning thresholds have been added to MPIR, it will need tuning on all supported platforms. Firstly, announce it on mpir-devel and ask for tuning values from people with supported architectures. A list of supported architectures is given in the testing matrix on the MPIR website. If you want to do tuning on machines you have access to (e.g. SkyNet or the GCC Compile Farm), the steps are as follows:
$ ./configure && make && cd tune $ make tune 2>&1 | tee -a tune.log
The tuning values are output to the console. Copy and paste them into the top level file gmp-mparam.h (it is a symlink to the relevant file for the platform you are currently on). With the above commands, a complete log of the tuning process is output to the file tune/tune.log. You can also copy and paste the tuning values from that log file. Depending on the changes introduced in the current release cycle, only some of the values output by make tune are needed. Always check this with the developers. If in doubt, please ask on mpir-devel.
BEWARE: Some tuning values are not regenerated by tuneup. Specifically, the following tuning values
$ ./tuneup -f 100000000instead of make tune. However, this process may take several hours and is not usually necessary. The other mentioned parameters cannot be regenerated.
On platforms that are unavailable for tuning purposes (e.g. the relevant machine is down for an extended period or you cannot find someone with the relevant architecture), default values are provided IF you remove the relevant lines from the relevant gmp-mparam.h file. To find these files, go to the mpn directory. Each supported architecture (and each old architecture that is no longer supported) has a subdirectory there and most such subdirectories contain a gmp-mparam.h file.
Some directories have subdirectories, e.g. mpn/x86_64/k8/k10/k102 for variations on different processor types. To determine what the architecture of the machine you are currently on is, according to MPIR, run
$ ./config.guessin the top level directory.
In some cases, default tuning values may be more meaningful than ancient architecture specific values still in gmp-mparam.h and so it is better to remove the relevant lines from the relevant gmp-mparam.h files for architectures that are unavailable for tuning. To determine if default values for a given tuning threshold are provided, do a search for the relevant threshold in gmp-impl.h in the top level directory. Not all thresholds have default fallback values, so do not remove such thresholds from gmp-mparam.h files.
Do not forget to commit gmp-mparam.h to svn. As the gmp-mparam.h file is a symlink, let svn figure out which file actually changed, i.e. just do svn ci from the top level directory.
Once tuning is complete for all supported x86 and x86_64 platforms, (a list is on the MPIR website), let Brian Gladman know on mpir-devel and he will update the tuning parameters for Windows.
$ svn co http://boxen.math.washington.edu/svn/mpir/mpir/trunk mpir-trunk $ cp -rf mpir-trunk mpir-test $ svn co http://boxen.math.washington.edu/svn/mpir/mpir/branches/test_stuff/ test_stuff
$ cd mpir-trunk $ ./configure && make && make check
$ cd test_stuff $ ./mpirtest ../mpir-test
$ ./setversion Setting MPIR to MPIR-2.1.0 GMP-soname-10.0.1 GMPXX-soname-4.8.1 autoreconf: configure.ac: AM_GNU_GETTEXT is used, but not AM_GNU_GETTEXT_VERSIONThe warning
autoreconf: configure.ac: AM_GNU_GETTEXT is used, but not AM_GNU_GETTEXT_VERSIONis harmless and could be safely ignored. Now commit all changes to svn trunk. Next, configure the source, generate the source tarball, and generate the documentation:
$ ./configure $ make dist # MUST be done on eno $ cd doc $ make pdfRename the generated PDF version of the documentation to mpir-x.y.z.pdf. Then sftp the mpir-x.y.z tarball and PDF documentation to the www directory on mpir@sagemath on boxen, but rename the tarball to mpir-x.y.z-rc1.tar.gz. Update the website with the announcement, including details of new features in the announcement. List any known problems and remove any problems known to be fixed. Update changes.html with a list of new features for the release. mpir-devel that the RC is ready for testing.