1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
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 <stdlib.h> defines NULL,
do not use NULL with #include <stdlib.h> 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 <stdio.h> 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 file to indicate the next version.
Update the version in mpfr.texi.
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.
|