Outils pour utilisateurs

Outils du site


autotools:configure.ac

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édentesRévision précédente
Prochaine révision
Révision précédente
autotools:configure.ac [2017/09/01 04:59] – Ajout du cas clang rootautotools:configure.ac [2020/04/27 07:56] (Version actuelle) – Conversion de <note> vers <WRAP> root
Ligne 1: Ligne 1:
-=====Les scripts=====+[[https://www.gnu.org/software/autoconf/manual/autoconf.pdf|Manuel 2.69]], {{ :autotools:configure.ac:autoconf_2_69.pdf |Archive}} 
 ====Détection des options de compilation compatible avec CXX==== ====Détection des options de compilation compatible avec CXX====
 Défini le langage du compilateur : g++ donc le compilateur défini par ''CXX''. Défini le langage du compilateur : g++ donc le compilateur défini par ''CXX''.
Ligne 26: Ligne 27:
 </code> </code>
  
-<note>[[https://github.com/gcc-mirror/gcc/blob/master/config/warnings.m4|Source]], {{:autotools:configure.ac:warnings.m4|Archive}} : gcc ne crée pas d'avertissement dans le cas de ''-Wno-*'' non supporté. Il est donc nécessaire de tester la version ''-W*''.</note>+<WRAP center round info 60%> 
 +[[https://github.com/gcc-mirror/gcc/blob/master/config/warnings.m4|warnings.m4]], {{:autotools:configure.ac:warnings.m4|Archive}} : gcc ne crée pas d'avertissement dans le cas de ''-Wno-*'' non supporté. Il est donc nécessaire de tester la version ''-W*''. 
 +</WRAP>
  
 Activation automatique des ''-Wno-warnings'' supportés. On teste les ''-Warnings'' mais on ajoute ''-Wno-warnings'' Activation automatique des ''-Wno-warnings'' supportés. On teste les ''-Warnings'' mais on ajoute ''-Wno-warnings''
Ligne 52: Ligne 55:
  
 ====Le cas clang==== ====Le cas clang====
-clang préfère avoir -fno-use-cxa-atexit pour éviter des erreurs de type "hidden symbol `atexit'.+clang préfère avoir ''-fno-use-cxa-atexit'' pour éviter des erreurs de type "hidden symbol `atexit'.
  
 Il suffit d'ajouter la fonction suivante : Il suffit d'ajouter la fonction suivante :
Ligne 66: Ligne 69:
             [AM_CXXFLAGS="$AM_CXXFLAGS -fno-use-cxa-atexit"],             [AM_CXXFLAGS="$AM_CXXFLAGS -fno-use-cxa-atexit"],
             [])             [])
 +</code>
 +
 +====Forcer du code dans le config.h====
 +<code autoconf>
 +AH_BOTTOM([
 +#ifdef _MSC_VER
 +#define CHK _Check_return_
 +
 +#ifndef ssize_t
 +#include <BaseTsd.h>
 +typedef SSIZE_T ssize_t;
 +#endif // !ssize_t
 +
 +#else // !_MSC_VER
 +#define CHK __attribute__ ((__warn_unused_result__))
 +#endif
 +
 +#if defined(_MSC_VER)
 +#define SSCANF sscanf_s
 +#define DllExport __declspec(dllexport)
 +#else
 +#define SSCANF sscanf
 +#define DllExport
 +#endif
 +])
 +</code>
 +
 +====Ajout d'une option --with-…====
 +<code autoconf>
 +# Vérification de la possibilité de compiler la documentation via doxygen
 +AC_ARG_WITH(doc,
 +            AS_HELP_STRING([--with-doc],
 +                           [build with doc support]))
 +if test "$with_doc" != "yes"; then
 +  withdoc=false
 +else
 +  withdoc=true
 +fi
 +AC_MSG_RESULT([with-doc $withdoc])
 +AC_CHECK_PROGS([DOXYGEN], [doxygen])
 +if test -z "$DOXYGEN";
 +  then AC_MSG_WARN([Doxygen introuvable - documentation non compilable])
 +fi
 +AM_CONDITIONAL(HAVE_DOXYGEN, test x$withdoc = xtrue && test -n "$DOXYGEN")
 +if test x$withdoc = xtrue; then
 +AC_DEFINE(ENABLE_DOC, 1, [Défini si la doc doit être générée])
 +fi
 </code> </code>
autotools/configure.ac.1504234757.txt.gz · Dernière modification : 2017/09/01 04:59 de root