diff --git a/modules/io/src/convert.hh b/modules/io/src/convert.hh index be5c90c54af9662c87345175c58418272356c80f..c5002ea0b30e1662e5bfc575c00546e21cc16560 100644 --- a/modules/io/src/convert.hh +++ b/modules/io/src/convert.hh @@ -24,10 +24,18 @@ #include <boost/version.hpp> #if BOOST_VERSION<106800 #include <boost/detail/endian.hpp> +// recent Boost versions use boost/predef/other/endian.h anyway +#ifndef BOOST_ENDIAN_BIG_BYTE #ifdef BOOST_BIG_ENDIAN -#define BOOST_ENDIAN_BIG_BYTE +#define BOOST_ENDIAN_BIG_BYTE 1 +#else +#define BOOST_ENDIAN_BIG_BYTE 0 +#endif #endif #else +// see https://www.boost.org/doc/libs/1_68_0/doc/html/predef/reference.html#predef.reference.other_macros.boost_endian +// defines BOOST_ENDIAN_BIG_BYTE and BOOST_ENDIAN_LITTLE_BYTE +// -> set to 1 or 0 respectively of endianness of machine #include <boost/predef/other/endian.h> #endif @@ -35,7 +43,7 @@ namespace ost { namespace io { enum Endianess { OST_BIG_ENDIAN,OST_LITTLE_ENDIAN,OST_VAX_DATA, -#ifdef BOOST_ENDIAN_BIG_BYTE +#if BOOST_ENDIAN_BIG_BYTE OST_LOCAL_ENDIAN = OST_BIG_ENDIAN #else OST_LOCAL_ENDIAN = OST_LITTLE_ENDIAN