if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${LIBC_TARGET_OS}) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/${LIBC_TARGET_OS}) endif() add_entrypoint_object( access ALIAS DEPENDS .${LIBC_TARGET_OS}.access ) add_entrypoint_object( chdir ALIAS DEPENDS .${LIBC_TARGET_OS}.chdir ) add_entrypoint_object( close ALIAS DEPENDS .${LIBC_TARGET_OS}.close ) add_entrypoint_object( dup ALIAS DEPENDS .${LIBC_TARGET_OS}.dup ) add_entrypoint_object( dup2 ALIAS DEPENDS .${LIBC_TARGET_OS}.dup2 ) add_entrypoint_object( dup3 ALIAS DEPENDS .${LIBC_TARGET_OS}.dup3 ) add_entrypoint_object( fchdir ALIAS DEPENDS .${LIBC_TARGET_OS}.fchdir ) add_entrypoint_object( fork ALIAS DEPENDS .${LIBC_TARGET_OS}.fork ) add_entrypoint_object( execv ALIAS DEPENDS .${LIBC_TARGET_OS}.execv ) add_entrypoint_object( execve ALIAS DEPENDS .${LIBC_TARGET_OS}.execve ) add_entrypoint_object( fsync ALIAS DEPENDS .${LIBC_TARGET_OS}.fsync ) add_entrypoint_object( ftruncate ALIAS DEPENDS .${LIBC_TARGET_OS}.ftruncate ) add_entrypoint_object( getcwd ALIAS DEPENDS .${LIBC_TARGET_OS}.getcwd ) add_entrypoint_object( getpid ALIAS DEPENDS .${LIBC_TARGET_OS}.getpid ) add_entrypoint_object( getppid ALIAS DEPENDS .${LIBC_TARGET_OS}.getppid ) add_entrypoint_object( geteuid ALIAS DEPENDS .${LIBC_TARGET_OS}.geteuid ) add_entrypoint_object( getuid ALIAS DEPENDS .${LIBC_TARGET_OS}.getuid ) add_entrypoint_object( isatty ALIAS DEPENDS .${LIBC_TARGET_OS}.isatty ) add_entrypoint_object( link ALIAS DEPENDS .${LIBC_TARGET_OS}.link ) add_entrypoint_object( linkat ALIAS DEPENDS .${LIBC_TARGET_OS}.linkat ) add_entrypoint_object( lseek ALIAS DEPENDS .${LIBC_TARGET_OS}.lseek ) add_entrypoint_object( pread ALIAS DEPENDS .${LIBC_TARGET_OS}.pread ) add_entrypoint_object( pwrite ALIAS DEPENDS .${LIBC_TARGET_OS}.pwrite ) add_entrypoint_object( read ALIAS DEPENDS .${LIBC_TARGET_OS}.read ) add_entrypoint_object( readlink ALIAS DEPENDS .${LIBC_TARGET_OS}.readlink ) add_entrypoint_object( readlinkat ALIAS DEPENDS .${LIBC_TARGET_OS}.readlinkat ) add_entrypoint_object( rmdir ALIAS DEPENDS .${LIBC_TARGET_OS}.rmdir ) add_entrypoint_object( symlink ALIAS DEPENDS .${LIBC_TARGET_OS}.symlink ) add_entrypoint_object( symlinkat ALIAS DEPENDS .${LIBC_TARGET_OS}.symlinkat ) add_entrypoint_object( __llvm_libc_syscall ALIAS DEPENDS .${LIBC_TARGET_OS}.__llvm_libc_syscall ) add_entrypoint_object( sysconf ALIAS DEPENDS .${LIBC_TARGET_OS}.sysconf ) add_entrypoint_object( truncate ALIAS DEPENDS .${LIBC_TARGET_OS}.truncate ) add_entrypoint_object( unlink ALIAS DEPENDS .${LIBC_TARGET_OS}.unlink ) add_entrypoint_object( unlinkat ALIAS DEPENDS .${LIBC_TARGET_OS}.unlinkat ) add_entrypoint_object( write ALIAS DEPENDS .${LIBC_TARGET_OS}.write ) add_entrypoint_object( environ SRCS environ.cpp HDRS environ.h ) add_entrypoint_object( getopt SRCS getopt.cpp HDRS getopt.h DEPENDS libc.include.unistd libc.src.__support.CPP.optional libc.src.__support.CPP.string_view libc.src.__support.File.file libc.src.__support.File.platform_stderr libc.src.stdio.fprintf ) add_entrypoint_object( swab SRCS swab.cpp HDRS swab.h DEPENDS libc.include.unistd libc.src.__support.CPP.optional ) # These aren't actual external per-se, but this is just an easy way to create # targets that don't do anything. They exist to be referenced in entrypoints.txt # so that the header will properly expose their definitions. Their declaration # is in getopt.cpp. add_entrypoint_external( optarg ) add_entrypoint_external( optind ) add_entrypoint_external( optopt ) add_entrypoint_external( opterr )