Outils pour utilisateurs

Outils du site


autotools:configure.ac

Ceci est une ancienne révision du document !


Les scripts

Détection des options de compilation compatible avec CXX

Défini le langage du compilateur : g++ donc le compilateur défini par CXX.

Activation automatique des -Wwarnings supportés.

AC_LANG(C++)
 
for NEW_FLAG in \
  -Wall \
  -Wcast-align
do
  AC_MSG_CHECKING([if $CXX accepts $NEW_FLAG])
  OLD_CXXFLAGS="$CXXFLAGS"
  CXXFLAGS="$CXXFLAGS $NEW_FLAG -Werror"
  #AC_COMPILE_IFELSE utilise CXXFLAGS pas AM_CXXFLAGS
  AC_COMPILE_IFELSE([AC_LANG_SOURCE(
    [void foo(void); void foo(void) { }])], [
    AM_CXXFLAGS="$AM_CXXFLAGS $NEW_FLAG"
    AC_MSG_RESULT([yes])
  ], [
    AC_MSG_RESULT([no])
  ])
  CXXFLAGS="$OLD_CXXFLAGS"
done

<note>Source, 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>

Activation automatique des -Wno-warnings supportés. On teste les -Warnings mais on ajoute -Wno-warnings

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"
  CXXFLAGS="$CXXFLAGS -W$NEW_FLAG -Werror -Wno-unused-macros"
  AC_COMPILE_IFELSE([AC_LANG_SOURCE(
    [void foo(void); void foo(void) { }])], [
    AM_CXXFLAGS="$AM_CXXFLAGS -Wno-$NEW_FLAG"
    AC_MSG_RESULT([yes])
  ], [
    AC_MSG_RESULT([no])
  ])
  CXXFLAGS="$OLD_CXXFLAGS"
done
autotools/configure.ac.1504234261.txt.gz · Dernière modification : 2017/09/01 04:51 de root