X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fsrc%2FbbtkSystem.h;h=44f17bfc24f0565e0962545fff968c3e8d786060;hb=dfcd0b84f01eb96e43c2180a35d626cc123a7231;hp=558af50760310662e9a01bf08cfe0151c2ac301b;hpb=cfad95b6e08e6e53846ffcda7fbc5932065f2c47;p=bbtk.git diff --git a/kernel/src/bbtkSystem.h b/kernel/src/bbtkSystem.h index 558af50..44f17bf 100644 --- a/kernel/src/bbtkSystem.h +++ b/kernel/src/bbtkSystem.h @@ -109,8 +109,10 @@ #if defined(_WIN32) - // IF NOT DEF THEN INTERNAL COMPILER ERROR WITH BOOST 1.37 ON VISUAL C++ - #define BOOST_SP_NO_SP_CONVERTIBLE + #ifdef _MSC_VER + // IF NOT DEF THEN INTERNAL COMPILER ERROR WITH BOOST 1.37 ON VISUAL C++ + #define BOOST_SP_NO_SP_CONVERTIBLE + #endif #endif #if defined(_WIN32) @@ -118,7 +120,7 @@ //#include "WWW.h" #ifdef BBTK_EXPORT_SYMBOLS #define BBTK_EXPORT __declspec( dllexport ) -#else + #else #define BBTK_EXPORT __declspec( dllimport ) #endif #define BBTK_CDECL __cdecl @@ -146,6 +148,7 @@ namespace bbtk #define BBTK_STRINGIFY(A) #A #define BBTK_STRINGIFY_SYMBOL(A) BBTK_STRINGIFY(A) + extern "C" { BBTK_EXPORT inline const std::string& BBTK_CDECL GetVersion() @@ -155,6 +158,7 @@ namespace bbtk } } + } //----------------------------------------------------------------------------- @@ -179,33 +183,31 @@ typedef unsigned int uint32_t; #ifdef CMAKE_HAVE_STDINT_H #include #else -#ifdef CMAKE_HAVE_INTTYPES_H - // Old system only have this - #include // For uint8_t uint16_t and uint32_t -#else - //#include "XXX.h" -// Broken plateforms do not respect C99 and do not provide those typedef -// Special case for recent Borland compiler, comes with stdint.h -#if defined(_MSC_VER) || defined(__BORLANDC__) && (__BORLANDC__ < 0x0560) \ - || defined(__MINGW32__) -typedef signed char int8_t; -typedef signed short int16_t; -typedef signed int int32_t; -typedef unsigned char uint8_t; -typedef unsigned short uint16_t; -typedef unsigned int uint32_t; - -/// \todo Find a clever way to deal with int64_t, uint64_t - -#else -#error "Sorry your plateform is not supported" -#endif // defined(_MSC_VER) || defined(__BORLANDC__) && (__BORLANDC__ < 0x0560) || defined(__MINGW32__) -#endif // CMAKE_HAVE_INTTYPES_H + #ifdef CMAKE_HAVE_INTTYPES_H + // Old system only have this + #include // For uint8_t uint16_t and uint32_t + #else + //#include "XXX.h" + // Broken plateforms do not respect C99 and do not provide those typedef + // Special case for recent Borland compiler, comes with stdint.h + #if defined(_MSC_VER) || defined(__BORLANDC__) && (__BORLANDC__ < 0x0560) \ + || defined(__MINGW32__) + typedef signed char int8_t; + typedef signed short int16_t; + typedef signed int int32_t; + typedef unsigned char uint8_t; + typedef unsigned short uint16_t; + typedef unsigned int uint32_t; + /// \todo Find a clever way to deal with int64_t, uint64_t + #else + #error "Sorry your plateform is not supported" + #endif // defined(_MSC_VER) || defined(__BORLANDC__) && (__BORLANDC__ < 0x0560) || defined(__MINGW32__) + #endif // CMAKE_HAVE_INTTYPES_H #endif // CMAKE_HAVE_STDINT_H // Basically for VS6 and bcc 5.5.1: #ifndef UINT32_MAX -#define UINT32_MAX (4294967295U) + #define UINT32_MAX (4294967295U) #endif @@ -229,18 +231,19 @@ namespace bbtk // file separator #if defined(_WIN32) -#define VALID_FILE_SEPARATOR "\\" -#define INVALID_FILE_SEPARATOR "/" -#define VALID_FILE_SEPARATOR_CHAR '\\' -#define INVALID_FILE_SEPARATOR_CHAR '/' + #define VALID_FILE_SEPARATOR "\\" + #define INVALID_FILE_SEPARATOR "/" + #define VALID_FILE_SEPARATOR_CHAR '\\' + #define INVALID_FILE_SEPARATOR_CHAR '/' #else -#define INVALID_FILE_SEPARATOR "\\" -#define VALID_FILE_SEPARATOR "/" -#define INVALID_FILE_SEPARATOR_CHAR '\\' -#define VALID_FILE_SEPARATOR_CHAR '/' + #define INVALID_FILE_SEPARATOR "\\" + #define VALID_FILE_SEPARATOR "/" + #define INVALID_FILE_SEPARATOR_CHAR '\\' + #define VALID_FILE_SEPARATOR_CHAR '/' #endif -#endif + +#endif //__bbtkSystem_h__ //---------------------------- @@ -264,3 +267,5 @@ namespace bbtk * \defgroup interface Graphical User Interface components * \defgroup data Data */ + +