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 committed 2013-10-05 16:41:55 -05:00
1 parent 3ecdcb44df
commit b28bad14ea
26 files changed
+161 -40

No files matched your search

+5 -2
View File
@@ -31,8 +31,10 @@ http://www.boost.org/LICENSE_1_0.txt)
#define BOOST_OS_MACOS BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(macintosh) || defined(Macintosh) || \
(defined(__APPLE__) && defined(__MACH__))
#if !BOOST_PREDEF_DETAIL_OS_DETECTED && ( \
defined(macintosh) || defined(Macintosh) || \
(defined(__APPLE__) && defined(__MACH__)) \
)
# undef BOOST_OS_MACOS
# if !defined(BOOST_OS_MACOS) && defined(__APPLE__) && defined(__MACH__)
# define BOOST_OS_MACOS BOOST_VERSION_NUMBER(10,0,0)
@@ -44,6 +46,7 @@ http://www.boost.org/LICENSE_1_0.txt)
#if BOOST_OS_MACOS
# define BOOST_OS_MACOS_AVAILABLE
# include <boost/predef/detail/os_detected.h>
#endif
#define BOOST_OS_MACOS_NAME "Mac OS"