You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
126 lines
2.9 KiB
126 lines
2.9 KiB
////////////////////////////////////////////////////////////////////////// |
|
// 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) <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) <ext/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
|
|
|