2. Setup#
This category includes macros related to the configuration prior to the compilation of a version. They are found in the asterc_config.h headers (and almost all of them in asterf_config.h) which are automatically generated during the waf configure step.
<nom-macro>Macros preceded by (*) are determined during the configuration phase but are not added to the asterc_config.h and asterf_config.h header files. They are passed to the command line with -D.
_ POSIX/_ WINDOWS: exclusive, says if the platform is Unix or Windows.
_ USE_64_BITS: says if the platform is 64-bit
LINUX, LINUX64, SOLARIS, SOLARIS64: use to distinguish certain systems among different Unix.
_ NO_UNDERSCORE: used for C-Fortran calls, do not add the “_” at the end of the routine.
_ USE_MPI: indicates that MPI parallelism is used.
_ USE_OPENMP: indicates that OpenMP directives are used.
_ DISABLE_HDF5: indicates that the hdf5 library is not available. By default, it is assumed that hdf5 is available (as if HAVE_HDF5 was set).
_ DISABLE_MED: indicates that the med library is not available. By default, it is assumed that med is available (as if HAVE_MED was set).
_ HAVE_MUMPS: indicates that the mumps library is available.
MUMPS_VERSION: version of the mumps library.
_ HAVE_METIS: indicates that the metis library is available.
_ DISABLE_SCOTCH: indicates that the Scotch library is not available. By default, it is assumed that Scotch tape is available (as if HAVE_SCOTCH was set).
_ HAVE_PETSC: indicates that the PETSc library is available.
() _ USE_INTEL_IFORT: indicates that we are using the Intel compiler. Intel-specific features should use _ USE_INTEL_IFORT & HAVE_xxx because aslint should not use it, as it is independent of the compiler. If necessary, this macro is passed on the command line with -D_ USE_INTEL_IFORT.
HAVE_TRACEBACKQQ: indicates that the tracebackqq function is available (requires _ USE_INTEL_IFORT).
HAVE_BACKTRACE: indicates that the backtrace function is available.
_ WITHOUT_PYMOD: use for the separate construction of a library containing all object modules and python modules in the form of dynamic libraries.
_ MAIN_: expected name for the main program (may be main, or MAIN preceded and/or followed or not by “_”).
STRINGIFY_USE_QUOTES, STRINGIFY_USE_OPERATOR: shows how the Fortran preprocessor converts code into a string.
Definition of types:
ASTER_INT4_SIZE: size of the Fortran integer type (kind=4).
ASTERC_FORTRAN_INT4: C type corresponding to the Fortran integer (kind=4).
ASTER_INT_SIZE: size of the Fortran integer type.
ASTERC_FORTRAN_INT: C type corresponding to the Fortran integer.
ASTER_REAL4_SIZE: size of the fortran real type (kind=4).
ASTERC_FORTRAN_REAL4: C type corresponding to the fortran real integer (kind=4).
ASTER_REAL8_SIZE: size of the fortran real type (kind=8).
ASTERC_FORTRAN_REAL8: C type corresponding to the fortran real integer (kind=8).
*ASTER_COMPLEX_SIZE: size of the fortran complex type (kind=8) (complex*16 of fortran77).
ASTERC_STRING_SIZE: type of the size of character strings in C, exchanged with Fortran.
MED_INT_SIZE: size of the integer type used in med.