10.12. GMP-6.1.2 64 Bit

GMP est une bibliothèque pour faire de l'arithmétique en précision arbitraire sur les entiers, les nombres rationnels et les nombres flottants.

10.12.1. Installation de GMP

[Note]

Note

Si vous compilez ce paquet sur un processeur différent de celui sur lequel vous envisagez d'exécuter le système CLFS, vous devez remplacer les enveloppes config.guess et config.sub de GMP par celles d'origine. Cela empêchera GMP de s'optimiser pour le mauvais processeur. Vous pouvez faire cette modification avec la commande suivante :

mv -v config{fsf,}.guess
mv -v config{fsf,}.sub

Préparez la compilation de GMP :

CC="gcc -isystem /usr/include ${BUILD64}" \
CXX="g++ -isystem /usr/include ${BUILD64}" \
LDFLAGS="-Wl,-rpath-link,/usr/lib64:/lib64 ${BUILD64}" \
./configure \
    --prefix=/usr \
    --libdir=/usr/lib64 \
    --enable-cxx \
    --docdir=/usr/share/doc/gmp-6.1.2

Compilez le paquet :

make

Construisez la documetation HTML :

make html

Testez les résultats :

make check

Installez le paquet :

make install

Installez la documentation :

make install-html

Créez le fichier d'entêtes 64 bits :

mv -v /usr/include/gmp{,-64}.h

Finalement, créez un morceau d'entête à la place des originaux :

cat > /usr/include/gmp.h << "EOF"
/* gmp.h - Stub Header  */
#ifndef __STUB__GMP_H__
#define __STUB__GMP_H__

#if defined(__x86_64__) || \
    defined(__sparc64__) || \
    defined(__arch64__) || \
    defined(__powerpc64__) || \
    defined (__s390x__)
# include "gmp-64.h"
#else
# include "gmp-32.h"
#endif

#endif /* __STUB__GMP_H__ */
EOF

10.12.2. Contenu de GMP

Bibliothèques installées: libgmp.[a,so], libgmpxx.[a,so]
Répertoire installé: /usr/share/doc/gmp-6.1.2

Descriptions courtes

libgmp

Contient les définitions pour les fonctions GNU à précision multiple

libgmpxx

Contient un emballeur de classe C++ pour des types GMP