| # This optional file is used to exclude entrypoints/headers for specific targets. |
| |
| # Check if sys/random.h is available. If it isn't that implies we're on an older |
| # version of linux, so we probably also don't have the statx syscall. |
| try_compile( |
| has_sys_random |
| ${CMAKE_CURRENT_BINARY_DIR} |
| SOURCES ${LIBC_SOURCE_DIR}/cmake/modules/system_features/check_sys_random.cpp |
| ) |
| |
| if(NOT has_sys_random) |
| list(APPEND TARGET_LLVMLIBC_REMOVED_ENTRYPOINTS |
| libc.src.sys.stat.stat |
| ) |
| # If we're doing a fullbuild we provide the random header ourselves. |
| if(NOT LLVM_LIBC_FULL_BUILD) |
| list(APPEND TARGET_LLVMLIBC_REMOVED_ENTRYPOINTS |
| libc.src.sys.random.getrandom |
| ) |
| endif() |
| endif() |
| |
| include(CheckSymbolExists) |
| check_symbol_exists(SYS_faccessat2 "sys/syscall.h" HAVE_SYS_FACCESSAT2) |
| if(NOT HAVE_SYS_FACCESSAT2) |
| message(VERBOSE "unistd.faccessat excluded from build, faccessat2 syscall is not available on the system") |
| list(APPEND TARGET_LLVMLIBC_REMOVED_ENTRYPOINTS |
| libc.src.unistd.faccessat |
| ) |
| endif() |