From f69066726257d07257fce6c5f076bbf27f49b376 Mon Sep 17 00:00:00 2001 From: Brent Cook Date: Tue, 9 Nov 2021 22:34:58 -0600 Subject: Autoconf updates Move machine/endian.h to endian.h, use AC_HEADER_RESOLV over individual header checks, and include prerequisites for netinet/ip.h check. --- include/Makefile.am | 3 +-- include/compat/endian.h | 48 ++++++++++++++++++++++++++++++++++++++ include/compat/machine/endian.h | 51 ----------------------------------------- m4/check-libc.m4 | 8 +++++-- 4 files changed, 55 insertions(+), 55 deletions(-) create mode 100644 include/compat/endian.h delete mode 100644 include/compat/machine/endian.h diff --git a/include/Makefile.am b/include/Makefile.am index 4184cf8..aed6721 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -7,6 +7,7 @@ SUBDIRS = openssl noinst_HEADERS = pqueue.h noinst_HEADERS += compat/dirent.h noinst_HEADERS += compat/dirent_msvc.h +noinst_HEADERS += compat/endian.h noinst_HEADERS += compat/err.h noinst_HEADERS += compat/fcntl.h noinst_HEADERS += compat/limits.h @@ -26,8 +27,6 @@ noinst_HEADERS += compat/win32netcompat.h noinst_HEADERS += compat/arpa/inet.h noinst_HEADERS += compat/arpa/nameser.h -noinst_HEADERS += compat/machine/endian.h - noinst_HEADERS += compat/netinet/in.h noinst_HEADERS += compat/netinet/ip.h noinst_HEADERS += compat/netinet/tcp.h diff --git a/include/compat/endian.h b/include/compat/endian.h new file mode 100644 index 0000000..1ed255e --- /dev/null +++ b/include/compat/endian.h @@ -0,0 +1,48 @@ +/* + * Public domain + * endian.h compatibility shim + */ + +#ifndef LIBCRYPTOCOMPAT_BYTE_ORDER_H_ +#define LIBCRYPTOCOMPAT_BYTE_ORDER_H_ + +#if defined(_WIN32) + +#define LITTLE_ENDIAN 1234 +#define BIG_ENDIAN 4321 +#define PDP_ENDIAN 3412 + +/* + * Use GCC and Visual Studio compiler defines to determine endian. + */ +#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ +#define BYTE_ORDER LITTLE_ENDIAN +#else +#define BYTE_ORDER BIG_ENDIAN +#endif + +#elif defined(HAVE_ENDIAN_H) +#include_next + +#elif defined(__sun) || defined(_AIX) || defined(__hpux) +#include +#include + +#elif defined(__sgi) +#include +#include + +#endif + +#ifndef __STRICT_ALIGNMENT +#define __STRICT_ALIGNMENT +#if defined(__i386) || defined(__i386__) || \ + defined(__x86_64) || defined(__x86_64__) || \ + defined(__s390__) || defined(__s390x__) || \ + defined(__aarch64__) || \ + ((defined(__arm__) || defined(__arm)) && __ARM_ARCH >= 6) +#undef __STRICT_ALIGNMENT +#endif +#endif + +#endif diff --git a/include/compat/machine/endian.h b/include/compat/machine/endian.h deleted file mode 100644 index bb22f5b..0000000 --- a/include/compat/machine/endian.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Public domain - * machine/endian.h compatibility shim - */ - -#ifndef LIBCRYPTOCOMPAT_BYTE_ORDER_H_ -#define LIBCRYPTOCOMPAT_BYTE_ORDER_H_ - -#if defined(_WIN32) - -#define LITTLE_ENDIAN 1234 -#define BIG_ENDIAN 4321 -#define PDP_ENDIAN 3412 - -/* - * Use GCC and Visual Studio compiler defines to determine endian. - */ -#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ -#define BYTE_ORDER LITTLE_ENDIAN -#else -#define BYTE_ORDER BIG_ENDIAN -#endif - -#elif defined(HAVE_ENDIAN_H) -#include - -#elif defined(__sun) || defined(_AIX) || defined(__hpux) -#include -#include - -#elif defined(__sgi) -#include -#include - -#else -#include_next - -#endif - -#ifndef __STRICT_ALIGNMENT -#define __STRICT_ALIGNMENT -#if defined(__i386) || defined(__i386__) || \ - defined(__x86_64) || defined(__x86_64__) || \ - defined(__s390__) || defined(__s390x__) || \ - defined(__aarch64__) || \ - ((defined(__arm__) || defined(__arm)) && __ARM_ARCH >= 6) -#undef __STRICT_ALIGNMENT -#endif -#endif - -#endif diff --git a/m4/check-libc.m4 b/m4/check-libc.m4 index cca97c3..40df67f 100644 --- a/m4/check-libc.m4 +++ b/m4/check-libc.m4 @@ -1,7 +1,11 @@ AC_DEFUN([CHECK_LIBC_COMPAT], [ # Check for libc headers -AC_CHECK_HEADERS([err.h readpassphrase.h]) -AC_CHECK_HEADERS([arpa/nameser.h endian.h netinet/ip.h resolv.h]) +AC_CHECK_HEADERS([endian.h err.h readpassphrase.h]) +AC_CHECK_HEADERS([netinet/ip.h], [], [], +[#include +#include +]) +AC_HEADER_RESOLV # Check for general libc functions AC_CHECK_FUNCS([asprintf freezero memmem]) AC_CHECK_FUNCS([readpassphrase reallocarray recallocarray]) -- cgit v1.2.3-55-g6feb