AC_CXX_HAVE_FREEZE_SSTREAM ,
2002年09月04日
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 ])