autotools:configure.ac
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| autotools:configure.ac [2015/08/05 15:36] – Typo root | autotools:configure.ac [2020/04/27 07:56] (Version actuelle) – Conversion de <note> vers <WRAP> root | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | =====Les scripts===== | + | [[https:// |
| ====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 '' | Défini le langage du compilateur : g++ donc le compilateur défini par '' | ||
| + | |||
| + | Activation automatique des '' | ||
| <code autoconf> | <code autoconf> | ||
| AC_LANG(C++) | AC_LANG(C++) | ||
| Ligne 24: | Ligne 27: | ||
| </ | </ | ||
| - | <note> | + | <WRAP center round info 60%> |
| + | [[https:// | ||
| + | </ | ||
| + | |||
| + | Activation automatique des '' | ||
| + | |||
| + | <code autoconf> | ||
| + | AC_LANG(C++) | ||
| + | |||
| + | for NEW_FLAG in \ | ||
| + | c++98-compat \ | ||
| + | c++98-compat-pedantic | ||
| + | do | ||
| + | AC_MSG_CHECKING([if $CXX accepts -Wno-$NEW_FLAG]) | ||
| + | OLD_CXXFLAGS=" | ||
| + | CXXFLAGS=" | ||
| + | AC_COMPILE_IFELSE([AC_LANG_SOURCE( | ||
| + | [void foo(void); void foo(void) { }])], [ | ||
| + | AM_CXXFLAGS=" | ||
| + | AC_MSG_RESULT([yes]) | ||
| + | ], [ | ||
| + | AC_MSG_RESULT([no]) | ||
| + | ]) | ||
| + | CXXFLAGS=" | ||
| + | done | ||
| + | </ | ||
| + | |||
| + | ====Le cas clang==== | ||
| + | clang préfère avoir '' | ||
| + | |||
| + | Il suffit d' | ||
| + | <code autoconf> | ||
| + | AC_TRY_LINK([ | ||
| + | #include < | ||
| + | ], | ||
| + | [ | ||
| + | #ifndef __clang__ | ||
| + | This is not clang! | ||
| + | #endif | ||
| + | ], | ||
| + | [AM_CXXFLAGS=" | ||
| + | []) | ||
| + | </ | ||
| + | |||
| + | ====Forcer du code dans le config.h==== | ||
| + | <code autoconf> | ||
| + | AH_BOTTOM([ | ||
| + | #ifdef _MSC_VER | ||
| + | #define CHK _Check_return_ | ||
| + | |||
| + | #ifndef ssize_t | ||
| + | #include < | ||
| + | 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 | ||
| + | ]) | ||
| + | </ | ||
| + | |||
| + | ====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], | ||
| + | | ||
| + | if test " | ||
| + | withdoc=false | ||
| + | else | ||
| + | withdoc=true | ||
| + | fi | ||
| + | AC_MSG_RESULT([with-doc $withdoc]) | ||
| + | AC_CHECK_PROGS([DOXYGEN], | ||
| + | if test -z " | ||
| + | then AC_MSG_WARN([Doxygen introuvable - documentation non compilable]) | ||
| + | fi | ||
| + | AM_CONDITIONAL(HAVE_DOXYGEN, | ||
| + | if test x$withdoc = xtrue; then | ||
| + | AC_DEFINE(ENABLE_DOC, | ||
| + | fi | ||
| + | </code> | ||
autotools/configure.ac.1438781764.txt.gz · Dernière modification : de root
