모든 유닉스 시스템에서 컴파일하려는 코드가 있지만 -m64를 사용할 수 있고 작동하면 configure 스크립트에서이를 사용하도록합니다. autoconf가 -m64가 작동하는지 확인하고, 사용한다면 그것을 사용합니까? 빌드에 -m64를 추가 할 수 AM _ CFLAGS를 사용-m64가 유효한 컴파일러 옵션인지 여부를 감지하는 autoconf 매크로가 필요합니다.
는
4
A
답변
9
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])
automake를 가정 (또는 자신이 아닌 automade 메이크에서 오전 _ CFLAGS의 사용을.)
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])
* "@ synopsis CXX_FLAGS_CHECK [compiler flags]"* 및 친구들에 대한 범주 목록이 있습니까? 그것은 물건을 분류하고 문서화하는 좋은 방법 인 것 같습니다. – jww