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:51] – Ajout des no-warning 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 51: Ligne 54:
 </code> </code>
  
 +====Le cas clang====
 +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 :
 +<code autoconf>
 +AC_TRY_LINK([
 +              #include <stdio.h>
 +            ],
 +            [
 +              #ifndef __clang__
 +                This is not clang!
 +              #endif
 +            ],
 +            [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>
autotools/configure.ac.1504234261.txt.gz · Dernière modification : 2017/09/01 04:51 de root