Skip to content

Commit 32c036a

Browse files
committed
Clarify that releases does not require Autotools
1 parent 9c44718 commit 32c036a

File tree

3 files changed

+74
-48
lines changed

3 files changed

+74
-48
lines changed

INSTALL

-43
This file was deleted.

INSTALL.md

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Instructions on installing FLINT
2+
3+
## Building from release
4+
5+
If building FLINT from a release (such as a tarball), one needs the following:
6+
7+
* GMP (https://gmplib.org/)
8+
* MPFR (https://mpfr.org/)
9+
* Either of the following build systems:
10+
* GNU Make
11+
* CMake (Only supported for Windows users)
12+
13+
Moreover, if user intends to use FLINT's assembly code, user needs to have the
14+
M4 preprocessor installed.
15+
16+
One can install GMP, MPFR and GNU Make on a Ubuntu system via
17+
18+
apt install libgmp-dev libmpfr-dev make
19+
20+
After this, FLINT should be ready to install, which can be done as follows:
21+
22+
./configure
23+
make -j
24+
make install
25+
26+
We also recommend that you run ``make check`` to check that the build was done
27+
correctly before installing.
28+
29+
For a complete list of settings, write
30+
31+
./configure --help
32+
33+
An example of a custom configuration command would be
34+
35+
./configure \
36+
--enable-assert \
37+
--disable-static \
38+
--with-gmp-include=/home/user1/builds/includes/ \
39+
--with-gmp-lib=/home/user1/builds/lib/ \
40+
--with-mpfr=/usr \
41+
--prefix=/home/user1/installations/ \
42+
CC=clang \
43+
CFLAGS="-Wall -O3 -march=alderlake"
44+
45+
For more information, see the FLINT documentation.
46+
47+
## Building from scratch
48+
49+
When building from scratch, one needs to generate the configuration script. For
50+
this, the user also needs to install GNU Autotools, which on a Ubuntu system can
51+
be done via
52+
53+
apt install autoconf libtool-bin
54+
55+
After this, run
56+
57+
./bootstrap.sh
58+
59+
and FLINT should then be ready to be configured, built, checked and installed as
60+
described by the previous section.

doc/source/building.rst

+14-5
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,14 @@ Building FLINT requires:
1111
* GMP, at least version 6.2.1 (https://gmplib.org/)
1212
* MPFR, at least version 4.1.0 (https://mpfr.org/)
1313
* Either of the following build systems:
14-
1514
* GNU Make together with GNU Autotools (Recommended)
16-
* CMake (Recommended only for Windows users)
15+
* CMake (Only supported for Windows users)
1716

18-
On a typical Linux or Unix-like system where Autotools is available (see below
19-
for instructions using CMake), FLINT can be built and installed as follows:
17+
If building from a release on a typical Linux or Unix-like system (see below for
18+
instructions using CMake), FLINT can be configured, built and installed as follows:
2019

2120
.. code-block:: bash
2221
23-
./bootstrap.sh
2422
./configure
2523
make -j N
2624
make install
@@ -29,6 +27,17 @@ where ``N`` is the number of jobs number allowed to run parallel. Typically, the
2927
fastest way to build is to let ``N`` be the number of threads your CPU plus one,
3028
which can be obtained in Bash through ``$(expr $(nproc) + 1)``.
3129

30+
If building from scratch, that is, without a ``configure`` script, then ``configure``
31+
needs to be generated first. For this GNU Autotools needs to be installed in
32+
order to run
33+
34+
.. code-block:: bash
35+
36+
./bootstrap.sh
37+
38+
After this is done, ``configure`` should be generated and user can proceed with
39+
configuring, building and installing FLINT.
40+
3241
By default, FLINT only builds a shared library, but a static library can be
3342
built by pushing ``--enable-static`` to ``configure``.
3443

0 commit comments

Comments
 (0)