* m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Catch a

configuration screwup "./configure CC=/opt/SUNWspro/bin/c89
CFLAGS="-xarch=generic64" CXX=/opt/SUNWspro/bin/CC
LDFLAGS="-xarch=generic64" with Sun C 5.7 on Solaris 10; this
messes up because C++ code is compiled in 32-bit mode but linked
in 64-bit mode.
This commit is contained in:
Paul Eggert
2006-02-10 08:00:30 +00:00
parent c28adce59b
commit 0be105dc42
2 changed files with 19 additions and 4 deletions

View File

@@ -25,7 +25,8 @@ AC_DEFUN([BISON_TEST_FOR_WORKING_CXX_COMPILER],
AC_CACHE_CHECK([whether $CXX builds executables that work],
bison_cv_cxx_works,
[AC_LANG_PUSH([C++])
AC_RUN_IFELSE(
bison_cv_cxx_works=no
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[#include <cstdlib>
#include <iostream>
@@ -41,9 +42,12 @@ AC_DEFUN([BISON_TEST_FOR_WORKING_CXX_COMPILER],
for (i = m.begin (); i != m.end (); ++i)
if (i->first != 4)
return 1;])],
[bison_cv_cxx_works=yes],
[bison_cv_cxx_works=no],
[bison_cv_cxx_works=cross])
[AS_IF([AC_TRY_COMMAND([$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_objext $LIBS >&AS_MESSAGE_LOG_FD])],
[AS_IF([test "$cross_compiling" = yes],
[bison_cv_cxx_works=cross],
[AS_IF([AC_TRY_COMMAND(./conftest$ac_exeext)],
[bison_cv_cxx_works=yes])])])
rm -f conftest$ac_exeext])
AC_LANG_POP([C++])])
case $bison_cv_cxx_works in