Besoin d'une macro AutoConf qui détecte si -M64 est une option de compilateur valide

StackOverflow https://stackoverflow.com/questions/1354996

  •  20-09-2019
  •  | 
  •  

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?

Était-ce utile?

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
scroll top