llvm/libc/src/stdio/generic/CMakeLists.txt

add_entrypoint_object(
  clearerr
  SRCS
    clearerr.cpp
  HDRS
    ../clearerr.h
  DEPENDS
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  clearerr_unlocked
  SRCS
    clearerr_unlocked.cpp
  HDRS
    ../clearerr_unlocked.h
  DEPENDS
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  feof
  SRCS
    feof.cpp
  HDRS
    ../feof.h
  DEPENDS
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  feof_unlocked
  SRCS
    feof_unlocked.cpp
  HDRS
    ../feof_unlocked.h
  DEPENDS
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  ferror
  SRCS
    ferror.cpp
  HDRS
    ../ferror.h
  DEPENDS
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  ferror_unlocked
  SRCS
    ferror_unlocked.cpp
  HDRS
    ../ferror_unlocked.h
  DEPENDS
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  fileno
  SRCS
    fileno.cpp
  HDRS
    ../fileno.h
  DEPENDS
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  fflush
  SRCS
    fflush.cpp
  HDRS
    ../fflush.h
  DEPENDS
    libc.src.errno.errno
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  fseek
  SRCS
    fseek.cpp
  HDRS
    ../fseek.h
  DEPENDS
    libc.src.errno.errno
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  ftell
  SRCS
    ftell.cpp
  HDRS
    ../ftell.h
  DEPENDS
    libc.src.errno.errno
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  fseeko
  SRCS
    fseeko.cpp
  HDRS
    ../fseeko.h
  DEPENDS
    libc.src.errno.errno
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  ftello
  SRCS
    ftello.cpp
  HDRS
    ../ftello.h
  DEPENDS
    libc.src.errno.errno
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  fopen
  SRCS
    fopen.cpp
  HDRS
    ../fopen.h
  DEPENDS
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  fclose
  SRCS
    fclose.cpp
  HDRS
    ../fclose.h
  DEPENDS
    libc.hdr.types.FILE
    libc.src.errno.errno
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  fread_unlocked
  SRCS
    fread_unlocked.cpp
  HDRS
    ../fread_unlocked.h
  DEPENDS
    libc.src.errno.errno
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  fread
  SRCS
    fread.cpp
  HDRS
    ../fread.h
  DEPENDS
    libc.src.errno.errno
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  fputs
  SRCS
    fputs.cpp
  HDRS
    ../fputs.h
  DEPENDS
    libc.src.errno.errno
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  puts
  SRCS
    puts.cpp
  HDRS
    ../puts.h
  DEPENDS
    libc.src.errno.errno
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_stdout
)

add_entrypoint_object(
  fwrite_unlocked
  SRCS
    fwrite_unlocked.cpp
  HDRS
    ../fwrite_unlocked.h
  DEPENDS
    libc.src.errno.errno
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  fwrite
  SRCS
    fwrite.cpp
  HDRS
    ../fwrite.h
  DEPENDS
    libc.src.errno.errno
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  fputc
  SRCS
    fputc.cpp
  HDRS
    ../fputc.h
  DEPENDS
    libc.src.errno.errno
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  putc
  SRCS
    putc.cpp
  HDRS
    ../putc.h
  DEPENDS
    libc.src.errno.errno
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  putchar
  SRCS
    putchar.cpp
  HDRS
    ../putchar.h
  DEPENDS
    libc.src.errno.errno
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  fgetc
  SRCS
    fgetc.cpp
  HDRS
    ../fgetc.h
  DEPENDS
    libc.src.errno.errno
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  fgetc_unlocked
  SRCS
    fgetc_unlocked.cpp
  HDRS
    ../fgetc_unlocked.h
  DEPENDS
    libc.src.errno.errno
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  getc
  SRCS
    getc.cpp
  HDRS
    ../getc.h
  DEPENDS
    libc.src.errno.errno
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  getc_unlocked
  SRCS
    getc_unlocked.cpp
  HDRS
    ../getc_unlocked.h
  DEPENDS
    libc.src.errno.errno
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  getchar
  SRCS
    getchar.cpp
  HDRS
    ../getchar.h
  DEPENDS
    libc.src.errno.errno
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  getchar_unlocked
  SRCS
    getchar_unlocked.cpp
  HDRS
    ../getchar_unlocked.h
  DEPENDS
    libc.src.errno.errno
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

list(APPEND fprintf_deps
      libc.hdr.types.FILE
      libc.src.__support.arg_list
      libc.src.stdio.printf_core.vfprintf_internal
)

if(LLVM_LIBC_FULL_BUILD)
  list(APPEND fprintf_deps
      libc.src.__support.File.file
      libc.src.__support.File.platform_file
  )
endif()

# Copy the deps for printf_deps
set(printf_deps ${fprintf_deps})

if(LLVM_LIBC_FULL_BUILD)
  list(APPEND printf_deps
      libc.src.__support.File.platform_stdout
  )
endif()

add_entrypoint_object(
  printf
  SRCS
    printf.cpp
  HDRS
    ../printf.h
  DEPENDS
    ${printf_deps}
)

add_entrypoint_object(
  vprintf
  SRCS
    vprintf.cpp
  HDRS
    ../vprintf.h
  DEPENDS
    ${printf_deps}
)

add_entrypoint_object(
  fprintf
  SRCS
    fprintf.cpp
  HDRS
    ../fprintf.h
  DEPENDS
    ${fprintf_deps}
)

add_entrypoint_object(
  vfprintf
  SRCS
    vfprintf.cpp
  HDRS
    ../vfprintf.h
  DEPENDS
    ${fprintf_deps}
)

add_entrypoint_object(
  fgets
  SRCS
    fgets.cpp
  HDRS
    ../fgets.h
  DEPENDS
    libc.src.errno.errno
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  ungetc
  SRCS
    ungetc.cpp
  HDRS
    ../ungetc.h
  DEPENDS
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_file
)

add_entrypoint_object(
  stdin
  SRCS
    stdin.cpp
  HDRS
    ../stdin.h
  DEPENDS
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_stdin
)

add_entrypoint_object(
  stdout
  SRCS
    stdout.cpp
  HDRS
    ../stdout.h
  DEPENDS
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_stdout
)

add_entrypoint_object(
  stderr
  SRCS
    stderr.cpp
  HDRS
    ../stderr.h
  DEPENDS
    libc.hdr.types.FILE
    libc.src.__support.File.file
    libc.src.__support.File.platform_stderr
)