Address endian compile errors for OSX in the cases where sys/param.h was

include ahead of the predef headers. The solution was to: use the OSX
machine/endian.h header, and only allow a single OS to be detected at
once. Test cases added for both conditions on OSX.
This commit is contained in:
Rene Rivera
2013-10-05 16:41:55 -05:00
parent 3ecdcb44df
commit b28bad14ea
26 changed files with 161 additions and 40 deletions
+4 -1
View File
@@ -26,13 +26,16 @@ http://www.boost.org/LICENSE_1_0.txt)
#define BOOST_OS_LINUX BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(linux) || defined(__linux)
#if !BOOST_PREDEF_DETAIL_OS_DETECTED && ( \
defined(linux) || defined(__linux) \
)
# undef BOOST_OS_LINUX
# define BOOST_OS_LINUX BOOST_VERSION_NUMBER_AVAILABLE
#endif
#if BOOST_OS_LINUX
# define BOOST_OS_LINUX_AVAILABLE
# include <boost/predef/detail/os_detected.h>
#endif
#define BOOST_OS_LINUX_NAME "Linux"