2. Configuration#
On regroupe dans cette catégorie les macros liées à la configuration préalable à la compilation d’une version. On les retrouve dans les entêtes asterc_config.h (et presque toutes dans asterf_config.h) qui sont produits automatiquement lors de l’étape waf configure.
Les macros précédées de (*) sont déterminées lors de la phase de configuration mais ne sont pas ajoutées dans les fichiers d’entête asterc_config.h et asterf_config.h Elles sont passées en ligne de commande avec -D<nom-macro>.
_POSIX / _WINDOWS: exclusif, dit si la plate-forme est de type Unix ou Windows.
_USE_64_BITS: dit si la plate-forme est 64 bits
LINUX, LINUX64, SOLARIS, SOLARIS64: utiliser pour distinguer certains systèmes parmi les différents Unix.
_NO_UNDERSCORE: utilisé pour les appels C-Fortran, ne pas ajouter le “_” en fin de routine.
_USE_MPI: indique que l’on utilise le parallélisme MPI.
_USE_OPENMP: indique que l’on utilise les directives OpenMP.
_DISABLE_HDF5: indique que la bibliothèque hdf5 n’est pas disponible. Par défaut, on suppose que hdf5 est disponible (comme si HAVE_HDF5 était défini).
_DISABLE_MED: indique que la bibliothèque med n’est pas disponible. Par défaut, on suppose que med est disponible (comme si HAVE_MED était défini).
_HAVE_MUMPS: indique que la bibliothèque mumps est disponible.
MUMPS_VERSION: version de la bibliothèque mumps.
_HAVE_METIS: indique que la bibliothèque metis est disponible.
_DISABLE_SCOTCH: indique que la bibliothèque scotch n’est pas disponible. Par défaut, on suppose que scotch est disponible (comme si HAVE_SCOTCH était défini).
_HAVE_PETSC: indique que la bibliothèque PETSc est disponible.
(*) _USE_INTEL_IFORT: indique que l’on utilise le compilateur Intel. Les fonctionnalités spécifiques à Intel doit utiliser _USE_INTEL_IFORT && HAVE_xxx parce que aslint ne doit pas l’utiliser, car indépendant du compilateur. Cette macro est si besoin passée en ligne de commande avec -D_USE_INTEL_IFORT.
HAVE_TRACEBACKQQ: indique que la fonction tracebackqq est disponible (nécessite _USE_INTEL_IFORT).
HAVE_BACKTRACE: indique que la fonction backtrace est disponible.
_WITHOUT_PYMOD: utiliser pour la construction séparée d’une bibliothèque contenant l’ensemble des modules objets et de modules python sous forme de bibliothèques dynamiques.
_MAIN_: nom attendu pour le programme principal (peut être main, ou MAIN précédé et/ou suivi ou non de “_”).
STRINGIFY_USE_QUOTES, STRINGIFY_USE_OPERATOR: indique comment le préprocesseur fortran convertit du code en chaîne de caractères.
Définition des types:
ASTER_INT4_SIZE: taille du type fortran integer(kind=4).
ASTERC_FORTRAN_INT4: type C correspondant à l’entier fortran integer(kind=4).
ASTER_INT_SIZE: taille du type fortran integer.
ASTERC_FORTRAN_INT: type C correspondant à l’entier fortran integer.
ASTER_REAL4_SIZE: taille du type fortran real(kind=4).
ASTERC_FORTRAN_REAL4: type C correspondant à l’entier fortran real(kind=4).
ASTER_REAL8_SIZE: taille du type fortran real(kind=8).
ASTERC_FORTRAN_REAL8: type C correspondant à l’entier fortran real(kind=8).
ASTER_COMPLEX_SIZE: taille du type fortran complex(kind=8) (complex*16 du fortran77).
ASTERC_STRING_SIZE: type de la taille des chaînes de caractères en C, échangées avec le fortran.
MED_INT_SIZE: taille du type entier utilisé dans med.