Provided by: librheolef-dev_5.93-2_i386 bug

NAME

       acinclude -- autoconf macros

DESCRIPTION

       These  macros  test  for particular system featutres that rheolef uses.
       These tests print the messages telling the user which feature they  are
       looking  for  and  what  they find. They cache their results for future
       configure runs.  Some of these macros set some shell variable,  defines
       some  output  variables for the `config.h' header, or performs Makefile
       macros subsitutions.  See autoconf documentation for how  to  use  such
       variables.

SYNOPSIS

       Follows   a  list  of  particular  check  required  for  a  successfull
       installation.

       RHEO_CHECK_GINAC

       Check to see if GiNaC library exists.  If so, set  the  shell  variable
       rheo_have_ginac   to   "yes",   defines   HAVE_GINAC   and   substitues
       INCLUDES_GINAC  and  LADD_GINAC  for  adding  in  CFLAGS  and  LDFLAGS,
       respectively, If not, set the shell variable rheo_have_ginac to "no".

       RHEO_CHECK_CLN

       Check  to  see  if library -lcln exists.  If so, set the shell variable
       rheo_have_cln to "yes", defines HAVE_CLN  and  substitues  INCLUDES_CLN
       and  LADD_CLN  for  adding in CFLAGS and LDFLAGS, respectively, If not,
       set the shell variable  no  "no".   Includes  and  libraries  path  are
       searched from a given shell variable rheo_dir_cln.  This shell variable
       could be set for instance by  an  appropriate  --with-cln=value_dir_cln
       option.  The default value is /usr/local/math.

       RHEO_CHECK_SPOOLES_2_0

       Check   to   see   if   spooles  library  has  old  version  2.0  since
       FrontMtx_factorInpMtx profile has  changed  in  version  2.2.   If  so,
       defines HAVE_SPOOLES_2_0.  This macro is called by RHEO_CHECK_SPOOLES.

       RHEO_CHECK_TAUCS

       Check to see if taucs library and headers exists.  If so, set the shell
       variable "rheo_have_taucs" to "yes", defines HAVE_TAUCS and  substitues
       INCLUDES_TAUCS  and  LADD_TAUCS  for  adding  in  CXXFLAGS and LDFLAGS,
       respectively, If not, set the shell variable  to  "no".   Includes  and
       libraries  options  are  given  shell  variable  $rheo_ldadd_taucs  and
       $rheo_incdir_taucs.  These shell variables could be set for instance by
       appropriates "--with-taucs-ldadd="'rheo_ldadd_taucs' and "--with-taucs-
       includes="'rheo_incdir_taucs' options.

       RHEO_CHECK_BOOST

       Check to see if boost headers exists.  If so, set  the  shell  variable
       "rheo_have_boost"   to   "yes",   defines   HAVE_BOOST  and  substitues
       INCLUDES_BOOST for adding in CXXFLAGS, and LDADD_BOOST  for  adding  in
       LIBS.   If  not,  set the shell variable to "no".  Includes options are
       given in the shell variables $rheo_incdir_boost and $rheo_libdir_boost.
       These  shell  variables  could  be  set  for  instance  by appropriates
       "--with-boost-includes="'rheo_incdir_boost'     and      "--with-boost-
       libdir="'rheo_libdir_boost' options.

       RHEO_CHECK_ZLIB

       Check  to see if zlib library and headers exists.  If so, set the shell
       variable "rheo_have_zlib" to "yes", defines  HAVE_ZLIB  and  substitues
       INCLUDES_ZLIB  and  LADD_ZLIB  for  adding  in  CXXFLAGS  and  LDFLAGS,
       respectively, If not, set the shell variable  to  "no".   Includes  and
       libraries    path    are    searched    from   given   shell   variable
       $rheo_dir_zlib/lib   and   $rheo_incdir_zlib.    Default   value    for
       $rheo_incdir_zlib  is  $rheo_dir_zlib/include.   These  shell variables
       could be set for instance by appropriates "--with-zlib="'dir_zlib'  and
       "--with-zlib-includes="'incdir_zlib' options.

       RHEO_CHECK_SPOOLES

       Check  to  see  if  spooles library and headers exists.  If so, set the
       shell variable "rheo_have_spooles" to "yes", defines  HAVE_SPOOLES  and
       substitues INCLUDES_SPOOLES and LADD_SPOOLES for adding in CXXFLAGS and
       LDFLAGS,  respectively,  If  not,  set  the  shell  variable  to  "no".
       Includes  and  libraries  path  are  searched from given shell variable
       "rheo_libdir_spooles" and "rheo_incdir_spooles".  These shell variables
       could    be    set    for    instance    by    appropriates    "--with-
       spooles="'libdir_spooles'             and              "--with-spooles-
       includes="'incdir_spooles' options.

       RHEO_CHECK_UMFPACK

       Check  to  see  if  umfpack library and headers exists.  If so, set the
       shell variable "rheo_have_umfpack" to "yes", defines  HAVE_UMFPACK  and
       substitues INCLUDES_UMFPACK and LADD_UMFPACK for adding in CXXFLAGS and
       LDFLAGS,  respectively,  If  not,  set  the  shell  variable  to  "no".
       Includes  and  libraries  path  are  searched from given shell variable
       "rheo_libdir_umfpack" and "rheo_incdir_umfpack".  These shell variables
       could    be    set    for    instance    by    appropriates    "--with-
       umfpack="'libdir_umfpack'             and              "--with-umfpack-
       includes="'incdir_umfpack' options.

       RHEO_CHECK_MALLOC_DBG

       Check  to  see  if  malloc debug library -lmalloc_dbg and corresponding
       header  <malloc_dbg.h>  exists.   If  so,  set   the   shell   variable
       rheo_have_malloc_dbg    to    "yes",   defines   HAVE_MALLOC_DBG,   add
       -Idir_malloc_dbg/include           to            CFLAGS,            add
       dir_malloc_dbg/lib/libmalloc_dbg.a to LDFLAGS.  Here, dir_malloc_dbg is
       the directory such that dir_malloc_dbg/bin  appears  in  PATH  and  the
       command dir_malloc_dbg/bin/malloc_dbg exists.  If not, set the variable
       to "no".  Set also LIBS_MALLOC_DBG to these flags.

       RHEO_CHECK_DMALLOC

       Check whether the dmalloc package  exists  and  set  the  corresponding
       shell  value  "rheo_have_dmalloc"  and HAVE_DMALLOC (in Makefile.am and
       config.h)  accordingly,  create   LDADD_DMALLOC   and   LDADD_DMALLOCXX
       Makefile.am variables.

       RHEO_CHECK_NAMESPACE

       Check  whether  the namespace feature is supported by the C++ compiler.
       value. So, try to compile the following code:

                  namespace computers {
                     struct keyboard { int getkey() const { return 0; } };
                  }
                  namespace music {
                     struct keyboard { void playNote(int note); };
                  }
                  namespace music {
                     void keyboard::playNote(int note) { }
                  }
                  using namespace computers;
             int main() {
                keyboard x;
                int z = x.getkey();
                music::keyboard y;
                y.playNote(z);
                return 0;
             }

       If   it    compile,    set    the    corresponding    shell    variable
       "rheo_have_namespace" to "yes" and defines HAVE_NAMESPACE.  If not, set
       the variable no "no".

       RHEO_CHECK_STD_NAMESPACE

       Some compilers (e.g. GNU C++ 2.7.2) does not support the full namespace
       feature.  Nevertheless,  they  support the "std:" namespace for the C++
       library.  is supported by the  C++  compiler.  The  following  code  is
       submitted to the compiler:

                #include<vector.h>
                extern "C" void exit(int);
                int main() {
                    std::vector<int> x(3);
                         return 0;
                }

       If    it    compile,    set    the    corresponding    shell   variable
       "rheo_have_std_namespace" to "yes" and defines HAVE_STD_NAMESPACE.   If
       not, set the variable no "no".

       RHEO_PROG_GNU_MAKE

       Find  command  make and check whether make is GNU make.  If so, set the
       corresponding  shell  variable  "rheo_prog_gnu_make"   to   "yes"   and
       substitues  no_print_directory_option  to  "--no-print-directory".   If
       not, set the shell variable no "no".

       RHEO_CHECK_ISTREAM_RDBUF

       RHEO_CHECK_IOS_BP

       Check to see if "iostream::rdbuf(void*)" function exists, that set  the
       "ios"  buffer  of a stream. Despite this function is standard, numerous
       compilers does not furnish it.   a  common  implementation  is  to  set
       directly  the  buffer  variable.  For  instance,  the CRAY C++ compiler
       implements this variable as "ios::bp".  These  two  functions  set  the
       shell  variables  "rheo_have_istream_rdbuf"  and "rheo_have_ios_bp" and
       define HAVE_ISTREAM_RDBUF and HAVE_IOS_BP respectively.

       RHEO_CHECK_IOS_SETSTATE

       Check to see if "ios::setstate(long)" function  exists,  that  set  the
       "ios"  state  variable  of a stream. Despite this function is standard,
       numerous compilers does not furnish it.  a common implementation is  to
       set  directly  the buffer variable. For instance, the CRAY C++ compiler
       does  not  implements  it.   This  function  set  the  shell  variables
       "rheo_have_ios_setstate" and define HAVE_IOS_SETSTATE.

       RHEO_CHECK_FILEBUF_INT

       RHEO_CHECK_FILEBUF_FILE

       RHEO_CHECK_FILEBUF_FILE_MODE

       Check  wheter  "filebuf::filebuf(int  fileno)", "filebuf::filebuf(FILE*
       fd)"  exist,  or  "filebuf::filebuf(FILE*  fd,  ios::openmode)"  exist,
       respectively.    If   so,   set   the   corresponding   shell  variable
       "rheo_have_filebuf_int" (resp. "rheo_have_filebuf_file") to  "yes"  and
       defines  HAVE_FILEBUF_INT,  (resp. HAVE_FILEBUF_FILE).  If not, set the
       variable no "no".  Notes that  there  is  no  standardisation  of  this
       function  in  the  "c++"  library.  Nevertheless, this fonctionality is
       usefull to open a pipe stream class, as "pstream(3)".

       RHEO_CHECK_GETTIMEOFDAY

       Check whether the "gettimeofday(timeval*, timezone*)"  function  exists
       and  set  the  corresponding  shell  value "rheo_have_gettimeofday" and
       define HAVE_GETTIMEOFDAY accordingly.

       RHEO_CHECK_WIERDGETTIMEOFDAY

       This is for Solaris, where they decided to change the CALLING  SEQUENCE
       OF  gettimeofday!   Check whether the "gettimeofday(timeval*)" function
       exists     and     set     the      corresponding      shell      value
       "rheo_have_wierdgettimeofday"    and    define   HAVE_WIERDGETTIMEOFDAY
       accordingly.

       RHEO_CHECK_BSDGETTIMEOFDAY

       For  BSD  systems,   check   whether   the   "BSDgettimeofday(timeval*,
       timezone*)"  function  exists  and  set  the  corresponding shell value
       "rheo_have_bsdgettimeofday"     and     define     HAVE_BSDGETTIMEOFDAY
       accordingly.

       RHEO_CHECK_AMICCLK

       Check  whether  the  clock  "amicclk()"  function  exists  and  set the
       corresponding shell value "rheo_have_amicclk" and  define  HAVE_AMICCLK
       accordingly.

       RHEO_CHECK_TEMPLATE_FULL_SPECIALIZATION

       Check  whether  the  template  specialization  syntax  "template<>"  is
       supported by the compiler value. So, try to compile, run and check  the
       return value for the following code:

             template<class T> struct toto {
                 int tutu() const { return 1; }
             };
             template<> struct toto<float> {
                 int tutu() const { return 0; }
             };
             main() {
              toto<float> x;
              return x.tutu();
             }

       If      so,      set      the      corresponding     shell     variable
       "rheo_have_template_full_specialization"   to   "yes"    and    defines
       HAVE_TEMPLATE_FULL_SPECIALIZATION.  If not, set the variable no "no".

       RHEO_CHECK_ISNAN_DOUBLE

       RHEO_CHECK_ISINF_DOUBLE

       RHEO_CHECK_FINITE_DOUBLE

       RHEO_CHECK_INFINITY

       RHEO_CHECK_ABS_DOUBLE

       RHEO_CHECK_SQR_DOUBLE

       Check whether the funtions

                   bool isnan(double);
                   bool isinf(double);
                   bool finite(double);
                   double infinity();
                   double abs();
                   double sqr();

       are   supported   by  the  compiler,  respectively.   If  so,  set  the
       corresponding shell  variable  "rheo_have_xxx"  to  "yes"  and  defines
       HAVE_XXX.  If not, set the variable no "no".

       RHEO_CHECK_FLEX

       Check  to  see  if  the  "flex"  command  and  the corresponding header
       "FlexLexer.h"  are  available.   If  so,   set   the   shell   variable
       "rheo_have_flex" to "yes" and substitues FLEX to "flex" and FLEXLEXER_H
       to the full path for FlexLexer.h If not,  set  the  shell  variable  no
       "no".

       RHEO_PROG_CC_KAI

       Check  wheter  we  are  using  KAI  C++ compiler.  If so, set the shell
       variable "ac_cv_prog_kcc" to "yes".  If not, set the shell variable  no
       "no".   The  shell  variable  is  also exported for sub-shells, such as
       ltconfig from libtool.

       RHEO_PROG_CC_CRAY

       Check wheter we are using CRAY C++ compiler.   If  so,  set  the  shell
       variable  "ac_cv_prog_cray_cc"  to "yes" and defines HAVE_CRAY_CXX.  If
       not, set the shell variable  no  "no".   The  shell  variable  is  also
       exported for sub-shells.

       RHEO_PROG_CC_DEC

       Check  wheter  we  are  using  DEC  C++ compiler.  If so, set the shell
       variable "ac_cv_prog_dec_cc" to "yes".  If not, set the shell  variable
       no  "no".   The shell variable is also exported for sub-shells, such as
       ltconfig from libtool.

       RHEO_RECOGNIZE_CXX

       Check wheter we  are  able  to  recognize  the  C++  compiler.   Tested
       compilers:

                The KAI  C++ compiler that defines: __KCC     (KCC-3.2b)
                The GNU  C++ compiler that defines: __GNUC__  (egcs-1.1.1)
                The CRAY C++ compiler that defines: cray
                The DEC  C++ compiler that defines: __DECCXX

       If  so,  substitue  RECOGNIZED_CXX  to a specific compiler's rule file,
       e.g,  {}"$top_srcdir/config/gnu_cxx.mk",  for  a  subsequent   Makefile
       include.    If   not,   substitue  to  "/dev/null".   Substitutes  also
       EXTRA_LDFLAGS.  Raw cc is the C compiler associated to the C++ one.  By
       this  way C and C++ files are handled with a .c suffix. Special C files
       that requiere the cc compiler, such as  "alloca.c"  use  some  specific
       makefile rule.

        usage example:

           AC_PROG_CC(gcc cc cl)
           AC_PROG_CXX(c++ g++ cxx KCC CC CC cc++ xlC aCC)
           RHEO_RECOGNIZE_CXX

       RHEO_OPTIMIZE_CXX

       Set  some  optimization flags associated to the recognized C++ compiler
       and platform.

       RHEO_CHECK_LATEX_HYPEREF

       Check  whether  the  hyperref  LaTeX  package  exists   and   set   the
       corresponding     shell     value     "rheo_have_latex_hyperref"    and
       HAVE_LATEX_HYPEREF (for Makefiles) accordingly.

       RHEO_CHECK_MPI

       Check for the "mpirun" command, the corresponding  header  "mpi.h"  and
       library   "-lmpi"  are  available.   If  so,  set  the  shell  variable
       "rheo_have_mpi" to "yes", defines HAVE_MPI  and  substitues  MPIRUN  to
       "mpirun"  and  RUN  to  "mpirun -np 2", INCLUDES_MPI and LDADD_MPI.  If
       not, set the shell variable no "no".

       RHEO_CHECK_PARMETIS

       Check for the "parmetis" and "metis" libraries.  Defines  HAVE_PARMETIS
       and substitues INCLUDES_MPI and LDADD_MPI.  Requires the MPI library.

       RHEO_CHECK_SCOTCH

       Check   for  the  "scotch"  distributed  mesh  partitionner  libraries.
       Defines HAVE_SCOTCH and substitues  INCLUDES_SCOTCH  and  LDADD_SCOTCH.
       Requires the MPI library.

       RHEO_CHECK_BLAS

       Check for the "blas" basic linear algebra subroutines library.  Defines
       HAVE_BLAS and substitues LDADD_BLAS and INCLUDES_BLAS.

       RHEO_CHECK_PASTIX

       Check for the "pastix" distributed direct  solver  libraries.   Defines
       HAVE_PASTIX  and substitues INCLUDES_PASTIX and LDADD_PASTIX.  Requires
       the MPI and SCOTCH libraries.