1*663afb9bSAndroid Build Coastguard Workerinclude(CheckSymbolExists) 2*663afb9bSAndroid Build Coastguard Workerinclude(CheckIncludeFiles) 3*663afb9bSAndroid Build Coastguard Worker 4*663afb9bSAndroid Build Coastguard Worker# Check if each symbol in the symbol list exists, 5*663afb9bSAndroid Build Coastguard Worker# and define PREFIX__HAVE_SYMNAME to 1 if yes. 6*663afb9bSAndroid Build Coastguard Worker# 7*663afb9bSAndroid Build Coastguard Worker# SYMLIST: list of symbols to check 8*663afb9bSAndroid Build Coastguard Worker# HEADERS: header files to be included in check code 9*663afb9bSAndroid Build Coastguard Worker# PREFIX: the prefix of definition 10*663afb9bSAndroid Build Coastguard Workermacro(CHECK_SYMBOLS_EXIST SYMLIST HEADERS PREFIX) 11*663afb9bSAndroid Build Coastguard Worker foreach(SYMNAME ${SYMLIST}) 12*663afb9bSAndroid Build Coastguard Worker string(TOUPPER "${SYMNAME}" SYMNAME_UPPER) 13*663afb9bSAndroid Build Coastguard Worker if ("${PREFIX}" STREQUAL "") 14*663afb9bSAndroid Build Coastguard Worker set(HAVE_SYM_DEF "HAVE_${SYMNAME_UPPER}") 15*663afb9bSAndroid Build Coastguard Worker else() 16*663afb9bSAndroid Build Coastguard Worker set(HAVE_SYM_DEF "${PREFIX}__HAVE_${SYMNAME_UPPER}") 17*663afb9bSAndroid Build Coastguard Worker endif() 18*663afb9bSAndroid Build Coastguard Worker CHECK_SYMBOL_EXISTS(${SYMNAME} "${HEADERS}" ${HAVE_SYM_DEF}) 19*663afb9bSAndroid Build Coastguard Worker endforeach() 20*663afb9bSAndroid Build Coastguard Workerendmacro() 21*663afb9bSAndroid Build Coastguard Worker 22*663afb9bSAndroid Build Coastguard Worker# Check if file exists, define PREFIX__HAVE_FILE to 1 if yes, 23*663afb9bSAndroid Build Coastguard Worker# and collect file to EVENT_INCLUDES 24*663afb9bSAndroid Build Coastguard Workermacro(CHECK_INCLUDE_FILE_CONCAT FILE PREFIX) 25*663afb9bSAndroid Build Coastguard Worker string(REGEX REPLACE "[./]" "_" FILE_UL ${FILE}) 26*663afb9bSAndroid Build Coastguard Worker string(TOUPPER "${FILE_UL}" FILE_UL_UPPER) 27*663afb9bSAndroid Build Coastguard Worker if ("${PREFIX}" STREQUAL "") 28*663afb9bSAndroid Build Coastguard Worker set(HAVE_FILE_DEF "HAVE_${FILE_UL_UPPER}") 29*663afb9bSAndroid Build Coastguard Worker else() 30*663afb9bSAndroid Build Coastguard Worker set(HAVE_FILE_DEF "${PREFIX}__HAVE_${FILE_UL_UPPER}") 31*663afb9bSAndroid Build Coastguard Worker endif() 32*663afb9bSAndroid Build Coastguard Worker CHECK_INCLUDE_FILES("${EVENT_INCLUDES};${FILE}" ${HAVE_FILE_DEF}) 33*663afb9bSAndroid Build Coastguard Worker if(${HAVE_FILE_DEF}) 34*663afb9bSAndroid Build Coastguard Worker set(EVENT_INCLUDES ${EVENT_INCLUDES} ${FILE}) 35*663afb9bSAndroid Build Coastguard Worker endif() 36*663afb9bSAndroid Build Coastguard Workerendmacro() 37