AC_CXX_HAVE_FREEZE_SSTREAM
,
Alain BARBET <alian@cpan.org>
GPLWithACException
This program is free software; you can
redistribute it and/or modify it under the terms of the GNU General Public License
as published by the Free Software Foundation. As a special exception, the respective
Autoconf Macro's copyright owner gives unlimited permission to copy, distribute and modify
the configure scripts that are the output of Autoconf when processing the Macro. You
need not follow the terms of the
GNU General Public License when using or distributing such scripts
cryp.to ac-archive's C++ Support (released)
Check if the compiler has (need) freeze method call in
stringstream/ strstream. Seems that Win32 and STLPort have it,
libstdc++ not ...
Eg:
#include <sstream>
#ifdef HAVE_NAMESPACES
using namespace std;
#endif
#ifdef HAVE_SSTREAM
stringstream message;
#else
strstream message;
#endif
message << "Hello";
#ifdef HAVE_FREEZE_SSTREAM
message.freeze(0);
#endif
AC_DEFUN([AC_CXX_HAVE_FREEZE_SSTREAM],
[AC_CACHE_CHECK(whether the compiler has freeze in stringstream,
ac_cv_cxx_have_freeze_sstream,
[AC_REQUIRE([AC_CXX_NAMESPACES])
AC_REQUIRE([AC_CXX_HAVE_SSTREAM])
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_TRY_COMPILE([#include <sstream>
#ifdef HAVE_NAMESPACES
using namespace std;
#endif],
[#ifdef HAVE_SSTREAM
stringstream message;
#else
strstream message;
#endif
message << "Hello"; message.freeze(0); return 0;],
ac_cv_cxx_have_freeze_sstream=yes, ac_cv_cxx_have_freeze_sstream=no)
AC_LANG_RESTORE
])
if test "$ac_cv_cxx_have_freeze_sstream" = yes; then
AC_DEFINE(HAVE_FREEZE_SSTREAM,,[define if the compiler has freeze in
stringstream])
fi
])