DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(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