Notes for the MPFR developers and CVS users =========================================== To compile source code obtained from CVS, you need some GNU development utilities: aclocal, autoheader, automake, autoconf. As some files like "configure" are not part of the CVS repository, you first need to run the "prepare" script to generate these files and call "configure"; you must give the options that will be passed to "configure", for instance: ./prepare --with-gmp=/path/to/gmp Give "--help" if you don't know (./prepare --help). Then, you can use the configure script as usual. Read the INSTALL file for more information. If you use GNU tools, you can give "-dev" as the first option to the "prepare" script to get better dependency tracking. To generate mpfr.info, you need texinfo version 4.2 (or higher). The VERSION file contains the number of the next release version, i.e. the version currently developed. If nightly snapshots are built, the date in the yyyymmdd format must be added to the version number, for instance: "2.0.1-20020319". When submitting patches, unified diffs (option -u) are recommended, as they are more readable. You can also use the option -d to generate a smaller set of changes. See diff(1) for more information. Though the ISO C standard requires that defines NULL, do not use NULL with #include only, because this will not work with the native SunOS 4 C compiler, whose headers are not conform to the standard (even with C90); other problems may occur on this architecture. You can either include or use 0 (possibly casted to the target pointer type). In the tests, do not use mpfr_set_d (except when testing it), as the result will depend on the floating-point arithmetic of the system; this has shown many problems in the past and problems may still occur with new systems. To make a release (for the MPFR team): 1) Check the version and update the date in mpfr.texi. 2) Update the ChangeLog file (using a recent version of rcs2log, directly or with emacs), e.g. rcs2log > ChangeLog.2 and edit ChangeLog to insert ChangeLog.2 at the beginning and remove the duplicated lines. 3) Generate the release version with "make dist". 4) Test the release version on different machines, with and without the --disable-alloca configure option (or compile gmp with --enable-alloca=debug), with and without -DXDEBUG in $CFLAGS. 5) If there is no problem, add a tag to the CVS corresponding to the release, e.g. mpfr-2-0-1-rel for mpfr 2.0.1 (note that the periods are replaced by dashes): cvs tag mpfr-2-0-1-rel 6) Update the version with the update-version script to indicate the next version. A branch may be created first (e.g. with "cvs tag -b mpfr-2-0-2-branch") to allow new features to be committed to the trunk.