autotools

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
autotools [2021/06/08 16:00] – [Chercher une bibliothèque] add how to look for a function in a library phswautotools [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, mpicc, [no]) AC_PATH_PROG(mpicc_path, mpicc, [no])
 +AM_CONDITIONAL([HAVE_MPI], [test x$mpicc_path != xno])
 +if test x$mpicc_path != xno; then
 +    CC=$mpicc_path
 +    have_mpi=yes
 +fi
 </code> </code>
 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 ''PATH''   - Il est aussi possible de préciser le ''PATH''
  
Ligne 165: Ligne 171:
 uncore_set_LDADD = $(LIKWID_LIBS) uncore_set_LDADD = $(LIKWID_LIBS)
 endif endif
 +</code>
 +
 +Il est possible de définir les flags pour toutes les cibles, en mettant en haut d'un ''Makefile.am'' :
 +<code make>
 +LDADD = $(HWLOC_LIBS)
 +AM_CFLAGS = $(HWLOC_CFLAGS)
 +</code>
 +
 +Il est possible de chercher une bibliothèque et utiliser les flags requis, depuis le fichier ''configure.ac'' ([[https://autotools.info/autoconf/finding.html|source]]) :
 +<code autoconf>
 +AC_SEARCH_LIBS([hwloc_free],[hwloc],,AC_MSG_ERROR([hwloc library unavailable]))
 </code> </code>
  
Ligne 185: Ligne 202:
 fi fi
 </code> </code>
 +Cela va définir une constante de préprocesseur ''HAVE_STARPU_FREE_NOFLAG'' si la fonction est trouvée.
 +
 +Il est possible de chercher des fonctions en précisant dans quel fichier d'en-tête chercher:
 +<code autoconf>
 +AC_CHECK_DECLS([_mm_stream_si32], [], [], [[#include <x86intrin.h>]])
 +</code>
 +Cela va définir une constante de préprocesseur ''HAVE_DECL__MM_STREAM_SI32''.
  
  
Ligne 264: Ligne 288:
 <code bash> <code bash>
 ../configure --enable-debug ../configure --enable-debug
 +</code>
 +
 +
 +
 +==== Composants externes ====
 +
 +<code autoconf>
 +mpicc_name=mpicc
 +AC_ARG_WITH(mpicc, [AS_HELP_STRING([--with-mpicc=<mpicc name>], [Name of the MPI compiler])],[mpicc_name=$withval])
 </code> </code>
  
  • autotools.1623160829.txt.gz
  • Dernière modification : 2021/06/08 16:00
  • de phsw