]> git.mxchange.org Git - simgear.git/blobdiff - simgear/compiler.h
Linux test_HTTP fixes.
[simgear.git] / simgear / compiler.h
index eca95fe5274a4139052bf9cc4473b42cefd4ce86..2686ea1ff0f3c0507ee107963c7a51a09f912341 100644 (file)
@@ -46,6 +46,9 @@
 #    warning GCC compilers prior to 3.4 are suspect  
 #  endif
 
+#  define SG_GCC_VERSION (__GNUC__ * 10000 \
+                     + __GNUC_MINOR__ * 100 \
+                     + __GNUC_PATCHLEVEL__)
 #  define SG_COMPILER_STR "GNU C++ version " SG_STRINGIZE(__GNUC__) "." SG_STRINGIZE(__GNUC_MINOR__)
 #endif // __GNUC__
 
 #  if _MSC_VER >= 1200  // msvc++ 6.0 or greater
 #    define isnan _isnan
 #    define snprintf _snprintf
+#    if _MSC_VER < 1500
+#      define vsnprintf _vsnprintf
+#    endif
 #    define copysign _copysign
+#    define strcasecmp stricmp
+
+#    undef min
+#    undef max
 
 #    pragma warning(disable: 4786) // identifier was truncated to '255' characters
 #    pragma warning(disable: 4244) // conversion from double to float
 
 
 #if defined (__sun)
+#  define SG_UNIX
 #  include <strings.h>
 #  include <memory.h>
 #  if defined ( __cplusplus )
 //
 
 #ifdef __APPLE__
+#  define SG_MAC
+#  define SG_UNIX
 #  ifdef __GNUC__
 #    if ( __GNUC__ > 3 ) || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 3 )
 inline int (isnan)(double r) { return !(r <= 0 || r >= 0); }
@@ -147,6 +160,8 @@ inline int (isnan)(double r) { return !(r <= 0 || r >= 0); }
 #endif
 
 #if defined (__FreeBSD__)
+#  define SG_UNIX
+#include <sys/param.h>
 #  if __FreeBSD_version < 500000
      extern "C" {
        inline int isnan(double r) { return !(r <= 0 || r >= 0); }
@@ -155,13 +170,25 @@ inline int (isnan)(double r) { return !(r <= 0 || r >= 0); }
 #endif
 
 #if defined (__CYGWIN__)
+#  define SG_WINDOWS
+#  define SG_UNIX
 #  include <ieeefp.h>          // isnan
 #endif
 
-#if defined(__MINGW32__)
-#  define isnan(x) _isnan(x)
+// includes both MSVC and mingw compilers
+#if defined(_WIN32) || defined(__WIN32__)
+#  define SG_WINDOWS
 #endif
 
+#if defined(__linux__) || defined(_AIX) || defined ( sgi )
+#  define SG_UNIX
+#endif
+
+#if defined( __GNUC__ )
+#  define DEPRECATED __attribute__ ((deprecated))
+#else
+#  define DEPRECATED
+#endif
 
 //
 // No user modifiable definitions beyond here.