add a way to define a default endian

This commit is contained in:
Sébastien Loriot 2019-10-10 13:00:33 +02:00
parent f46c9888e6
commit 66e3b216be
1 changed files with 28 additions and 4 deletions

View File

@ -362,7 +362,15 @@
# elif BOOST_ENDIAN_LITTLE_BYTE
# define CGAL_LITTLE_ENDIAN
# else
# error Unknown endianness
# ifdef CGAL_DEFAULT_ENDIAN
# if CGAL_DEFAULT_ENDIAN == 0
# define CGAL_LITTLE_ENDIAN
# else
# define CGAL_BIG_ENDIAN
# endif
# else
# error Unknown endianness: Define CGAL_DEFAULT_ENDIAN to 0 for little endian and to 1 for big endian.
# endif
# endif
#elif defined (__GLIBC__)
# include <endian.h>
@ -371,7 +379,15 @@
# elif (__BYTE_ORDER == __BIG_ENDIAN)
# define CGAL_BIG_ENDIAN
# else
# error Unknown endianness
# ifdef CGAL_DEFAULT_ENDIAN
# if CGAL_DEFAULT_ENDIAN == 0
# define CGAL_LITTLE_ENDIAN
# else
# define CGAL_BIG_ENDIAN
# endif
# else
# error Unknown endianness: Define CGAL_DEFAULT_ENDIAN to 0 for little endian and to 1 for big endian.
# endif
# endif
#elif defined(__sparc) || defined(__sparc__) \
|| defined(_POWER) || defined(__powerpc__) \
@ -386,7 +402,15 @@
|| defined(_M_ALPHA) || defined(_WIN64)
# define CGAL_LITTLE_ENDIAN
#else
# error Unknown endianness
# ifdef CGAL_DEFAULT_ENDIAN
# if CGAL_DEFAULT_ENDIAN == 0
# define CGAL_LITTLE_ENDIAN
# else
# define CGAL_BIG_ENDIAN
# endif
# else
# error Unknown endianness: Define CGAL_DEFAULT_ENDIAN to 0 for little endian and to 1 for big endian.
# endif
#endif
@ -550,7 +574,7 @@ using std::max;
# define CGAL_NORETURN __attribute__ ((__noreturn__))
#elif defined (_MSC_VER)
# define CGAL_NORETURN __declspec(noreturn)
#else
#else
# define CGAL_NORETURN
#endif