]> git.mxchange.org Git - flightgear.git/commitdiff
More portability improvements by Bernie Bright.
authorcurt <curt>
Fri, 6 Nov 1998 14:04:09 +0000 (14:04 +0000)
committercurt <curt>
Fri, 6 Nov 1998 14:04:09 +0000 (14:04 +0000)
compiler.h

index fbc6fb834c040b0811832fa4c62f03ab1f4c1455..7a8261eb56306203cbea1197bc6c249d302d4330 100644 (file)
 //       arguments explicitly.
 //  (7)  Defines FG_NEED_AUTO_PTR if STL doesn't provide auto_ptr<>.
 //  (8)  Defines FG_NO_ARROW_OPERATOR if the compiler is unable
-//       to support the -> operator for iterators.
+//       to support operator->() for iterators.
 //  (9)  Defines FG_USE_EXCEPTIONS if the compiler (in the current
 //       compilation mode) supports exceptions.
 //  (10) Define FG_NAMESPACES if the compiler supports namespaces.
 //  (11) Define FG_MATH_FN_IN_NAMESPACE_STD if C math functions are in <cmath>
 //       and std::
 //  (12) Define FG_HAVE_STD if ISO C++ Standard headers are supported.
+//  (13) Defines FG_CLASS_PARTIAL_SPECIALIZATION if the compiler 
+//       supports partial specialization of class templates.
+//  (14) Defines FG_HAVE_STD_INCLUDES to use <iostream> instead of <iostream.h>
+//  (15) Defines FG_HAVE_STREAMBUF if <streambuf> of <streambuf.h> are present.
 
 #ifdef __GNUC__
 #  if __GNUC__ == 2 
@@ -69,8 +73,9 @@
 #      define FG_NEED_AUTO_PTR
 #      define FG_MEMBER_TEMPLATES
 #      define FG_NAMESPACES
-#      define FG_MATH_FN_IN_NAMESPACE_STD
 #      define FG_HAVE_STD
+#      define FG_HAVE_STREAMBUF
+#      define FG_CLASS_PARTIAL_SPECIALIZATION
 
 #      define STL_ALGORITHM  <algorithm>
 #      define STL_FUNCTIONAL <functional>
 #endif
 
 #ifdef __BORLANDC__
+# if defined(HAVE_SGI_STL_PORT)
+
+// Use quotes around long file names to get around Borland's include hackery
+
+#  define STL_ALGORITHM  "algorithm"
+#  define STL_FUNCTIONAL "functional"
+
+#  define FG_MATH_EXCEPTION_CLASH
+
+# else
 
 #  define STL_ALGORITHM  <algorithm>
 #  define STL_FUNCTIONAL <functional>
 #  define STL_STRING     <string>
 #  define STL_STRSTREAM  <strstream>
 
+#  define FG_INCOMPLETE_FUNCTIONAL
+
+# endif // HAVE_SGI_STL_PORT
+
 #  define FG_NO_DEFAULT_TEMPLATE_ARGS
 #  define FG_NAMESPACES
-#  define FG_INCOMPLETE_FUNCTIONAL
 #  define FG_HAVE_STD
 
-#endif
+#endif // __BORLANDC__
 
 #ifdef FG_NEED_EXPLICIT
 #  define explicit
 #  define FG_NULL_TMPL_ARGS
 #endif
 
+#ifdef FG_CLASS_PARTIAL_SPECIALIZATION
+# define FG_TEMPLATE_NULL template<>
+#else
+# define FG_TEMPLATE_NULL
+#endif
+
 // FG_NO_NAMESPACES is a hook so that users can disable namespaces
 // without having to edit library headers.
 #if defined(FG_NAMESPACES) && !defined(FG_NO_NAMESPACES)
@@ -178,6 +202,9 @@ inline const_mem_fun_ref_t<_Ret,_Tp> mem_fun_ref(_Ret (_Tp::*__f)() const)
 #endif // _COMPILER_H
 
 // $Log$
+// Revision 1.3  1998/11/06 14:04:09  curt
+// More portability improvements by Bernie Bright.
+//
 // Revision 1.2  1998/11/02 18:28:08  curt
 // Portability updates from Bernie Bright
 //