blob: b72a390af8cfd353a4aacaded4a0e91a0df00c7f [file] [log] [blame]
Edward O'Callaghan6c307f02009-08-03 05:59:48 +00001INCLUDE( CheckIncludeFile )
2INCLUDE( CheckFunctionExists )
Shantonu Senb4c3b6f2009-09-22 00:49:12 +00003INCLUDE( CheckSymbolExists )
4INCLUDE( CheckCSourceCompiles )
Edward O'Callaghan6c307f02009-08-03 05:59:48 +00005
6SET( PACKAGE ${PACKAGE_NAME} )
7SET( VERSION ${PACKAGE_VERSION} )
8
9SET( BINARYDIR ${CMAKE_BINARY_DIR} )
10SET( SOURCEDIR ${CMAKE_SOURCE_DIR} )
11
12# HEADER FILES
13CHECK_INCLUDE_FILE( sys/byteorder.h HAVE_SYS_BYTEORDER_H )
Edward O'Callaghan09870642009-09-12 15:47:39 +000014CHECK_INCLUDE_FILE( AvailabilityMacros.h HAVE_AVAILABILITY_MACROS_H )
15CHECK_INCLUDE_FILE( TargetConditionals.h HAVE_TARGET_CONDITIONALS_H )
Shantonu Senb4c3b6f2009-09-22 00:49:12 +000016CHECK_INCLUDE_FILE( libkern/OSAtomic.h HAVE_LIBKERN_OSATOMIC_H )
Edward O'Callaghan6c307f02009-08-03 05:59:48 +000017
18# FUNCTIONS
Edward O'Callaghande1c6cf2009-08-10 00:56:46 +000019CHECK_FUNCTION_EXISTS( sysconf HAVE_SYSCONF )
Shantonu Senb4c3b6f2009-09-22 00:49:12 +000020CHECK_SYMBOL_EXISTS( OSAtomicCompareAndSwapInt libkern/OSAtomic.h HAVE_OSATOMIC_COMPARE_AND_SWAP_INT )
21CHECK_SYMBOL_EXISTS( OSAtomicCompareAndSwapLong libkern/OSAtomic.h HAVE_OSATOMIC_COMPARE_AND_SWAP_LONG )
22
23# BUILTIN
24CHECK_C_SOURCE_COMPILES( "
25volatile int a;
26int main(int argc, char *argv[]) {
27 (void)__sync_bool_compare_and_swap(&a, 1, 2);
28 return 0;
29}
30" HAVE_SYNC_BOOL_COMPARE_AND_SWAP_INT )
31
32CHECK_C_SOURCE_COMPILES( "
33volatile long a;
34int main(int argc, char *argv[]) {
35 (void)__sync_bool_compare_and_swap(&a, 1, 2);
36 return 0;
37}
38" HAVE_SYNC_BOOL_COMPARE_AND_SWAP_LONG )