Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| autotools [2021/06/08 10:18] – [Mise en place minimale] support also old version of automake phsw | autotools [2023/04/11 11:06] (Version actuelle) – Add --with-foo phsw | ||
|---|---|---|---|
| Ligne 114: | Ligne 114: | ||
| <code autoconf> | <code autoconf> | ||
| + | have_mpi=no | ||
| AC_PATH_PROG(mpicc_path, | AC_PATH_PROG(mpicc_path, | ||
| + | AM_CONDITIONAL([HAVE_MPI], | ||
| + | if test x$mpicc_path != xno; then | ||
| + | CC=$mpicc_path | ||
| + | have_mpi=yes | ||
| + | fi | ||
| </ | </ | ||
| Paramètres: | Paramètres: | ||
| - Variable qui contiendra le chemin du programme | - Variable qui contiendra le chemin du programme | ||
| - Programme à chercher | - Programme à chercher | ||
| - | - Optionnel: valeur par défaut si le programme n'est pas trouvé | + | - Optionnel: valeur par défaut si le programme n'est pas trouvé. Par défaut, renvoie une chaîne de caractères vide si le programme n'est pas trouvé. |
| - Il est aussi possible de préciser le '' | - Il est aussi possible de préciser le '' | ||
| Ligne 166: | Ligne 172: | ||
| endif | endif | ||
| </ | </ | ||
| + | |||
| + | Il est possible de définir les flags pour toutes les cibles, en mettant en haut d'un '' | ||
| + | <code make> | ||
| + | LDADD = $(HWLOC_LIBS) | ||
| + | AM_CFLAGS = $(HWLOC_CFLAGS) | ||
| + | </ | ||
| + | |||
| + | Il est possible de chercher une bibliothèque et utiliser les flags requis, depuis le fichier '' | ||
| + | <code autoconf> | ||
| + | AC_SEARCH_LIBS([hwloc_free], | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ==== Chercher une fonction dans une bibliothèque ==== | ||
| + | |||
| + | Il est nécessaire de mettre à jour les flags pour que le compilateur puisse linker la bibliothèque où la fonction est supposée être: | ||
| + | <code autoconf> | ||
| + | PKG_CHECK_MODULES([STARPU], | ||
| + | AM_CONDITIONAL(HAVE_STARPU, | ||
| + | if test x$have_starpu = xyes; then | ||
| + | save_LIBS=" | ||
| + | save_CFLAGS=" | ||
| + | CFLAGS=" | ||
| + | LIBS=" | ||
| + | AC_CHECK_FUNCS([starpu_free_noflag]) | ||
| + | CFLAGS=" | ||
| + | LIBS=" | ||
| + | fi | ||
| + | </ | ||
| + | Cela va définir une constante de préprocesseur '' | ||
| + | |||
| + | Il est possible de chercher des fonctions en précisant dans quel fichier d' | ||
| + | <code autoconf> | ||
| + | AC_CHECK_DECLS([_mm_stream_si32], | ||
| + | </ | ||
| + | Cela va définir une constante de préprocesseur '' | ||
| Ligne 245: | Ligne 288: | ||
| <code bash> | <code bash> | ||
| ../ | ../ | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ==== Composants externes ==== | ||
| + | |||
| + | <code autoconf> | ||
| + | mpicc_name=mpicc | ||
| + | AC_ARG_WITH(mpicc, | ||
| </ | </ | ||