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.
127 lines
2.9 KiB
127 lines
2.9 KiB
14 years ago
|
//////////////////////////////////////////////////////////////////////////
|
||
|
// 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
|