Browse Source

ENH: Added KWSYS_FORCE_OLD_STREAMS option to force use of non-ansi stream headers even if they are available.

Brad King 22 years ago
parent
commit
3651096aad

+ 5 - 0
Source/kwsys/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})

+ 4 - 0
Source/kwsys/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

+ 1 - 3
Source/kwsys/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
 

+ 1 - 1
Source/kwsys/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;

+ 1 - 3
Source/kwsys/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
 

+ 1 - 3
Source/kwsys/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