10.11. GMP-5.1.3 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.11.1. Installation de GMP

[Remarque]

Remarque

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

Compilez le paquet :

make
[Important]

Important

La suite de tests pour GMP est considérée comme critique. Ne la sautez sous aucun prétexte.

Testez les résultats :

make check

Installez le paquet :

make install

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

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

Finallement, 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.11.2. Contenu de GMP

Bibliothèques installées: libgmp.[a,so], libgmpxx.[a,so], libmp.[a,so]

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.

libmp

Contient la bibliothèque de compatibilité Berkeley MP.