GMP is a library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers.
If you are compiling this package on a different CPU than you
plan to run the CLFS system on, you must replace GMP's
config.guess
and config.sub
wrappers with the originals. This
will prevent GMP from optimizing for the wrong CPU. You can make
this change with the following command:
mv -v config{fsf,}.guess mv -v config{fsf,}.sub
Prepare GMP for compilation:
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.0.0
Compile the package:
make
Build the HTML documentation:
make html
Test the results:
make check
Install the package:
make install
Install the documentation:
make install-html
Create the 64bit header file:
mv -v /usr/include/gmp{,-64}.h
Finally, create a stub header in the place of the originals:
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