mcu_hi3321_watch/kernel/freertos/utils/libc/libc_src.cmake
2025-06-06 15:13:55 +08:00

149 lines
5.6 KiB
CMake

# dir errno
set(LIBC_ERRNO_SRC strerror.c)
list(TRANSFORM LIBC_ERRNO_SRC PREPEND ${LIBC_DIR_PATH}/src/errno/)
# dir string
set(LIBC_STRING_SRC
bcmp.c bcopy.c bzero.c memchr.c memcmp.c memcpy.c memmove.c
memrchr.c memset.c stpcpy.c stpncpy.c strcasecmp.c strcasestr.c strcat.c
strchr.c strchrnul.c strcmp.c strcpy.c strcspn.c strdup.c strerror_r.c
strlcpy.c strlen.c strncasecmp.c strncat.c strncmp.c strncpy.c strnlen.c
strpbrk.c strrchr.c strsep.c strspn.c strstr.c strtok.c strtok_r.c wcschr.c
wcscmp.c wcslen.c wcsncmp.c wcsncpy.c wcsnlen.c wcsstr.c wmemchr.c wmemcmp.c
wmemcpy.c wmemmove.c wmemset.c
)
list(TRANSFORM LIBC_STRING_SRC PREPEND ${LIBC_DIR_PATH}/src/string/)
# dir stdlib
set(LIBC_STDLIB_SRC
abs.c atof.c atoi.c atol.c atoll.c bsearch.c labs.c llabs.c
qsort.c strtod.c strtol.c wcstol.c
)
list(TRANSFORM LIBC_STDLIB_SRC PREPEND ${LIBC_DIR_PATH}/src/stdlib/)
# dir internal
set(LIBC_INTERNAL_SRC floatscan.c intscan.c libc.c shgetc.c syscall_ret.c)
list(TRANSFORM LIBC_INTERNAL_SRC PREPEND ${LIBC_DIR_PATH}/src/internal/)
# dir time
set(LIBC_TIME_SRC
__month_to_secs.c __secs_to_tm.c __tm_to_secs.c __tz.c __year_to_secs.c
asctime.c asctime_r.c clock_gettime.c ctime.c ctime_r.c gmtime.c gmtime_r.c localtime.c
localtime_r.c mktime.c strftime.c strptime.c second_time.c wcsftime.c
)
list(TRANSFORM LIBC_TIME_SRC PREPEND ${LIBC_DIR_PATH}/src/time/)
# dir misc
set(LIBC_MISC_SRC getentropy.c getopt.c)
if(NOT SUPPORT_LIBC_STDIO)
list(REMOVE_ITEM LIBC_MISC_SRC getopt.c)
endif()
list(TRANSFORM LIBC_MISC_SRC PREPEND ${LIBC_DIR_PATH}/src/misc/)
# dir locale
set(LIBC_LOCALE_SRC
__lctrans.c c_locale.c langinfo.c setlocale.c strcoll.c strxfrm.c
wcscoll.c wcsxfrm.c
)
list(TRANSFORM LIBC_LOCALE_SRC PREPEND ${LIBC_DIR_PATH}/src/locale/)
# dir ctype
set(LIBC_CTYPE_SRC
__ctype_get_mb_cur_max.c isalnum.c isalpha.c isascii.c isblank.c
iscntrl.c isdigit.c isgraph.c islower.c isprint.c ispunct.c isspace.c isupper.c
iswalnum.c iswalpha.c iswblank.c iswcntrl.c iswctype.c iswdigit.c iswgraph.c
iswlower.c iswprint.c iswpunct.c iswspace.c iswupper.c iswxdigit.c isxdigit.c
toascii.c tolower.c toupper.c towctrans.c
)
list(TRANSFORM LIBC_CTYPE_SRC PREPEND ${LIBC_DIR_PATH}/src/ctype/)
# dir temp
set(LIBC_TEMP_SRC __randname.c mkostemps.c mkstemp.c mkstemps.c)
list(TRANSFORM LIBC_TEMP_SRC PREPEND ${LIBC_DIR_PATH}/src/temp/)
# dir fcntl
set(LIBC_FCNTL_SRC creat.c)
list(TRANSFORM LIBC_FCNTL_SRC PREPEND ${LIBC_DIR_PATH}/src/fcntl/)
# dir signal
set(LIBC_SIGNAL_SRC sigrtmax.c sigrtmin.c)
list(TRANSFORM LIBC_SIGNAL_SRC PREPEND ${LIBC_DIR_PATH}/src/signal/)
# dir network
set(LIBC_NETWORK_SRC dn_comp.c)
list(TRANSFORM LIBC_NETWORK_SRC PREPEND ${LIBC_DIR_PATH}/src/network/)
# dir unistd
set(LIBC_UNISTD_SRC _exit.c)
list(TRANSFORM LIBC_UNISTD_SRC PREPEND ${LIBC_DIR_PATH}/src/unistd/)
# dir complex
set(LIBC_COMPLEX_SRC cabs.c)
list(TRANSFORM LIBC_COMPLEX_SRC PREPEND ${LIBC_DIR_PATH}/src/complex/)
# dir termios
set(LIBC_TERMIOS_SRC tcgetattr.c tcsetattr.c)
list(TRANSFORM LIBC_TERMIOS_SRC PREPEND ${LIBC_DIR_PATH}/src/termios/)
# dir stdio
set(LIBC_STDIO_SRC
__fdopen.c __fmodeflags.c __lockfile.c __overflow.c __stdio_close.c
__stdio_read.c __stdio_seek.c __stdio_write.c __stdout_write.c __string_read.c
__toread.c __towrite.c __uflow.c asprintf.c clearerr.c fclose.c feof.c ferror.c
fflush.c fgetc.c fgetpos.c fgets.c fgetwc.c fileno.c fopen.c fprintf.c fputc.c
fputs.c fputwc.c fread.c freopen.c fscanf.c fseek.c fsetpos.c ftell.c fwide.c
fwrite.c getc.c getchar.c gets.c getwc.c ofl.c ofl_add.c perror.c
putc.c putchar.c puts.c putw.c putwc.c remove.c rewind.c scanf.c setbuf.c
setbuffer.c setvbuf.c snprintf.c sprintf.c sscanf.c stderr.c stdin.c stdout.c
swprintf.c tmpnam.c ungetc.c ungetwc.c vasprintf.c vfprintf.c vfscanf.c vfwprintf.c
vfwscanf.c vprintf.c vscanf.c vsnprintf.c vsprintf.c vsscanf.c vswprintf.c
)
set(LIBC_FORMAT_SRC
sprintf.c asprintf.c snprintf.c vsprintf.c vasprintf.c vsnprintf.c
vfprintf.c sscanf.c vsscanf.c vfscanf.c)
set(LIBC_STDIO_BASE __uflow.c __toread.c __towrite.c __string_read.c fwrite.c)
list(REMOVE_ITEM LIBC_STDIO_SRC ${LIBC_FORMAT_SRC})
list(REMOVE_ITEM LIBC_STDIO_SRC ${LIBC_STDIO_BASE})
list(TRANSFORM LIBC_STDIO_SRC PREPEND ${LIBC_DIR_PATH}/src/stdio/)
list(TRANSFORM LIBC_FORMAT_SRC PREPEND ${LIBC_DIR_PATH}/src/stdio/)
list(TRANSFORM LIBC_STDIO_BASE PREPEND ${LIBC_DIR_PATH}/src/stdio/)
# dir exit
set(LIBC_EXIT_SRC _Exit.c assert.c atexit.c exit.c)
list(TRANSFORM LIBC_EXIT_SRC PREPEND ${LIBC_DIR_PATH}/src/exit/)
# dir prng
set(LIBC_PRNG_SRC __rand48_step.c __seed48.c lrand48.c rand.c random.c seed48.c srand48.c)
list(TRANSFORM LIBC_PRNG_SRC PREPEND ${LIBC_DIR_PATH}/src/prng/)
# dir multibyte
set(LIBC_MULTIBYTE_SRC
btowc.c c32rtomb.c internal.c mblen.c mbrlen.c mbrtoc32.c
mbrtowc.c mbsinit.c mbsnrtowcs.c mbsrtowcs.c mbstowcs.c mbtowc.c wcrtomb.c
wcsnrtombs.c wcsrtombs.c wctob.c wctomb.c
)
list(TRANSFORM LIBC_MULTIBYTE_SRC PREPEND ${LIBC_DIR_PATH}/src/multibyte/)
# dir env
set(LIBC_ENV_SRC __environ.c getenv.c)
list(TRANSFORM LIBC_ENV_SRC PREPEND ${LIBC_DIR_PATH}/src/env/)
# dir linux
set(LIBC_LINUX_SRC stime.c)
list(TRANSFORM LIBC_LINUX_SRC PREPEND ${LIBC_DIR_PATH}/src/linux/)
# dir process
set(LIBC_PROCESS_SRC system.c)
list(TRANSFORM LIBC_PROCESS_SRC PREPEND ${LIBC_DIR_PATH}/src/process/)
# dir legacy
set(LIBC_LEGACY_SRC err.c getpagesize.c)
if (NOT CONFIG_LIB_STDIO)
list(REMOVE_ITEM LIBC_LEGACY_SRC err.c)
endif()
list(TRANSFORM LIBC_LEGACY_SRC PREPEND ${LIBC_DIR_PATH}/src/legacy/)
# dir thread
set(LIBC_THREAD_SRC pthread_getspecific.c pthread_key_create.c pthread_setspecific.c)
list(TRANSFORM LIBC_THREAD_SRC PREPEND ${LIBC_DIR_PATH}/src/thread/)