Go to the documentation of this file.
18 #ifndef INCLUDED_UHD_CONFIG_HPP
19 #define INCLUDED_UHD_CONFIG_HPP
21 #include <boost/config.hpp>
30 # pragma warning(disable: 4355) // 'this' : used in base member initializer list
32 # pragma warning(disable: 4251) // class 'A<T>' needs to have dll-interface to be used by clients of class 'B'
36 # pragma warning(disable: 4275) // non dll-interface class ... used as base for dll-interface class ...
40 # pragma warning(disable: 4200) // nonstandard extension used : zero-sized array in struct/union
47 typedef ptrdiff_t ssize_t;
52 #if defined(BOOST_MSVC)
53 #define UHD_EXPORT __declspec(dllexport)
54 #define UHD_IMPORT __declspec(dllimport)
55 #define UHD_INLINE __forceinline
56 #define UHD_DEPRECATED __declspec(deprecated)
57 #define UHD_ALIGNED(x) __declspec(align(x))
58 #elif defined(__GNUG__) && __GNUG__ >= 4
59 #define UHD_EXPORT __attribute__((visibility("default")))
60 #define UHD_IMPORT __attribute__((visibility("default")))
61 #define UHD_INLINE inline __attribute__((always_inline))
62 #define UHD_DEPRECATED __attribute__((deprecated))
63 #define UHD_ALIGNED(x) __attribute__((aligned(x)))
67 #define UHD_INLINE inline
68 #define UHD_DEPRECATED
69 #define UHD_ALIGNED(x)
73 #ifdef UHD_DLL_EXPORTS
74 #define UHD_API UHD_EXPORT
76 #define UHD_API UHD_IMPORT
77 #endif // UHD_DLL_EXPORTS
82 #if defined(linux) || defined(__linux) || defined(__linux__)
83 #define UHD_PLATFORM_LINUX
84 #elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
85 #define UHD_PLATFORM_WIN32
86 #elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
87 #define UHD_PLATFORM_MACOS
88 #elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
89 #define UHD_PLATFORM_BSD