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.