[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ISO C++ and Octave
From: |
Mumit Khan |
Subject: |
Re: ISO C++ and Octave |
Date: |
Wed, 31 Jan 2001 11:05:25 -0600 (CST) |
Here's the config patch for checking for ISO-C++ compliant library. It's
extremely naive, but it's a start. I use it for a variety of reasonable
compilers (KAI, Sun Forte, and a few other EDG derived ones), and it
does the job for me. I need numeric_limits<> in my numerical code, and
I check for the explicitly. Octave doesn't need anything special here.
2001-01-31 Mumit Khan <address@hidden>
* aclocal.m4 (OCTAVE_CXX_ISO_COMPLIANT_LIBRARY): New macro.
* configure.in: Use.
Index: aclocal.m4
===================================================================
RCS file: /homes/khan/src/math/CVSROOT/octave-test/aclocal.m4,v
retrieving revision 1.1.1.2
diff -u -3 -p -r1.1.1.2 aclocal.m4
--- aclocal.m4 2001/01/30 04:41:41 1.1.1.2
+++ aclocal.m4 2001/01/31 16:53:10
@@ -931,3 +931,40 @@ EOF
AC_DEFINE(CXX_PREPENDS_UNDERSCORE)
fi
])
+dnl
+dnl See if the C++ library is ISO compliant.
+dnl FIXME: This is obviously very simplistic, and trivially fooled.
+dnl
+dnl OCTAVE_CXX_ISO_COMPLIANT_LIBRARY
+AC_DEFUN(OCTAVE_CXX_ISO_COMPLIANT_LIBRARY, [
+ AC_REQUIRE([AC_PROG_CXX])
+ AC_MSG_CHECKING([if C++ library is ISO compliant])
+ AC_CACHE_VAL(octave_cv_cxx_iso_compliant_library, [
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ rm -f conftest.h
+ for inc in algorithm bitset cassert cctype cerrno cfloat ciso646 \
+ climits clocale cmath complex csetjmp csignal cstdarg cstddef \
+ cstdio cstdlib cstring ctime cwchar cwctype deque exception \
+ fstream functional iomanip ios iosfwd iostream istream iterator \
+ limits list locale map memory new numeric ostream queue set \
+ sstream stack stdexcept streambuf string strstream typeinfo \
+ utility valarray vector; do
+ echo "#include <$inc>" >> conftest.h
+ done
+ AC_TRY_LINK([#include "conftest.h"], [
+ std::bitset<50> flags;
+ flags.set();
+ int digits = std::numeric_limits<unsigned long>::digits;
+ digits = 0;
+ ],
+ octave_cv_cxx_iso_compliant_library=yes,
+ octave_cv_cxx_iso_compliant_library=no
+ )
+ AC_LANG_RESTORE
+ ])
+ AC_MSG_RESULT($octave_cv_cxx_iso_compliant_library)
+ if test $octave_cv_cxx_iso_compliant_library = yes; then
+ AC_DEFINE(CXX_ISO_COMPLIANT_LIBRARY)
+ fi
+])
Index: configure.in
===================================================================
RCS file: /homes/khan/src/math/CVSROOT/octave-test/configure.in,v
retrieving revision 1.1.1.2
diff -u -3 -p -r1.1.1.2 configure.in
--- configure.in 2001/01/30 04:41:41 1.1.1.2
+++ configure.in 2001/01/31 16:53:42
@@ -199,6 +199,7 @@ fi
AC_SUBST(CXX_VERSION)
OCTAVE_CXX_NEW_FRIEND_TEMPLATE_DECL
+OCTAVE_CXX_ISO_COMPLIANT_LIBRARY
### See which C compiler to use (we expect to find gcc).
- ISO C++ and Octave, Mumit Khan, 2001/01/30
- ISO C++ and Octave, John W. Eaton, 2001/01/30
- Re: ISO C++ and Octave, Mumit Khan, 2001/01/30
- Re: ISO C++ and Octave, John W. Eaton, 2001/01/31
- Re: ISO C++ and Octave, Mumit Khan, 2001/01/31
- Re: ISO C++ and Octave, John W. Eaton, 2001/01/31
- Re: ISO C++ and Octave, Mumit Khan, 2001/01/31
- Re: ISO C++ and Octave, John W. Eaton, 2001/01/31
- Re: ISO C++ and Octave, Mumit Khan, 2001/01/31
- Re: ISO C++ and Octave,
Mumit Khan <=
- Re: ISO C++ and Octave, John W. Eaton, 2001/01/31
- Re: ISO C++ and Octave, Mumit Khan, 2001/01/31
- Re: ISO C++ and Octave, John W. Eaton, 2001/01/31
- Patch [Re: ISO C++ and Octave], Mumit Khan, 2001/01/31
- Re: ISO C++ and Octave, Mumit Khan, 2001/01/31
- Re: ISO C++ and Octave, Mumit Khan, 2001/01/31
Re: ISO C++ and Octave, Mumit Khan, 2001/01/30