set(TARGET_PUBLIC_HEADERS
    libc.include.arpa_inet
    libc.include.assert
    libc.include.byteswap
    libc.include.complex
    libc.include.cpio
    libc.include.ctype
    libc.include.dirent
    libc.include.dlfcn
    libc.include.elf
    libc.include.endian
    libc.include.errno
    libc.include.fcntl
    libc.include.features
    libc.include.fenv
    libc.include.float
    libc.include.inttypes
    libc.include.limits
    libc.include.link
    libc.include.locale
    libc.include.malloc
    libc.include.math
    libc.include.netinet_in
    libc.include.netinet_tcp
    libc.include.netinet_udp
    libc.include.nl_types
    libc.include.poll
    libc.include.pthread
    libc.include.sched
    libc.include.search
    libc.include.setjmp
    libc.include.signal
    libc.include.spawn
    libc.include.stdbit
    libc.include.stdckdint
    libc.include.stdfix
    libc.include.stdint
    libc.include.stdio
    libc.include.stdlib
    libc.include.string
    libc.include.strings
    libc.include.sys_auxv
    libc.include.sys_epoll
    libc.include.sys_ioctl
    libc.include.sys_ipc
    libc.include.sys_mman
    libc.include.sys_param
    libc.include.sys_personality
    libc.include.sys_prctl
    libc.include.sys_queue
    libc.include.sys_random
    libc.include.sys_resource
    libc.include.sys_select
    libc.include.sys_sem
    libc.include.sys_socket
    libc.include.sys_stat
    libc.include.sys_statvfs
    libc.include.sys_syscall
    libc.include.sys_time
    libc.include.sys_types
    libc.include.sys_ucontext
    libc.include.sys_uio
    libc.include.sys_un
    libc.include.sys_utsname
    libc.include.sys_wait
    libc.include.syscall
    libc.include.sysexits
    libc.include.termios
    libc.include.threads
    libc.include.time
    libc.include.uchar
    libc.include.ucontext
    libc.include.unistd
    libc.include.wchar
    libc.include.wctype
)

if(LLVM_LIBC_FULL_BUILD AND LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
  list(APPEND TARGET_PUBLIC_HEADERS libc.include.regex)
endif()
