////////////////////////////////////////////////////////////////////////// // Name: actEnv.h // Product: cv act library // Purpose: Operating System environment // // Copyright: (c) 2009 cv cryptovision GmbH // all rights reserved // Licence: The conditions for the use of this software are regulated // in the cv act library licence agreement. // // Autor: Markus Tesche // Date: 04/23/2009 ////////////////////////////////////////////////////////////////////////// #ifndef ACT_Env_h #define ACT_Env_h // 64Bit detection ... #if defined(_WIN64) || \ defined(__LP64__) || \ defined(__alpha__) || \ defined(__ia64__) || \ defined(__ppc64__) || \ defined(__s390x__) || \ defined(__x86_64__) # define ACT_64 #endif // cygwin #if defined(__CYGWIN__) # define ACT_CYGWIN #endif // mingw #if defined(__MINGW32__) # define ACT_MINGW #endif // Platform detection ... #if defined(ACT_WIN32) || \ defined(ACT_POSIX) || \ defined(ACT_SOLARIS) || \ defined(ACT_MACOSX) || \ defined(ACT_WIN32_WCE) // do nothing #elif defined(_WIN32_WCE) && _WIN32_WCE >= 0x500 # define ACT_WIN32 # define ACT_WIN32_WCE #elif defined(WIN32) && !defined(__CYGWIN__) # define ACT_WIN32 #elif defined(_MSC_VER) || \ defined(__BORLANDC__) || \ defined(__BCPLUSPLUS__) || \ defined(__MINGW32__) # define ACT_WIN32 #elif defined(__linux__) || \ defined(__CYGWIN__) || \ defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || \ defined(__hpux) || \ defined(__sgi) # define ACT_POSIX #elif defined(_POSIX_SOURCE) || \ defined(_XOPEN_SOURCE) # define ACT_POSIX #elif defined(__sun) # define ACT_POSIX # define ACT_SOLARIS #elif defined(__APPLE__) && defined(__MACH__) # define ACT_POSIX # define ACT_MACOSX #else # error unable to deteced system environment #endif // // ACT_DEPRECATED definition #if defined(_MSC_VER) # define ACT_MSC # if _MSC_FULL_VER >= 140050320 # define ACT_DEPRECATED(msg) __declspec(deprecated("is deprecated: " msg)) # else # define ACT_DEPRECATED(msg) __declspec(deprecated) # endif # define ACT_STDEXT_NS std # define ACT_STDEXT_INC(file) #elif defined(__GNUC__) # define ACT_GCC # if (__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1) # define ACT_DEPRECATED(msg) __attribute__((__deprecated__)) # endif # define ACT_STDEXT_NS __gnu_cxx # define ACT_STDEXT_INC(file) #endif #if !defined(ACT_DEPRECATED) # define ACT_DEPRECATED(msg) #endif // // DLL/Shared Object symbol export/import attribte #if defined(ACT_MSC) # define ACT_DYNLIB_EXPORT _declspec(dllexport) # define ACT_DYNLIB_IMPORT _declspec(dllimport) #elif defined(ACT_GCC) && !defined(ACT_MINGW) # define ACT_DYNLIB_EXPORT __attribute__((visibility("default"))) # define ACT_DYNLIB_IMPORT #else # define ACT_DYNLIB_EXPORT # define ACT_DYNLIB_IMPORT #endif #endif // ACT_Env_h