diff options
-rw-r--r-- | host/include/uhd/config.hpp | 11 | ||||
-rw-r--r-- | host/include/uhd/utils/byteswap.ipp | 6 |
2 files changed, 14 insertions, 3 deletions
diff --git a/host/include/uhd/config.hpp b/host/include/uhd/config.hpp index 2360174a4..dacd3a96b 100644 --- a/host/include/uhd/config.hpp +++ b/host/include/uhd/config.hpp @@ -101,4 +101,15 @@ #define UHD_DEPRECATED #endif +// Platform defines for conditional parts of headers: +// Taken from boost/config/select_platform_config.hpp, +// however, we define macros, not strings for platforms. +#if defined(linux) || defined(__linux) || defined(__linux__) + #define UHD_PLATFORM_LINUX +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) + #define UHD_PLATFORM_WIN32 +#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) + #define UHD_PLATFORM_MACOS +#endif + #endif /* INCLUDED_UHD_CONFIG_HPP */ diff --git a/host/include/uhd/utils/byteswap.ipp b/host/include/uhd/utils/byteswap.ipp index 11c82a4ec..a070a7cf5 100644 --- a/host/include/uhd/utils/byteswap.ipp +++ b/host/include/uhd/utils/byteswap.ipp @@ -21,7 +21,7 @@ /*********************************************************************** * Platform-specific implementation details for byteswap below: **********************************************************************/ -#ifdef BOOST_MSVC //http://msdn.microsoft.com/en-us/library/a3140177%28VS.80%29.aspx +#if defined(UHD_PLATFORM_WIN32) //http://msdn.microsoft.com/en-us/library/a3140177%28VS.80%29.aspx #include <stdlib.h> UHD_INLINE boost::uint16_t uhd::byteswap(boost::uint16_t x){ @@ -50,7 +50,7 @@ return __builtin_bswap64(x); } -#elif defined(__FreeBSD__) || defined(__MACOSX__) || defined(__APPLE__) +#elif defined(UHD_PLATFORM_MACOS) #include <libkern/OSByteOrder.h> UHD_INLINE boost::uint16_t uhd::byteswap(boost::uint16_t x){ @@ -65,7 +65,7 @@ return OSSwapInt64(x); } -#elif defined(linux) || defined(__linux) +#elif defined(UHD_PLATFORM_LINUX) #include <byteswap.h> UHD_INLINE boost::uint16_t uhd::byteswap(boost::uint16_t x){ |