+CHECK_INCLUDE_FILE("stdint.h" CMAKE_HAVE_STDINT_H)
+CHECK_INCLUDE_FILE("inttypes.h" CMAKE_HAVE_INTTYPES_H)
+
+# Check if header file exists and add it to the list.
+INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFiles.cmake)
+MACRO(CHECK_INCLUDE_FILE_CONCAT FILE VARIABLE)
+ CHECK_INCLUDE_FILES("${GDCM_INCLUDES};${FILE}" ${VARIABLE})
+ IF(${VARIABLE})
+ SET(GDCM_INCLUDES ${GDCM_INCLUDES} ${FILE})
+ ENDIF(${VARIABLE})
+ENDMACRO(CHECK_INCLUDE_FILE_CONCAT)
+
+# Need those header for GetMacAddress in Util
+# This is tricky as you need to figure out the proper order to
+# test the inclusion of files
+CHECK_INCLUDE_FILE_CONCAT("unistd.h" CMAKE_HAVE_UNISTD_H)
+CHECK_INCLUDE_FILE_CONCAT("stdlib.h" CMAKE_HAVE_STDLIB_H)
+CHECK_INCLUDE_FILE_CONCAT("sys/ioctl.h" CMAKE_HAVE_SYS_IOCTL_H)
+CHECK_INCLUDE_FILE_CONCAT("sys/socket.h" CMAKE_HAVE_SYS_SOCKET_H)
+CHECK_INCLUDE_FILE_CONCAT("sys/sockio.h" CMAKE_HAVE_SYS_SOCKIO_H)
+CHECK_INCLUDE_FILE_CONCAT("net/if.h" CMAKE_HAVE_NET_IF_H)
+CHECK_INCLUDE_FILE_CONCAT("netinet/in.h" CMAKE_HAVE_NETINET_IN_H)
+CHECK_INCLUDE_FILE_CONCAT("net/if_dl.h" CMAKE_HAVE_NET_IF_DL_H)
+CHECK_INCLUDE_FILE_CONCAT("net/if_arp.h" CMAKE_HAVE_NET_IF_ARP_H)
+
+#-----------------------------------------------------------------------------
+# Force Big Endian emulation on little endian:
+OPTION(GDCM_FORCE_BIGENDIAN_EMULATION "Force Big Endian Emulation. Do use if you don't know what you are doing." OFF)