aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiajie Chen <c@jia.je>2022-07-12 22:29:39 +0800
committerJiajie Chen <c@jia.je>2022-07-12 22:29:39 +0800
commitef2d6c70daf540926d2d5fd4d50e2942633ec9bd (patch)
treef4750cd4d04b1baba2f7dab205532b986e0e8602
parent5f5feb2bbc94a8cd8d101b6245c0d9b50f2a15ce (diff)
downloadportable-ef2d6c70daf540926d2d5fd4d50e2942633ec9bd.tar.gz
portable-ef2d6c70daf540926d2d5fd4d50e2942633ec9bd.tar.bz2
portable-ef2d6c70daf540926d2d5fd4d50e2942633ec9bd.zip
Detect machine/endian.h for macOS
-rw-r--r--CMakeLists.txt5
-rw-r--r--include/compat/endian.h3
-rw-r--r--m4/check-libc.m42
3 files changed, 9 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 03963a5..68a7c2d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -291,6 +291,11 @@ if(HAVE_ENDIAN_H)
291 add_definitions(-DHAVE_ENDIAN_H) 291 add_definitions(-DHAVE_ENDIAN_H)
292endif() 292endif()
293 293
294check_include_files(machine/endian.h HAVE_MACHINE_ENDIAN_H)
295if(HAVE_MACHINE_ENDIAN_H)
296 add_definitions(-DHAVE_MACHINE_ENDIAN_H)
297endif()
298
294check_include_files(err.h HAVE_ERR_H) 299check_include_files(err.h HAVE_ERR_H)
295if(HAVE_ERR_H) 300if(HAVE_ERR_H)
296 add_definitions(-DHAVE_ERR_H) 301 add_definitions(-DHAVE_ERR_H)
diff --git a/include/compat/endian.h b/include/compat/endian.h
index 1ed255e..cd85f5c 100644
--- a/include/compat/endian.h
+++ b/include/compat/endian.h
@@ -24,6 +24,9 @@
24#elif defined(HAVE_ENDIAN_H) 24#elif defined(HAVE_ENDIAN_H)
25#include_next <endian.h> 25#include_next <endian.h>
26 26
27#elif defined(HAVE_MACHINE_ENDIAN_H)
28#include_next <machine/endian.h>
29
27#elif defined(__sun) || defined(_AIX) || defined(__hpux) 30#elif defined(__sun) || defined(_AIX) || defined(__hpux)
28#include <sys/types.h> 31#include <sys/types.h>
29#include <arpa/nameser_compat.h> 32#include <arpa/nameser_compat.h>
diff --git a/m4/check-libc.m4 b/m4/check-libc.m4
index 40df67f..68a4f88 100644
--- a/m4/check-libc.m4
+++ b/m4/check-libc.m4
@@ -1,6 +1,6 @@
1AC_DEFUN([CHECK_LIBC_COMPAT], [ 1AC_DEFUN([CHECK_LIBC_COMPAT], [
2# Check for libc headers 2# Check for libc headers
3AC_CHECK_HEADERS([endian.h err.h readpassphrase.h]) 3AC_CHECK_HEADERS([endian.h machine/endian.h err.h readpassphrase.h])
4AC_CHECK_HEADERS([netinet/ip.h], [], [], 4AC_CHECK_HEADERS([netinet/ip.h], [], [],
5[#include <sys/types.h> 5[#include <sys/types.h>
6#include <arpa/inet.h> 6#include <arpa/inet.h>