llvm-project/libc/include/CMakeLists.txt

220 lines
4.0 KiB
CMake

add_subdirectory(llvm-libc-macros)
add_subdirectory(llvm-libc-types)
add_header(
llvm_libc_common_h
HDR
__llvm-libc-common.h
)
add_gen_header(
ctype
DEF_FILE ctype.h.def
GEN_HDR ctype.h
DEPENDS
.llvm_libc_common_h
)
add_gen_header(
dirent
DEF_FILE dirent.h.def
GEN_HDR dirent.h
DEPENDS
.llvm_libc_common_h
.llvm-libc-types.DIR
.llvm-libc-types.ino_t
.llvm-libc-types.struct_dirent
)
add_gen_header(
fcntl
DEF_FILE fcntl.h.def
GEN_HDR fcntl.h
DEPENDS
.llvm_libc_common_h
.llvm-libc-macros.fcntl_macros
.llvm-libc-types.mode_t
)
add_gen_header(
fenv
DEF_FILE fenv.h.def
GEN_HDR fenv.h
DEPENDS
.llvm_libc_common_h
.llvm-libc-types.fenv_t
.llvm-libc-types.fexcept_t
)
add_gen_header(
inttypes
DEF_FILE inttypes.h.def
GEN_HDR inttypes.h
DEPENDS
.llvm_libc_common_h
.llvm-libc-types.imaxdiv_t
)
add_gen_header(
math
DEF_FILE math.h.def
GEN_HDR math.h
DEPENDS
.llvm_libc_common_h
.llvm-libc-types.double_t
.llvm-libc-types.float_t
)
add_gen_header(
assert_h
DEF_FILE assert.h.def
GEN_HDR assert.h
DEPENDS
.llvm_libc_common_h
)
add_gen_header(
string
DEF_FILE string.h.def
GEN_HDR string.h
DEPENDS
.llvm_libc_common_h
.llvm-libc-types.size_t
)
add_gen_header(
time
DEF_FILE time.h.def
GEN_HDR time.h
DEPENDS
.llvm_libc_common_h
.llvm-libc-types.time_t
.llvm-libc-types.struct_tm
)
add_gen_header(
threads
DEF_FILE threads.h.def
GEN_HDR threads.h
DEPENDS
.llvm_libc_common_h
.llvm-libc-types.__call_once_func_t
.llvm-libc-types.cnd_t
.llvm-libc-types.mtx_t
.llvm-libc-types.once_flag
.llvm-libc-types.thrd_start_t
.llvm-libc-types.thrd_t
.llvm-libc-types.tss_t
.llvm-libc-types.tss_dtor_t
)
add_gen_header(
errno
DEF_FILE errno.h.def
PARAMS
platform_errno=../config/${LIBC_TARGET_OS}/errno.h.in
GEN_HDR errno.h
DATA_FILES
../config/${LIBC_TARGET_OS}/errno.h.in
)
add_gen_header(
signal
DEF_FILE signal.h.def
PARAMS
platform_signal=../config/${LIBC_TARGET_OS}/signal.h.in
GEN_HDR signal.h
DATA_FILES
../config/${LIBC_TARGET_OS}/signal.h.in
DEPENDS
.llvm-libc-types.struct_sigaction
.llvm-libc-types.__sighandler_t
)
add_gen_header(
stdio
DEF_FILE stdio.h.def
GEN_HDR stdio.h
DEPENDS
.llvm_libc_common_h
.llvm-libc-macros.file_seek_macros
.llvm-libc-types.cookie_io_functions_t
.llvm-libc-types.FILE
.llvm-libc-types.size_t
)
add_gen_header(
stdlib
DEF_FILE stdlib.h.def
GEN_HDR stdlib.h
DEPENDS
.llvm_libc_common_h
.llvm-libc-types.__bsearchcompare_t
.llvm-libc-types.__qsortcompare_t
.llvm-libc-types.div_t
.llvm-libc-types.ldiv_t
.llvm-libc-types.lldiv_t
.llvm-libc-types.size_t
.llvm-libc-types.__atexithandler_t
)
add_gen_header(
unistd
DEF_FILE unistd.h.def
GEN_HDR unistd.h
DEPENDS
.llvm_libc_common_h
.llvm-libc-macros.file_seek_macros
.llvm-libc-types.size_t
.llvm-libc-types.ssize_t
)
add_gen_header(
pthread
DEF_FILE pthread.h.def
GEN_HDR pthread.h
DEPENDS
.llvm_libc_common_h
.llvm-libc-types.__pthread_start_t
.llvm-libc-types.__pthread_tss_dtor_t
.llvm-libc-types.pthread_attr_t
.llvm-libc-types.pthread_key_t
.llvm-libc-types.pthread_mutex_t
.llvm-libc-types.pthread_mutexattr_t
.llvm-libc-types.pthread_t
)
# TODO: Not all platforms will have a include/sys directory. Add the sys
# directory and the targets for sys/*.h files conditional to the OS requiring
# them.
file(MAKE_DIRECTORY "sys")
add_gen_header(
sys_mman
DEF_FILE sys/mman.h.def
GEN_HDR sys/mman.h
DEPENDS
.llvm_libc_common_h
.llvm-libc-types.off_t
.llvm-libc-types.ssize_t
)
add_gen_header(
sys_stat
DEF_FILE sys/stat.h.def
GEN_HDR sys/stat.h
DEPENDS
.llvm_libc_common_h
.llvm-libc-types.mode_t
)
add_gen_header(
sys_syscall
DEF_FILE sys/syscall.h.def
GEN_HDR sys/syscall.h
PARAMS
syscall_numbers=../config/${LIBC_TARGET_OS}/syscall_numbers.h.inc
DATA_FILES
../config/${LIBC_TARGET_OS}/syscall_numbers.h.inc
)