Imported Upstream version 2.2.6
[platform/upstream/expat.git] / ConfigureChecks.cmake
1 include(CheckCCompilerFlag)\r
2 include(CheckCSourceCompiles)\r
3 include(CheckIncludeFile)\r
4 include(CheckIncludeFiles)\r
5 include(CheckSymbolExists)\r
6 include(TestBigEndian)\r
7 \r
8 check_include_file("dlfcn.h" HAVE_DLFCN_H)\r
9 check_include_file("fcntl.h" HAVE_FCNTL_H)\r
10 check_include_file("inttypes.h" HAVE_INTTYPES_H)\r
11 check_include_file("memory.h" HAVE_MEMORY_H)\r
12 check_include_file("stdint.h" HAVE_STDINT_H)\r
13 check_include_file("stdlib.h" HAVE_STDLIB_H)\r
14 check_include_file("strings.h" HAVE_STRINGS_H)\r
15 check_include_file("string.h" HAVE_STRING_H)\r
16 check_include_file("sys/stat.h" HAVE_SYS_STAT_H)\r
17 check_include_file("sys/types.h" HAVE_SYS_TYPES_H)\r
18 check_include_file("unistd.h" HAVE_UNISTD_H)\r
19 \r
20 check_symbol_exists("getpagesize" "unistd.h" HAVE_GETPAGESIZE)\r
21 check_symbol_exists("bcopy" "strings.h" HAVE_BCOPY)\r
22 check_symbol_exists("memmove" "string.h" HAVE_MEMMOVE)\r
23 check_symbol_exists("mmap" "sys/mman.h" HAVE_MMAP)\r
24 check_symbol_exists("getrandom" "sys/random.h" HAVE_GETRANDOM)\r
25 \r
26 if(USE_libbsd)\r
27     set(CMAKE_REQUIRED_LIBRARIES "${LIB_BSD}")\r
28     set(_bsd "bsd/")\r
29 else()\r
30     set(_bsd "")\r
31 endif()\r
32 check_symbol_exists("arc4random_buf" "${_bsd}stdlib.h" HAVE_ARC4RANDOM_BUF)\r
33 if(NOT HAVE_ARC4RANDOM_BUF)\r
34     check_symbol_exists("arc4random" "${_bsd}stdlib.h" HAVE_ARC4RANDOM)\r
35 endif()\r
36 set(CMAKE_REQUIRED_LIBRARIES)\r
37 \r
38 #/* Define to 1 if you have the ANSI C header files. */\r
39 check_include_files("stdlib.h;stdarg.h;string.h;float.h" STDC_HEADERS)\r
40 \r
41 test_big_endian(WORDS_BIGENDIAN)\r
42 #/* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */\r
43 if(WORDS_BIGENDIAN)\r
44     set(BYTEORDER 4321)\r
45 else(WORDS_BIGENDIAN)\r
46     set(BYTEORDER 1234)\r
47 endif(WORDS_BIGENDIAN)\r
48 \r
49 if(HAVE_SYS_TYPES_H)\r
50     check_symbol_exists("off_t" "sys/types.h" OFF_T)\r
51     check_symbol_exists("size_t" "sys/types.h" SIZE_T)\r
52 else(HAVE_SYS_TYPES_H)\r
53     set(OFF_T "long")\r
54     set(SIZE_T "unsigned")\r
55 endif(HAVE_SYS_TYPES_H)\r
56 \r
57 check_c_source_compiles("\r
58         #include <stdlib.h>  /* for NULL */\r
59         #include <unistd.h>  /* for syscall */\r
60         #include <sys/syscall.h>  /* for SYS_getrandom */\r
61         int main() {\r
62             syscall(SYS_getrandom, NULL, 0, 0);\r
63             return 0;\r
64         }"\r
65     HAVE_SYSCALL_GETRANDOM)\r
66 \r
67 configure_file(expat_config.h.cmake "${CMAKE_CURRENT_BINARY_DIR}/expat_config.h")\r
68 add_definitions(-DHAVE_EXPAT_CONFIG_H)\r
69 \r
70 check_c_compiler_flag("-fno-strict-aliasing" FLAG_NO_STRICT_ALIASING)\r