commit 315668d47de15aca3c4f52136a3e55cd2adc04dd from: Omar Polo date: Tue Nov 22 13:11:10 2022 UTC endian.h is not universally available FreeBSD and NetBSD have sys/endian.h, on MacOS we need to use the functions from libkern/OSByteOrder.h see github issue #1 commit - 8f7253b29f275cfc3fd6111a54ce1cdd6622d1ee commit + 315668d47de15aca3c4f52136a3e55cd2adc04dd blob - 26d79ad516c9ee5727086af7af2c6661fca3a0c8 blob + 0b4bec6afcb8406227560256b9f6cb773814b829 --- compat.h +++ compat.h @@ -34,6 +34,32 @@ #define INFTIM -1 #endif +#if HAVE_ENDIAN_H +# include +#elif HAVE_SYS_ENDIAN_H +# include +#elif HAVE_LIBKERN_OSBYTEORDER_H +# include +# 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 +# error no compatible endian.h header found +#endif + #if HAVE_EVENT2 # include # include blob - 50e5021fb6f3a284d445dacc80f7529fa2f751f6 blob + 7af397708be791c1bf048eecfb0b81616cb88804 --- configure.ac +++ configure.ac @@ -100,6 +100,16 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ AC_CHECK_HEADERS([sys/tree.h]) +AC_CHECK_HEADER([endian.h], [AC_DEFINE(HAVE_ENDIAN_H, 1, [have endian.h])], [ + AC_CHECK_HEADER([sys/endian.h], + [AC_DEFINE(HAVE_SYS_ENDIAN_H, 1, [have sys/endian.h])], [ + AC_CHECK_HEADERS([libkern/OSByteOrder.h], + [AC_DEFINE(HAVE_LIBKERN_OSBYTEORDER_H, 1, [have OSByteOrder.h])], + [AC_MSG_ERROR([can't find compatible endian.h header])], + [#include ]) + ]) +]) + AC_CHECK_DECL(PR_SET_NAME, AC_DEFINE([HAVE_PR_SET_NAME], 1, [pr_set_name]), [], [[#include ]]) blob - 97a65550f4fc74e4a6f74b7798fdb8248a286fba blob + 687d6e1debfeca4a820cb2fa964da8a6e8df461f --- kamid/client.c +++ kamid/client.c @@ -21,7 +21,6 @@ #include #include -#include #include #include #include blob - ffd7232afc4db743d7ceb0cb1820e0f45f92ebd5 blob + c39121b7d39cfe1597bec86c8a04f58b6bc444bb --- kamid/listener.c +++ kamid/listener.c @@ -24,7 +24,6 @@ #include #include -#include #include #include #include blob - 5987ab99df0988208113fe0c81111a7fdb3e158c blob + e9334f3b50fee42da027133e648408c3e0058b7f --- kamirepl/kamirepl.c +++ kamirepl/kamirepl.c @@ -22,7 +22,6 @@ #include #include -#include #include #include #include blob - 8da3a5aeb11a7e6157b9db09f97d12241104beaa blob + 4c4ec15d53cf8632461d7368537eaf348c421ed9 --- lib/9pclib.c +++ lib/9pclib.c @@ -16,7 +16,6 @@ #include "compat.h" -#include #include #include blob - a3d72730dafabee34099bc34acf0b9f8c7a82c8d blob + 569e637aacc65c32daf94209033a67046923aa25 --- ninepscript/script.c +++ ninepscript/script.c @@ -21,7 +21,6 @@ #include #include -#include #include #include #include