GMP

From CBLFS
Revision as of 12:43, 1 January 2007 by Kalessin (talk | contribs) (I added the "Command Explanations" and "Contents" sections.)
Jump to navigationJump to search
Download Source: ftp://ftp.gnu.org/gnu/gmp/gmp-4.3.1.tar.bz2

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.
Retrieved from "?title=GMP&oldid=6589"