diff --git a/m4/header.m4 b/m4/header.m4 new file mode 100644 index 0000000000..81d1d65194 --- /dev/null +++ b/m4/header.m4 @@ -0,0 +1,13 @@ +AC_DEFUN([AX_FIND_HEADER], [ +ax_found=0 +m4_foreach_w([header], $2, [ + AS_IF([test "$ax_found" = "0"], [ + AC_CHECK_HEADER(header, [ + AC_DEFINE($1, [
], [Header path for $1]) + ax_found=1]) + ]) +]) +AS_IF([test "$ax_found" = "0"], [ + AC_MSG_ERROR([No header found from list $2]) +]) +]) diff --git a/tools/configure.ac b/tools/configure.ac index 5b328700e0..3a3e7b4b2b 100644 --- a/tools/configure.ac +++ b/tools/configure.ac @@ -74,6 +74,7 @@ m4_include([../m4/ax_compare_version.m4]) m4_include([../m4/paths.m4]) m4_include([../m4/systemd.m4]) m4_include([../m4/golang.m4]) +m4_include([../m4/header.m4]) AX_XEN_EXPAND_CONFIG() @@ -517,4 +518,6 @@ AC_ARG_ENABLE([pvshim], ]) AC_SUBST(pvshim) +AX_FIND_HEADER([INCLUDE_ENDIAN_H], [endian.h sys/endian.h]) + AC_OUTPUT() diff --git a/tools/libs/guest/xg_dom_decompress_unsafe_lzo1x.c b/tools/libs/guest/xg_dom_decompress_unsafe_lzo1x.c index a4f8ebd42d..e58c1b95ed 100644 --- a/tools/libs/guest/xg_dom_decompress_unsafe_lzo1x.c +++ b/tools/libs/guest/xg_dom_decompress_unsafe_lzo1x.c @@ -1,7 +1,7 @@ #include #include #include -#include +#include INCLUDE_ENDIAN_H #include #include "xg_private.h" diff --git a/tools/libs/guest/xg_dom_decompress_unsafe_xz.c b/tools/libs/guest/xg_dom_decompress_unsafe_xz.c index ff6824b38d..fc48198741 100644 --- a/tools/libs/guest/xg_dom_decompress_unsafe_xz.c +++ b/tools/libs/guest/xg_dom_decompress_unsafe_xz.c @@ -1,5 +1,5 @@ #include -#include +#include INCLUDE_ENDIAN_H #include #include #include diff --git a/tools/libs/guest/xg_dom_decompress_unsafe_zstd.c b/tools/libs/guest/xg_dom_decompress_unsafe_zstd.c index 52558d2ffc..01eafaaaa6 100644 --- a/tools/libs/guest/xg_dom_decompress_unsafe_zstd.c +++ b/tools/libs/guest/xg_dom_decompress_unsafe_zstd.c @@ -1,5 +1,5 @@ #include -#include +#include INCLUDE_ENDIAN_H #include #include #include diff --git a/tools/xenstore/include/xenstore_state.h b/tools/xenstore/include/xenstore_state.h index f7e4da2b2c..ae0d053c8f 100644 --- a/tools/xenstore/include/xenstore_state.h +++ b/tools/xenstore/include/xenstore_state.h @@ -21,11 +21,7 @@ #ifndef XENSTORE_STATE_H #define XENSTORE_STATE_H -#if defined(__FreeBSD__) || defined(__NetBSD__) -#include -#else -#include -#endif +#include INCLUDE_ENDIAN_H #include #ifndef htobe32