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/05/24 17:31] – [Enable option] fix url formatting phsw | autotools [2023/04/11 11:06] (Version actuelle) – Add --with-foo phsw | ||
|---|---|---|---|
| Ligne 34: | Ligne 34: | ||
| AC_PROG_CC # cherche un compilateur C | AC_PROG_CC # cherche un compilateur C | ||
| + | AM_PROG_CC_C_O # enable per-target flags, required for automake < 1.14 | ||
| AC_CONFIG_FILES([Makefile src/ | AC_CONFIG_FILES([Makefile src/ | ||
| Ligne 113: | 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 165: | 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 244: | Ligne 288: | ||
| <code bash> | <code bash> | ||
| ../ | ../ | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ==== Composants externes ==== | ||
| + | |||
| + | <code autoconf> | ||
| + | mpicc_name=mpicc | ||
| + | AC_ARG_WITH(mpicc, | ||
| </ | </ | ||