00001 #ifndef ODECONFIG_H
00002 #define ODECONFIG_H
00003
00004 #ifndef dDOUBLE
00005 #ifndef dSINGLE
00006 #define dSINGLE
00007 #endif
00008 #endif
00009
00010
00011 #include <stdio.h>
00012 #include <stdlib.h>
00013 #include <stdarg.h>
00014 #include <math.h>
00015 #include <string.h>
00016 #include <float.h>
00017
00018 #if defined(ODE_DLL) || defined(ODE_LIB) || !defined(_MSC_VER)
00019 #define __ODE__
00020 #endif
00021
00022
00023 #if defined(_MSC_VER)
00024 #if defined(ODE_DLL)
00025 #define ODE_API __declspec(dllexport)
00026 #elif !defined(ODE_LIB)
00027 #define ODE_DLL_API __declspec(dllimport)
00028 #endif
00029 #endif
00030
00031 #if !defined(ODE_API)
00032 #define ODE_API
00033 #endif
00034
00035 #if defined(_MSC_VER)
00036 # define ODE_API_DEPRECATED __declspec(deprecated)
00037 #elif defined (__GNUC__) && ( (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1)) )
00038 # define ODE_API_DEPRECATED __attribute__((__deprecated__))
00039 #else
00040 # define ODE_API_DEPRECATED
00041 #endif
00042
00043
00044 #if defined(_M_IA64) || defined(__ia64__) || defined(_M_AMD64) || defined(__x86_64__)
00045 #define X86_64_SYSTEM 1
00046 typedef int int32;
00047 typedef unsigned int uint32;
00048 typedef short int16;
00049 typedef unsigned short uint16;
00050 typedef char int8;
00051 typedef unsigned char uint8;
00052 #else
00053 typedef int int32;
00054 typedef unsigned int uint32;
00055 typedef short int16;
00056 typedef unsigned short uint16;
00057 typedef char int8;
00058 typedef unsigned char uint8;
00059 #endif
00060
00061
00062 #if defined(_MSC_VER)
00063 #define copysignf _copysign
00064 #define copysign _copysign
00065 #endif
00066
00067
00068
00069
00070 #ifdef INFINITY
00071 #define dInfinity INFINITY
00072 #elif defined(HUGE_VAL)
00073 #ifdef dSINGLE
00074 #ifdef HUGE_VALF
00075 #define dInfinity HUGE_VALF
00076 #else
00077 #define dInfinity ((float)HUGE_VAL)
00078 #endif
00079 #else
00080 #define dInfinity HUGE_VAL
00081 #endif
00082 #else
00083 #ifdef dSINGLE
00084 #define dInfinity ((float)(1.0/0.0))
00085 #else
00086 #define dInfinity (1.0/0.0)
00087 #endif
00088 #endif
00089
00090
00091 #endif