diff --git a/CMakeLists.txt b/CMakeLists.txt index 4d0fb0e869c7f1029717e44145ba0fa97096f268..8b5befc5f3fcae8fa14b5934159e42c964fd703c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,6 +14,11 @@ IF(NOT CMAKE_HAS_ANSI_STRING_STREAM) SET(CMAKE_NO_ANSI_STRING_STREAM 1) ENDIF(NOT CMAKE_HAS_ANSI_STRING_STREAM) +IF(KWSYS_FORCE_OLD_STREAMS) + SET(CMAKE_NO_ANSI_STREAM_HEADERS 1) + SET(CMAKE_NO_ANSI_STRING_STREAM 1) +ENDIF(KWSYS_FORCE_OLD_STREAMS) + SET(KWSYS_NO_STD_NAMESPACE ${CMAKE_NO_STD_NAMESPACE}) SET(KWSYS_NO_ANSI_STREAM_HEADERS ${CMAKE_NO_ANSI_STREAM_HEADERS}) SET(KWSYS_NO_ANSI_STRING_STREAM ${CMAKE_NO_ANSI_STRING_STREAM}) diff --git a/Configure.hxx.in b/Configure.hxx.in index cd45170f4f730bce5492a2297949f8518f066292..d656abc173d2135e88f5873941907cda3d2d1234 100644 --- a/Configure.hxx.in +++ b/Configure.hxx.in @@ -23,6 +23,10 @@ #cmakedefine KWSYS_NO_ANSI_STRING_STREAM #cmakedefine KWSYS_NO_ANSI_FOR_SCOPE +#if defined(__GNUC__) && (__GNUC__ < 3) +# define KWSYS_FAKE_STD_NAMESPACE +#endif + #if defined(KWSYS_NO_STD_NAMESPACE) # define kwsys_std #else diff --git a/kwsys_std_fstream.h.in b/kwsys_std_fstream.h.in index 82e6b7cc6839a79b9cbfbbe91c4c9cbf0bc6b7fc..6988f6a8bf8a97d3fce65dd5949f86a2d8f61179 100644 --- a/kwsys_std_fstream.h.in +++ b/kwsys_std_fstream.h.in @@ -28,8 +28,7 @@ # include <fstream> #else # include <fstream.h> -# if !defined(KWSYS_NO_STD_NAMESPACE) - +# if !defined(KWSYS_NO_STD_NAMESPACE) && !defined(KWSYS_FAKE_STD_NAMESPACE) namespace std { using ::ostream; @@ -40,7 +39,6 @@ namespace std using ::endl; using ::flush; } - # endif #endif diff --git a/kwsys_std_iosfwd.h.in b/kwsys_std_iosfwd.h.in index 0758135de19fb55cc4ed906c89e142e9cba810a3..a0bd917bbbdfe02f8f5e04e11a18a8f53d1a3c08 100644 --- a/kwsys_std_iosfwd.h.in +++ b/kwsys_std_iosfwd.h.in @@ -33,7 +33,7 @@ class ios; class istream; class ofstream; class ostream; -# if !defined(KWSYS_NO_STD_NAMESPACE) +# if !defined(KWSYS_NO_STD_NAMESPACE) && !defined(KWSYS_FAKE_STD_NAMESPACE) namespace std { using ::fstream; diff --git a/kwsys_std_iostream.h.in b/kwsys_std_iostream.h.in index 40a41c69ebd564ff01ee7aa4b21bebf9b03f9625..c5d7b5ef7a2af3c1400f5fca21ffb4e9918953e2 100644 --- a/kwsys_std_iostream.h.in +++ b/kwsys_std_iostream.h.in @@ -28,8 +28,7 @@ # include <iostream> #else # include <iostream.h> -# if !defined(KWSYS_NO_STD_NAMESPACE) - +# if !defined(KWSYS_NO_STD_NAMESPACE) && !defined(KWSYS_FAKE_STD_NAMESPACE) namespace std { using ::ostream; @@ -41,7 +40,6 @@ namespace std using ::endl; using ::flush; } - # endif #endif diff --git a/kwsys_std_sstream.h.in b/kwsys_std_sstream.h.in index 2f0a976f91e5312d90c6dc0d02e53d1df794edc4..a9838da459171b58e0839d56fbec4eeff50cf6e5 100644 --- a/kwsys_std_sstream.h.in +++ b/kwsys_std_sstream.h.in @@ -37,8 +37,7 @@ # include <strstream> # else # include <strstream.h> -# if !defined(KWSYS_NO_STD_NAMESPACE) - +# if !defined(KWSYS_NO_STD_NAMESPACE) && !defined(KWSYS_FAKE_STD_NAMESPACE) namespace std { using ::ostream; @@ -50,7 +49,6 @@ namespace std using ::ends; using ::flush; } - # endif # endif # ifdef _MSC_VER