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 #define UHD_UNUSED(x) x
59 #elif defined(__GNUG__) && __GNUG__ >= 4
60 #define UHD_EXPORT __attribute__((visibility("default")))
61 #define UHD_IMPORT __attribute__((visibility("default")))
62 #define UHD_INLINE inline __attribute__((always_inline))
63 #define UHD_DEPRECATED __attribute__((deprecated))
64 #define UHD_ALIGNED(x) __attribute__((aligned(x)))
65 #define UHD_UNUSED(x) x __attribute__((unused))
69 #define UHD_INLINE inline
70 #define UHD_DEPRECATED
71 #define UHD_ALIGNED(x)
72 #define UHD_UNUSED(x) x
76 #ifdef UHD_DLL_EXPORTS
77 #define UHD_API UHD_EXPORT
79 #define UHD_API UHD_IMPORT
80 #endif // UHD_DLL_EXPORTS
85 #if defined(linux) || defined(__linux) || defined(__linux__)
86 #define UHD_PLATFORM_LINUX
87 #elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
88 #define UHD_PLATFORM_WIN32
89 #elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
90 #define UHD_PLATFORM_MACOS
91 #elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
92 #define UHD_PLATFORM_BSD