Besoin d'une macro AutoConf qui détecte si -M64 est une option de compilateur valide
Question
J'ai du code que je souhaite compiler sur tous les systèmes UNIX, mais si -m64 je suis disponible et que cela fonctionne, je veux que le script de configuration l'utilise. Comment puis-je obtenir AutoConf pour vérifier si -M64 fonctionne et, dans l'affirmative, l'utiliser?
La solution
my_save_cflags="$CFLAGS" CFLAGS=-m64 AC_MSG_CHECKING([whether CC supports -m64]) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])], [AC_MSG_RESULT([yes])] [AM_CFLAGS=-m64], [AC_MSG_RESULT([no])] ) CFLAGS="$my_save_cflags" AC_SUBST([AM_CFLAGS])
L'utilisation d'AM_CFLAGS pour ajouter -M64 à la construction suppose l'automake (ou l'utilisation d'AM_CFLAGS dans vos propres makefiles non automade.)
Autres conseils
dnl @synopsis CXX_FLAGS_CHECK [compiler flags]
dnl @summary check whether compiler supports given C++ flags or not
AC_DEFUN([CXX_FLAG_CHECK],
[dnl
AC_MSG_CHECKING([if $CXX supports $1])
AC_LANG_PUSH([C++])
ac_saved_cxxflags="$CXXFLAGS"
CXXFLAGS="-Werror $1"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
[AC_MSG_RESULT([yes])],
[AC_MSG_ERROR([no])]
)
CXXFLAGS="$ac_saved_cxxflags"
AC_LANG_POP([C++])
])
Et utilise
CXX_FLAGS_CHECK([-m64])
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow