Difference between revisions of "GMP"
From CBLFS
Jump to navigationJump to search (→64Bit) |
(I added the "Command Explanations" and "Contents" sections.) |
||
Line 1: | Line 1: | ||
{| style="text-align: left; background-color: AliceBlue;" | {| style="text-align: left; background-color: AliceBlue;" | ||
− | |- | + | |-valign="top" |
!Download Source: | !Download Source: | ||
| ftp://ftp.gnu.org/gnu/gmp/gmp-{{GMP-Version}}.tar.bz2 | | ftp://ftp.gnu.org/gnu/gmp/gmp-{{GMP-Version}}.tar.bz2 | ||
Line 40: | Line 40: | ||
make install && | make install && | ||
mv -v /usr/include/gmp{,-32}.h | mv -v /usr/include/gmp{,-32}.h | ||
+ | |||
+ | === Command Explanations === | ||
+ | |||
+ | ''--enable-cxx'': Enables C++ support. | ||
+ | |||
+ | ''--enable-mpbsd'': Configures make to build the Berkeley MP compatibility library. | ||
=== N32 === | === N32 === | ||
Line 70: | Line 76: | ||
{{Stub-Header|gmp.h}} | {{Stub-Header|gmp.h}} | ||
+ | |||
+ | = Contents = | ||
+ | |||
+ | {| style="text-align: left;" | ||
+ | |-valign="top" | ||
+ | ! Installed Programs: | ||
+ | | None | ||
+ | |-valign="top" | ||
+ | ! Installed Libraries: | ||
+ | | libgmp.{a,la,so}, libgmpxx.{a,la,so} | ||
+ | |-valign="top" | ||
+ | ! Installed Directories: | ||
+ | | None | ||
+ | |} | ||
+ | |||
+ | === Short Descriptions === | ||
+ | |||
+ | {| style="text-align: left;" | ||
+ | |-valign="top" | ||
+ | ! libgmp.{a,la,so} | ||
+ | | contains the definitions for GNU multiple precision functions. | ||
+ | |-valign="top" | ||
+ | ! libgmpxx.{a,la,so} | ||
+ | | contains a C++ class wrapper for GMP types. | ||
+ | |} |
Revision as of 12:43, 1 January 2007
Download Source: | ftp://ftp.gnu.org/gnu/gmp/gmp-4.3.1.tar.bz2 |
---|
Contents
Introduction to GMP
The GMP package contains math libraries. These have useful functions for arbitrary precision arithmetic.
Dependencies
Non-Multilib
Compile the package:
./configure --prefix=/usr --enable-cxx \ --enable-mpbsd && make
Install the package
make install
Multilib
32Bit
Compile the package:
CC="gcc ${BUILD32}" ./configure --prefix=/usr \ --host=${CLFS_TARGET32} --enable-cxx \ --enable-mpbsd && make
Install the package
make install && mv -v /usr/include/gmp{,-32}.h
Command Explanations
--enable-cxx: Enables C++ support.
--enable-mpbsd: Configures make to build the Berkeley MP compatibility library.
N32
Compile the package:
CC="gcc ${BUILDN32}" ./configure --prefix=/usr \ --libdir=/usr/lib32 --enable-cxx \ --enable-mpbsd && make
Install the package
make install && mv -v /usr/include/gmp{,-n32}.h
64Bit
Compile the package:
CC="gcc ${BUILD64}" ./configure --prefix=/usr \ --libdir=/usr/lib64 --enable-cxx \ --enable-mpbsd && make
Install the package
make install && mv -v /usr/include/gmp{,-64}.h
Creating a Stub Header (Multilib Only)
Creating a Generic Stub Header
cat > /usr/include/gmp.h.h << "EOF" /* gmp.h.h - Stub Header */ #ifndef __STUB__GMP.H_H__ #define __STUB__GMP.H_H__ #if defined(__x86_64__) || \ defined(__sparc64__) || \ defined(__arch64__) || \ defined(__powerpc64__) || \ defined (__s390x__) # include "gmp.h-64.h" #else # include "gmp.h-32.h" #endif #endif /* __STUB__GMP.H_H__ */ EOF
Creating a Stub Header For Mips
cat > /usr/include/gmp.h.h << "EOF" /* gmp.h.h - Stub Header */ #ifndef __STUB__GMP.H_H__ #define __STUB__GMP.H_H__ #include <sgidefs.h> #if (_MIPS_SIM == _ABIO32) # include "gmp.h-32.h" #elif (_MIPS_SIM == _ABIN32) # include "gmp.h-n32.h" #elif (_MIPS_SIM == _ABI64) # include "gmp.h-64.h" #endif #endif /* __STUB__GMP.H_H__ */ EOF
Contents
Installed Programs: | None |
---|---|
Installed Libraries: | libgmp.{a,la,so}, libgmpxx.{a,la,so} |
Installed Directories: | None |
Short Descriptions
libgmp.{a,la,so} | contains the definitions for GNU multiple precision functions. |
---|---|
libgmpxx.{a,la,so} | contains a C++ class wrapper for GMP types. |