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.