(gmp.info.gz) Autoconf
Info Catalog
(gmp.info.gz) Profiling
(gmp.info.gz) GMP Basics
(gmp.info.gz) Emacs
Autoconf
========
Autoconf based applications can easily check whether GMP is installed.
The only thing to be noted is that GMP library symbols from version 3
onwards have prefixes like `__gmpz'. The following therefore would be
a simple test,
AC_CHECK_LIB(gmp, __gmpz_init)
This just uses the default `AC_CHECK_LIB' actions for found or not
found, but an application that must have GMP would want to generate an
error if not found. For example,
AC_CHECK_LIB(gmp, __gmpz_init, ,
[AC_MSG_ERROR([GNU MP not found, see http://swox.com/gmp/])])
If functions added in some particular version of GMP are required,
then one of those can be used when checking. For example `mpz_mul_si'
was added in GMP 3.1,
AC_CHECK_LIB(gmp, __gmpz_mul_si, ,
[AC_MSG_ERROR(
[GNU MP not found, or not 3.1 or up, see http://swox.com/gmp/])])
An alternative would be to test the version number in `gmp.h' using
say `AC_EGREP_CPP'. That would make it possible to test the exact
version, if some particular sub-minor release is known to be necessary.
In general it's recommended that applications should simply demand a
new enough GMP rather than trying to provide supplements for features
not available in past versions.
Occasionally an application will need or want to know the size of a
type at configuration or preprocessing time, not just with `sizeof' in
the code. This can be done in the normal way with `mp_limb_t' etc, but
GMP 4.0 or up is best for this, since prior versions needed certain
`-D' defines on systems using a `long long' limb. The following would
suit Autoconf 2.50 or up,
AC_CHECK_SIZEOF(mp_limb_t, , [#include <gmp.h>])
Info Catalog
(gmp.info.gz) Profiling
(gmp.info.gz) GMP Basics
(gmp.info.gz) Emacs
automatically generated byinfo2html