--- config/CMakeLists.txt.orig	2016-06-05 14:13:28 UTC
+++ config/CMakeLists.txt
@@ -67,6 +67,14 @@ if(HAVE_LANGINFO_H)
   check_symbol_exists(CODESET "langinfo.h" HAVE_NL_LANGINFO_CODESET)
 endif()
 
+check_include_files("endian.h" HAVE_ENDIAN_H)
+check_include_files("sys/endian.h" HAVE_SYS_ENDIAN_H)
+
+set(ENDIAN_INCLUDE_FILE "endian.h")
+if(HAVE_SYS_ENDIAN_H AND NOT HAVE_ENDIAN_H)
+  set(ENDIAN_INCLUDE_FILE "sys/endian.h")
+endif()
+
 set(SI "#include <stdint.h>\n")
 set(MS "int main(int argc,char**argv)\n{\n  uint64_t i=0x0102030405060708ULL;")
 set(ME "}")
@@ -74,7 +82,7 @@ check_c_source_compiles("
   #define _BSD_SOURCE 1
   #define _DEFAULT_SOURCE 1
   ${SI}
-  #include <endian.h>
+  #include <${ENDIAN_INCLUDE_FILE}>
   #ifndef be64toh
   # error No be64toh macros
   #endif
