# define STL_STDEXCEPT <stdexcept>
# define STL_STRING <string>
# define STL_STRSTREAM <strstream>
-
# else
# error Time to upgrade. GNU compilers < 2.7 not supported
# endif
-# define SG_COMPILER "GNU C++ version " SG_STRINGIZE(__GNUC__) "." SG_STRINGIZE(__GNUC_MINOR__)
+# define SG_COMPILER_STR "GNU C++ version " SG_STRINGIZE(__GNUC__) "." SG_STRINGIZE(__GNUC_MINOR__)
#endif // __GNUC__
#if defined( __MINGW32__ )
# define bcopy(from, to, n) memcpy(to, from, n)
# define FG_MEM_COPY(to,from,n) memcpy(to, from, n)
+# define snprintf _snprintf
#endif
/* KAI C++ */
# define STL_STRING <string>
# define STL_STRSTREAM <strstream>
-# define SG_COMPILER "Kai C++ version " SG_STRINGIZE(__KCC_VERSION)
+# define SG_COMPILER_STR "Kai C++ version " SG_STRINGIZE(__KCC_VERSION)
#endif // __KCC
// -dw- currently used glut has no game mode stuff
# define GLUT_WRONG_VERSION
-# define SG_COMPILER "Metrowerks CodeWarrior C++ version " SG_STRINGIZE(__MWERKS__)
+# define SG_COMPILER_STR "Metrowerks CodeWarrior C++ version " SG_STRINGIZE(__MWERKS__)
#endif // __MWERKS__
# define STL_STRING <string>
# define STL_STRSTREAM <strstream>
-# define SG_NO_INCLASS_MEMBER_INITIALIZATION
-
-// disable min/max macros if defined:
-// # ifdef min
-// # undef min
-// # endif
-// # ifdef max
-// # undef max
-// # endif
-// # ifndef NOMINMAX
-// # define NOMINMAX
-// # endif
+# define snprintf _snprintf
# pragma warning(disable: 4786) // identifier was truncated to '255' characters
# pragma warning(disable: 4244) // conversion from double to float
# error What version of MSVC++ is this?
# endif
-# define SG_COMPILER "Microsoft Visual C++ version " SG_STRINGIZE(_MSC_VER)
+# define SG_COMPILER_STR "Microsoft Visual C++ version " SG_STRINGIZE(_MSC_VER)
#endif // _MSC_VER
# define SG_NAMESPACES
// # define SG_HAVE_STD
-# define SG_COMPILER "Borland C++ version " SG_STRINGIZE(__BORLANDC__)
+# define SG_COMPILER_STR "Borland C++ version " SG_STRINGIZE(__BORLANDC__)
#endif // __BORLANDC__
# define SG_HAVE_NATIVE_SGI_COMPILERS
# define SG_EXPLICIT_FUNCTION_TMPL_ARGS
+# define SG_CLASS_PARTIAL_SPECIALIZATION
# define SG_NEED_AUTO_PTR
# define SG_MEMBER_TEMPLATES
# define SG_NAMESPACES
# define SG_HAVE_STD
-# define SG_CLASS_PARTIAL_SPECIALIZATION
+# define SG_HAVE_STREAMBUF
# define SG_HAVE_TRAITS
+# define SG_HAVE_STD_INCLUDES
# define STL_ALGORITHM <algorithm>
# define STL_FUNCTIONAL <functional>
-# define STL_IOMANIP <iomanip.h>
-# define STL_IOSTREAM <iostream.h>
-# define STL_ITERATOR <iterator.h>
-# define STL_FSTREAM <fstream.h>
+# define STL_IOMANIP <iomanip>
+# define STL_IOSTREAM <iostream>
+# define STL_ITERATOR <iterator>
+# define STL_FSTREAM <fstream>
# define STL_STDEXCEPT <stdexcept>
# define STL_STRING <string>
-# define STL_STRSTREAM <strstream.h>
-
-// # define __STL_FUNCTION_TMPL_PARTIAL_ORDER
-// typedef void PFNGLPOINTPARAMETERFEXTPROC
-
-#define glPointParameterfEXT glPointParameterfSGIS
-#define glPointParameterfvEXT glPointParameterfvSGIS
+# define STL_STRSTREAM <strstream>
#pragma set woff 1001,1012,1014,1116,1155,1172,1174
#pragma set woff 1401,1460,1551,1552,1681
#pragma set woff 1682,3303
#endif
-# define SG_COMPILER "SGI Irix compiler version " SG_STRINGIZE(_COMPILER_VERSION)
+# define SG_COMPILER_STR "SGI MipsPro compiler version " SG_STRINGIZE(_COMPILER_VERSION)
#endif // Native SGI compilers
extern void *memmove(void *, const void *, size_t);
# endif // __cplusplus
-# define SG_COMPILER "Sun compiler version " SG_STRINGIZE(__SUNPRO_CC)
+# define SG_COMPILER_STR "Sun compiler version " SG_STRINGIZE(__SUNPRO_CC)
#endif // sun
//
// Intel C++ Compiler
//
-#if defined(__ICC)
+#if defined(__ICC) || defined (__ECC)
# define SG_NAMESPACES
# define SG_HAVE_STD
# define SG_HAVE_STREAMBUF
# define STL_STRING <string>
# define STL_STRSTREAM <strstream>
-# define SG_COMPILER "Intel C++ version " SG_STRINGIZE(__ICC)
+# define SG_COMPILER_STR "Intel C++ version " SG_STRINGIZE(__ICC)
#endif // __ICC
#endif // SG_INCOMPLETE_FUNCTIONAL
-/**
- * SG_STATIC_CONSTANT workaround.
- * On compilers which don't allow in-class initialization of static integral
- * constant members, we must use enums as a workaround if we want the constants
- * to be available at compile-time. This macro gives us a convenient way to
- * declare such constants.
- */
-#ifdef SG_NO_INCLASS_MEMBER_INITIALIZATION
-# define SG_STATIC_CONST(type,assignment) enum { assignment }
-#else
-# define SG_STATIC_CONST(type,assignment) static const type assignment
-#endif
-
#endif // _SG_COMPILER_H