From d3af2e6b8ece772fc0e7bd8482f7ff485e3c039b Mon Sep 17 00:00:00 2001 From: Ahmad Fatoum Date: Mon, 27 May 2019 11:57:35 +0200 Subject: scripts: compiler.h: add endianness helpers for macOS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These are taken from Mathias Panzenböck's portable_endian.h[1] which he had released it into the public domain. [1]: https://gist.github.com/panzi/6856583 Signed-off-by: Ahmad Fatoum Signed-off-by: Sascha Hauer --- scripts/compiler.h | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'scripts') diff --git a/scripts/compiler.h b/scripts/compiler.h index bd73c7a9a8..ee2097aa36 100644 --- a/scripts/compiler.h +++ b/scripts/compiler.h @@ -42,7 +42,23 @@ # include # include #elif defined(__MACH__) -# include +# ifdef __APPLE__ +# include +# define htobe16(x) OSSwapHostToBigInt16(x) +# define htole16(x) OSSwapHostToLittleInt16(x) +# define be16toh(x) OSSwapBigToHostInt16(x) +# define le16toh(x) OSSwapLittleToHostInt16(x) +# define htobe32(x) OSSwapHostToBigInt32(x) +# define htole32(x) OSSwapHostToLittleInt32(x) +# define be32toh(x) OSSwapBigToHostInt32(x) +# define le32toh(x) OSSwapLittleToHostInt32(x) +# define htobe64(x) OSSwapHostToBigInt64(x) +# define htole64(x) OSSwapHostToLittleInt64(x) +# define be64toh(x) OSSwapBigToHostInt64(x) +# define le64toh(x) OSSwapLittleToHostInt64(x) +# else /* non apple __MACH__ */ +# include +# endif /* __APPLE__ */ # define __BYTE_ORDER BYTE_ORDER # define __LITTLE_ENDIAN LITTLE_ENDIAN # define __BIG_ENDIAN BIG_ENDIAN -- cgit v1.2.3