4

我有我想在所有 unix 系统上编译的代码,但是如果 -m64 我可用并且它可以工作,我希望配置脚本使用它。如何让 autoconf 检查 -m64 是否有效,如果有效,请使用它?

4

2 回答 2

10
my_save_cflags="$CFLAGS"
CFLAGS=-m64
AC_MSG_CHECKING([CC是否支持-m64])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
    [AC_MSG_RESULT([是])]
    [AM_CFLAGS=-m64],
    [AC_MSG_RESULT([否])]
)
CFLAGS="$my_save_cflags"
AC_SUBST([AM_CFLAGS])

使用 AM_CFLAGS 将 -m64 添加到构建假定自动生成(或在您自己的非自动生成文件中使用 AM_CFLAGS。)

于 2009-09-06T08:05:10.657 回答
2
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++])
])

并使用

CXX_FLAGS_CHECK([-m64])
于 2013-10-29T14:28:09.923 回答