/**************************************************************************
* compiler.h -- C++ Compiler Portability Macros
*
- * 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; either version 2 of the
- * License, or (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
+ * Library General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
*
* $Id$
**************************************************************************/
# endif
#endif
+/* KAI C++ */
+#if defined(__KCC)
+
+# define FG_NAMESPACES
+# define FG_HAVE_STD
+# define FG_HAVE_STREAMBUF
+# define FG_HAVE_TRAITS
+# define FG_HAVE_STD_INCLUDES
+
+# define STL_ALGORITHM <algorithm>
+# define STL_FUNCTIONAL <functional>
+# define STL_IOMANIP <iomanip>
+# define STL_IOSTREAM <iostream>
+# define STL_FSTREAM <fstream>
+# define STL_STDEXCEPT <stdexcept>
+# define STL_STRING <string>
+# define STL_STRSTREAM <strstream>
+#endif
+
//
// Metrowerks
//
# define bcopy(from, to, n) memcpy(to, from, n)
// -rp- please use FG_MEM_COPY everywhere !
-# define FG_MEM_COPY(to,from,n) memcpy(to, from, n)
+// #define FG_MEM_COPY(to,from,n) memcpy(to, from, n)
// -dw- currently used glut has no game mode stuff
# define GLUT_WRONG_VERSION
// Microsoft compilers.
//
#ifdef _MSC_VER
-# if _MSC_VER == 1200 // msvc++ 6.0
+# define bcopy(from, to, n) memcpy(to, from, n)
+# define FG_MEM_COPY(to,from,n) memcpy(to, from, n)
+
+# if _MSC_VER == 1200 // msvc++ 6.0
# define FG_NAMESPACES
# define FG_HAVE_STD
# define FG_HAVE_STD_INCLUDES
# pragma warning(disable: 4305) //
# elif _MSC_VER == 1100 // msvc++ 5.0
-# error MSVC++ 5.0 still to be supported...
+# define NEEDNAMESPACESTD
+# define FG_NAMESPACES
+# define FG_HAVE_STD
+# define FG_HAVE_STD_INCLUDES
+# define FG_HAVE_STREAMBUF
+
+# define STL_ALGORITHM <algorithm>
+# define STL_FUNCTIONAL <functional>
+# define STL_IOMANIP <iomanip>
+# define STL_IOSTREAM <iostream>
+# define STL_FSTREAM <fstream>
+# define STL_STDEXCEPT <stdexcept>
+# define STL_STRING <string>
+# define STL_STRSTREAM <strstream>
+
+# pragma warning(disable: 4786) // identifier was truncated to '255' characters
+# pragma warning(disable: 4244) // conversion from double to float
+# pragma warning(disable: 4305) //
+
# else
# error What version of MSVC++ is this?
# endif
# define FG_NAMESPACES
# define FG_HAVE_STD
# define FG_CLASS_PARTIAL_SPECIALIZATION
+# define FG_HAVE_TRAITS
# define STL_ALGORITHM <algorithm>
# define STL_FUNCTIONAL <functional>