package libc import ( "fmt" "path/filepath" "strings" "github.com/goplus/llgo/internal/crosscompile/compile" ) var _libcLDFlags = []string{ "-nostdlib", "-ffunction-sections", "-fdata-sections", } var _libcCCFlags = []string{ "-Oz", "-fno-builtin", // freestanding tells compiler this is a baremental project "-ffreestanding", } const ( _newlibUrl = "https://github.com/goplus/newlib/archive/refs/tags/v0.2.0.tar.gz" _archiveInternalSrcDir = "newlib-0.2.0" ) func withDefaultCCFlags(ccflags []string) []string { return append(ccflags, _libcCCFlags...) } func getNewlibESP32ConfigRISCV(baseDir, target string) *compile.CompileConfig { libcDir := filepath.Join(baseDir, "newlib", "libc") libcIncludeDir := []string{ "-isystem" + filepath.Join(libcDir, "include"), "-I" + filepath.Join(baseDir, "newlib"), "-I" + libcDir, } return &compile.CompileConfig{ Url: _newlibUrl, Name: "newlib-esp32", LibcCFlags: libcIncludeDir, ArchiveSrcDir: _archiveInternalSrcDir, Groups: []compile.CompileGroup{ { OutputFileName: fmt.Sprintf("libcrt0-%s.a", target), Files: []string{ filepath.Join(baseDir, "libgloss", "riscv", "esp", "esp_board.c"), filepath.Join(baseDir, "libgloss", "riscv", "esp", "syscalls.c"), filepath.Join(baseDir, "libgloss", "riscv", "esp", "crt1-board.S"), }, CFlags: []string{ "-DHAVE_CONFIG_H", "-isystem" + filepath.Join(libcDir, "include"), "-I" + filepath.Join(baseDir, "libgloss"), // TODO(MeteorsLiu): support riscv "-I" + filepath.Join(baseDir, "libgloss", "riscv"), "-I" + filepath.Join(baseDir, "libgloss", "riscv", "esp"), }, LDFlags: _libcLDFlags, CCFlags: _libcCCFlags, }, { OutputFileName: fmt.Sprintf("libgloss-%s.a", target), Files: []string{ filepath.Join(baseDir, "libgloss", "libnosys", "chown.c"), filepath.Join(baseDir, "libgloss", "libnosys", "close.c"), filepath.Join(baseDir, "libgloss", "libnosys", "environ.c"), filepath.Join(baseDir, "libgloss", "libnosys", "errno.c"), filepath.Join(baseDir, "libgloss", "libnosys", "execve.c"), filepath.Join(baseDir, "libgloss", "libnosys", "fork.c"), filepath.Join(baseDir, "libgloss", "libnosys", "fstat.c"), filepath.Join(baseDir, "libgloss", "libnosys", "getpid.c"), filepath.Join(baseDir, "libgloss", "libnosys", "gettod.c"), filepath.Join(baseDir, "libgloss", "libnosys", "isatty.c"), filepath.Join(baseDir, "libgloss", "libnosys", "kill.c"), filepath.Join(baseDir, "libgloss", "libnosys", "link.c"), filepath.Join(baseDir, "libgloss", "libnosys", "lseek.c"), filepath.Join(baseDir, "libgloss", "libnosys", "open.c"), filepath.Join(baseDir, "libgloss", "libnosys", "read.c"), filepath.Join(baseDir, "libgloss", "libnosys", "readlink.c"), filepath.Join(baseDir, "libgloss", "libnosys", "sbrk.c"), filepath.Join(baseDir, "libgloss", "libnosys", "stat.c"), filepath.Join(baseDir, "libgloss", "libnosys", "symlink.c"), filepath.Join(baseDir, "libgloss", "libnosys", "times.c"), filepath.Join(baseDir, "libgloss", "libnosys", "unlink.c"), filepath.Join(baseDir, "libgloss", "libnosys", "wait.c"), filepath.Join(baseDir, "libgloss", "libnosys", "write.c"), filepath.Join(baseDir, "libgloss", "libnosys", "getentropy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "_exit.c"), filepath.Join(baseDir, "libgloss", "libnosys", "getreent.c"), filepath.Join(baseDir, "libgloss", "libnosys", "time.c"), filepath.Join(baseDir, "libgloss", "libnosys", "fcntl.c"), filepath.Join(baseDir, "libgloss", "libnosys", "chdir.c"), filepath.Join(baseDir, "libgloss", "libnosys", "chmod.c"), filepath.Join(baseDir, "libgloss", "libnosys", "closedir.c"), filepath.Join(baseDir, "libgloss", "libnosys", "dirfd.c"), filepath.Join(baseDir, "libgloss", "libnosys", "ftw.c"), filepath.Join(baseDir, "libgloss", "libnosys", "getcwd.c"), filepath.Join(baseDir, "libgloss", "libnosys", "mkdir.c"), filepath.Join(baseDir, "libgloss", "libnosys", "nftw.c"), filepath.Join(baseDir, "libgloss", "libnosys", "opendir.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pathconf.c"), filepath.Join(baseDir, "libgloss", "libnosys", "readdir.c"), filepath.Join(baseDir, "libgloss", "libnosys", "rewinddir.c"), filepath.Join(baseDir, "libgloss", "libnosys", "scandir.c"), filepath.Join(baseDir, "libgloss", "libnosys", "seekdir.c"), filepath.Join(baseDir, "libgloss", "libnosys", "telldir.c"), filepath.Join(baseDir, "libgloss", "libnosys", "rename.c"), filepath.Join(baseDir, "libgloss", "libnosys", "_pthread_cleanup_pop.c"), filepath.Join(baseDir, "libgloss", "libnosys", "_pthread_cleanup_pop_restore.c"), filepath.Join(baseDir, "libgloss", "libnosys", "_pthread_cleanup_push.c"), filepath.Join(baseDir, "libgloss", "libnosys", "_pthread_cleanup_push_defer.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_atfork.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_destroy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_getaffinity_np.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_getdetachstate.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_getguardsize.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_getinheritsched.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_getschedparam.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_getschedpolicy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_getscope.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_getstack.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_getstackaddr.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_getstacksize.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_init.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_setaffinity_np.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_setdetachstate.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_setguardsize.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_setinheritsched.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_setschedparam.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_setschedpolicy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_setscope.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_setstack.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_setstackaddr.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_setstacksize.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_barrier_destroy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_barrier_init.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_barrier_wait.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_barrierattr_destroy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_barrierattr_getpshared.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_barrierattr_init.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_barrierattr_setpshared.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_cancel.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_cond_broadcast.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_cond_clockwait.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_cond_destroy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_cond_init.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_cond_signal.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_cond_timedwait.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_cond_wait.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_condattr_destroy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_condattr_getclock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_condattr_getpshared.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_condattr_init.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_condattr_setclock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_condattr_setpshared.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_create.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_detach.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_equal.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_exit.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_getaffinity_np.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_getattr_np.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_getconcurrency.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_getcpuclockid.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_getname_np.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_getschedparam.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_getspecific.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_join.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_key_create.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_key_delete.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutex_clocklock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutex_destroy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutex_getprioceiling.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutex_init.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutex_lock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutex_setprioceiling.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutex_timedlock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutex_trylock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutex_unlock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutexattr_destroy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutexattr_getprioceiling.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutexattr_getprotocol.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutexattr_getpshared.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutexattr_gettype.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutexattr_init.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutexattr_setprioceiling.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutexattr_setprotocol.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutexattr_setpshared.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutexattr_settype.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_once.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlock_clockrdlock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlock_clockwrlock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlock_destroy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlock_init.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlock_rdlock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlock_timedrdlock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlock_timedwrlock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlock_tryrdlock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlock_trywrlock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlock_unlock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlock_wrlock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlockattr_destroy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlockattr_getpshared.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlockattr_init.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlockattr_setpshared.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_self.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_setaffinity_np.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_setcancelstate.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_setcanceltype.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_setconcurrency.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_setname_np.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_setschedparam.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_setschedprio.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_setspecific.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_spin_destroy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_spin_init.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_spin_lock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_spin_trylock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_spin_unlock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_testcancel.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_yield.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_access.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_chdir.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_chmod.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_chown.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_close.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_conv_stat.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_execve.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_exit.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_faccessat.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_fork.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_fstat.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_fstatat.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_ftime.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_getcwd.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_getpid.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_getreent.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_gettimeofday.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_isatty.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_kill.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_link.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_lseek.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_lstat.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_open.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_openat.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_read.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_sbrk.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_stat.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_sysconf.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_times.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_unlink.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_utime.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_wait.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_write.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_access.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_chdir.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_chmod.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_chown.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_close.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_conv_stat.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_execve.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_exit.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_faccessat.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_fork.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_fstat.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_fstatat.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_ftime.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_getcwd.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_getpid.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_getreent.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_gettimeofday.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_isatty.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_kill.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_link.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_lseek.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_lstat.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_open.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_openat.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_read.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_sbrk.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_stat.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_sysconf.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_times.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_unlink.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_utime.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_wait.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_write.c"), filepath.Join(baseDir, "libgloss", "riscv", "nanosleep.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_chdir.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_chmod.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_chown.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_execve.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_fork.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_getcwd.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_getpid.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_getreent.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_kill.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_utime.c"), filepath.Join(baseDir, "libgloss", "riscv", "sys_wait.c"), filepath.Join(baseDir, "libgloss", "riscv", "semihost-sys_close.c"), filepath.Join(baseDir, "libgloss", "riscv", "semihost-sys_exit.c"), filepath.Join(baseDir, "libgloss", "riscv", "semihost-sys_fdtable.c"), filepath.Join(baseDir, "libgloss", "riscv", "semihost-sys_fstat.c"), filepath.Join(baseDir, "libgloss", "riscv", "semihost-sys_ftime.c"), filepath.Join(baseDir, "libgloss", "riscv", "semihost-sys_isatty.c"), filepath.Join(baseDir, "libgloss", "riscv", "semihost-sys_link.c"), filepath.Join(baseDir, "libgloss", "riscv", "semihost-sys_lseek.c"), filepath.Join(baseDir, "libgloss", "riscv", "semihost-sys_open.c"), filepath.Join(baseDir, "libgloss", "riscv", "semihost-sys_read.c"), filepath.Join(baseDir, "libgloss", "riscv", "semihost-sys_sbrk.c"), filepath.Join(baseDir, "libgloss", "riscv", "semihost-sys_stat.c"), filepath.Join(baseDir, "libgloss", "riscv", "semihost-sys_stat_common.c"), filepath.Join(baseDir, "libgloss", "riscv", "semihost-sys_unlink.c"), filepath.Join(baseDir, "libgloss", "riscv", "semihost-sys_write.c"), }, CFlags: []string{ "-DHAVE_CONFIG_H", "-isystem" + filepath.Join(libcDir, "include"), "-I" + libcDir, "-I" + filepath.Join(libcDir, "riscv"), "-I" + filepath.Join(baseDir, "libgloss"), "-I" + filepath.Join(baseDir, "libgloss", "riscv"), "-I" + filepath.Join(baseDir, "libgloss", "riscv", "esp"), }, LDFlags: _libcLDFlags, CCFlags: _libcCCFlags, }, { OutputFileName: fmt.Sprintf("libc-%s.a", target), Files: []string{ filepath.Join(libcDir, "argz", "argz_add.c"), filepath.Join(libcDir, "argz", "argz_add_sep.c"), filepath.Join(libcDir, "argz", "argz_append.c"), filepath.Join(libcDir, "argz", "argz_count.c"), filepath.Join(libcDir, "argz", "argz_create.c"), filepath.Join(libcDir, "argz", "argz_create_sep.c"), filepath.Join(libcDir, "argz", "argz_delete.c"), filepath.Join(libcDir, "argz", "argz_extract.c"), filepath.Join(libcDir, "argz", "argz_insert.c"), filepath.Join(libcDir, "argz", "argz_next.c"), filepath.Join(libcDir, "argz", "argz_replace.c"), filepath.Join(libcDir, "argz", "argz_stringify.c"), filepath.Join(libcDir, "argz", "buf_findstr.c"), filepath.Join(libcDir, "argz", "envz_entry.c"), filepath.Join(libcDir, "argz", "envz_get.c"), filepath.Join(libcDir, "argz", "envz_add.c"), filepath.Join(libcDir, "argz", "envz_remove.c"), filepath.Join(libcDir, "argz", "envz_merge.c"), filepath.Join(libcDir, "argz", "envz_strip.c"), filepath.Join(libcDir, "stdlib", "__adjust.c"), filepath.Join(libcDir, "stdlib", "__atexit.c"), filepath.Join(libcDir, "stdlib", "__call_atexit.c"), filepath.Join(libcDir, "stdlib", "__exp10.c"), filepath.Join(libcDir, "stdlib", "__ten_mu.c"), filepath.Join(libcDir, "stdlib", "_Exit.c"), filepath.Join(libcDir, "stdlib", "abort.c"), filepath.Join(libcDir, "stdlib", "abs.c"), filepath.Join(libcDir, "stdlib", "aligned_alloc.c"), filepath.Join(libcDir, "stdlib", "assert.c"), filepath.Join(libcDir, "stdlib", "atexit.c"), filepath.Join(libcDir, "stdlib", "atof.c"), filepath.Join(libcDir, "stdlib", "atoff.c"), filepath.Join(libcDir, "stdlib", "atoi.c"), filepath.Join(libcDir, "stdlib", "atol.c"), filepath.Join(libcDir, "stdlib", "calloc.c"), filepath.Join(libcDir, "stdlib", "callocr.c"), filepath.Join(libcDir, "stdlib", "cfreer.c"), filepath.Join(libcDir, "stdlib", "div.c"), filepath.Join(libcDir, "stdlib", "dtoa.c"), filepath.Join(libcDir, "stdlib", "dtoastub.c"), filepath.Join(libcDir, "stdlib", "environ.c"), filepath.Join(libcDir, "stdlib", "envlock.c"), filepath.Join(libcDir, "stdlib", "eprintf.c"), filepath.Join(libcDir, "stdlib", "exit.c"), filepath.Join(libcDir, "stdlib", "freer.c"), filepath.Join(libcDir, "stdlib", "gdtoa-gethex.c"), filepath.Join(libcDir, "stdlib", "gdtoa-hexnan.c"), filepath.Join(libcDir, "stdlib", "getenv.c"), filepath.Join(libcDir, "stdlib", "getenv_r.c"), filepath.Join(libcDir, "stdlib", "imaxabs.c"), filepath.Join(libcDir, "stdlib", "imaxdiv.c"), filepath.Join(libcDir, "stdlib", "itoa.c"), filepath.Join(libcDir, "stdlib", "labs.c"), filepath.Join(libcDir, "stdlib", "ldiv.c"), filepath.Join(libcDir, "stdlib", "ldtoa.c"), filepath.Join(libcDir, "stdlib", "gdtoa-ldtoa.c"), filepath.Join(libcDir, "stdlib", "gdtoa-gdtoa.c"), filepath.Join(libcDir, "stdlib", "gdtoa-dmisc.c"), filepath.Join(libcDir, "stdlib", "gdtoa-gmisc.c"), filepath.Join(libcDir, "stdlib", "mallinfor.c"), filepath.Join(libcDir, "stdlib", "malloc.c"), filepath.Join(libcDir, "stdlib", "mallocr.c"), filepath.Join(libcDir, "stdlib", "mallstatsr.c"), filepath.Join(libcDir, "stdlib", "mblen.c"), filepath.Join(libcDir, "stdlib", "mblen_r.c"), filepath.Join(libcDir, "stdlib", "mbstowcs.c"), filepath.Join(libcDir, "stdlib", "mbstowcs_r.c"), filepath.Join(libcDir, "stdlib", "mbtowc.c"), filepath.Join(libcDir, "stdlib", "mbtowc_r.c"), filepath.Join(libcDir, "stdlib", "mlock.c"), filepath.Join(libcDir, "stdlib", "mprec.c"), filepath.Join(libcDir, "stdlib", "msizer.c"), filepath.Join(libcDir, "stdlib", "mstats.c"), filepath.Join(libcDir, "stdlib", "on_exit_args.c"), filepath.Join(libcDir, "stdlib", "quick_exit.c"), filepath.Join(libcDir, "stdlib", "rand.c"), filepath.Join(libcDir, "stdlib", "rand_r.c"), filepath.Join(libcDir, "stdlib", "random.c"), filepath.Join(libcDir, "stdlib", "realloc.c"), filepath.Join(libcDir, "stdlib", "reallocarray.c"), filepath.Join(libcDir, "stdlib", "reallocf.c"), filepath.Join(libcDir, "stdlib", "reallocr.c"), filepath.Join(libcDir, "stdlib", "sb_charsets.c"), filepath.Join(libcDir, "stdlib", "strtod.c"), filepath.Join(libcDir, "stdlib", "strtoimax.c"), filepath.Join(libcDir, "stdlib", "strtol.c"), filepath.Join(libcDir, "stdlib", "strtoul.c"), filepath.Join(libcDir, "stdlib", "strtoumax.c"), filepath.Join(libcDir, "stdlib", "utoa.c"), filepath.Join(libcDir, "stdlib", "wcstod.c"), filepath.Join(libcDir, "stdlib", "wcstoimax.c"), filepath.Join(libcDir, "stdlib", "wcstol.c"), filepath.Join(libcDir, "stdlib", "wcstoul.c"), filepath.Join(libcDir, "stdlib", "wcstoumax.c"), filepath.Join(libcDir, "stdlib", "wcstombs.c"), filepath.Join(libcDir, "stdlib", "wcstombs_r.c"), filepath.Join(libcDir, "stdlib", "wctomb.c"), filepath.Join(libcDir, "stdlib", "wctomb_r.c"), filepath.Join(libcDir, "stdlib", "strtodg.c"), filepath.Join(libcDir, "stdlib", "strtold.c"), filepath.Join(libcDir, "stdlib", "strtorx.c"), filepath.Join(libcDir, "stdlib", "wcstold.c"), filepath.Join(libcDir, "stdlib", "arc4random.c"), filepath.Join(libcDir, "stdlib", "arc4random_uniform.c"), filepath.Join(libcDir, "stdlib", "cxa_atexit.c"), filepath.Join(libcDir, "stdlib", "cxa_finalize.c"), filepath.Join(libcDir, "stdlib", "drand48.c"), filepath.Join(libcDir, "stdlib", "ecvtbuf.c"), filepath.Join(libcDir, "stdlib", "efgcvt.c"), filepath.Join(libcDir, "stdlib", "erand48.c"), filepath.Join(libcDir, "stdlib", "jrand48.c"), filepath.Join(libcDir, "stdlib", "lcong48.c"), filepath.Join(libcDir, "stdlib", "lrand48.c"), filepath.Join(libcDir, "stdlib", "mrand48.c"), filepath.Join(libcDir, "stdlib", "msize.c"), filepath.Join(libcDir, "stdlib", "mtrim.c"), filepath.Join(libcDir, "stdlib", "nrand48.c"), filepath.Join(libcDir, "stdlib", "rand48.c"), filepath.Join(libcDir, "stdlib", "seed48.c"), filepath.Join(libcDir, "stdlib", "srand48.c"), filepath.Join(libcDir, "stdlib", "strtoll.c"), filepath.Join(libcDir, "stdlib", "strtoll_r.c"), filepath.Join(libcDir, "stdlib", "strtoull.c"), filepath.Join(libcDir, "stdlib", "strtoull_r.c"), filepath.Join(libcDir, "stdlib", "wcstoll.c"), filepath.Join(libcDir, "stdlib", "wcstoll_r.c"), filepath.Join(libcDir, "stdlib", "wcstoull.c"), filepath.Join(libcDir, "stdlib", "wcstoull_r.c"), filepath.Join(libcDir, "stdlib", "atoll.c"), filepath.Join(libcDir, "stdlib", "llabs.c"), filepath.Join(libcDir, "stdlib", "lldiv.c"), filepath.Join(libcDir, "stdlib", "a64l.c"), filepath.Join(libcDir, "stdlib", "btowc.c"), filepath.Join(libcDir, "stdlib", "getopt.c"), filepath.Join(libcDir, "stdlib", "getsubopt.c"), filepath.Join(libcDir, "stdlib", "l64a.c"), filepath.Join(libcDir, "stdlib", "malign.c"), filepath.Join(libcDir, "stdlib", "malignr.c"), filepath.Join(libcDir, "stdlib", "malloptr.c"), filepath.Join(libcDir, "stdlib", "mbrlen.c"), filepath.Join(libcDir, "stdlib", "mbrtowc.c"), filepath.Join(libcDir, "stdlib", "mbsinit.c"), filepath.Join(libcDir, "stdlib", "mbsnrtowcs.c"), filepath.Join(libcDir, "stdlib", "mbsrtowcs.c"), filepath.Join(libcDir, "stdlib", "on_exit.c"), filepath.Join(libcDir, "stdlib", "pvallocr.c"), filepath.Join(libcDir, "stdlib", "valloc.c"), filepath.Join(libcDir, "stdlib", "vallocr.c"), filepath.Join(libcDir, "stdlib", "wcrtomb.c"), filepath.Join(libcDir, "stdlib", "wcsnrtombs.c"), filepath.Join(libcDir, "stdlib", "wcsrtombs.c"), filepath.Join(libcDir, "stdlib", "wctob.c"), filepath.Join(libcDir, "stdlib", "putenv.c"), filepath.Join(libcDir, "stdlib", "putenv_r.c"), filepath.Join(libcDir, "stdlib", "setenv.c"), filepath.Join(libcDir, "stdlib", "setenv_r.c"), filepath.Join(libcDir, "stdlib", "rpmatch.c"), filepath.Join(libcDir, "stdlib", "system.c"), filepath.Join(libcDir, "ctype", "ctype_.c"), filepath.Join(libcDir, "ctype", "isalnum.c"), filepath.Join(libcDir, "ctype", "isalpha.c"), filepath.Join(libcDir, "ctype", "iscntrl.c"), filepath.Join(libcDir, "ctype", "isdigit.c"), filepath.Join(libcDir, "ctype", "islower.c"), filepath.Join(libcDir, "ctype", "isupper.c"), filepath.Join(libcDir, "ctype", "isprint.c"), filepath.Join(libcDir, "ctype", "ispunct.c"), filepath.Join(libcDir, "ctype", "isspace.c"), filepath.Join(libcDir, "ctype", "isxdigit.c"), filepath.Join(libcDir, "ctype", "tolower.c"), filepath.Join(libcDir, "ctype", "toupper.c"), filepath.Join(libcDir, "ctype", "categories.c"), filepath.Join(libcDir, "ctype", "isalnum_l.c"), filepath.Join(libcDir, "ctype", "isalpha_l.c"), filepath.Join(libcDir, "ctype", "isascii.c"), filepath.Join(libcDir, "ctype", "isascii_l.c"), filepath.Join(libcDir, "ctype", "isblank.c"), filepath.Join(libcDir, "ctype", "isblank_l.c"), filepath.Join(libcDir, "ctype", "iscntrl_l.c"), filepath.Join(libcDir, "ctype", "isdigit_l.c"), filepath.Join(libcDir, "ctype", "islower_l.c"), filepath.Join(libcDir, "ctype", "isupper_l.c"), filepath.Join(libcDir, "ctype", "isprint_l.c"), filepath.Join(libcDir, "ctype", "ispunct_l.c"), filepath.Join(libcDir, "ctype", "isspace_l.c"), filepath.Join(libcDir, "ctype", "iswalnum.c"), filepath.Join(libcDir, "ctype", "iswalnum_l.c"), filepath.Join(libcDir, "ctype", "iswalpha.c"), filepath.Join(libcDir, "ctype", "iswalpha_l.c"), filepath.Join(libcDir, "ctype", "iswblank.c"), filepath.Join(libcDir, "ctype", "iswblank_l.c"), filepath.Join(libcDir, "ctype", "iswcntrl.c"), filepath.Join(libcDir, "ctype", "iswcntrl_l.c"), filepath.Join(libcDir, "ctype", "iswctype.c"), filepath.Join(libcDir, "ctype", "iswctype_l.c"), filepath.Join(libcDir, "ctype", "iswdigit.c"), filepath.Join(libcDir, "ctype", "iswdigit_l.c"), filepath.Join(libcDir, "ctype", "iswgraph.c"), filepath.Join(libcDir, "ctype", "iswgraph_l.c"), filepath.Join(libcDir, "ctype", "iswlower.c"), filepath.Join(libcDir, "ctype", "iswlower_l.c"), filepath.Join(libcDir, "ctype", "iswprint.c"), filepath.Join(libcDir, "ctype", "iswprint_l.c"), filepath.Join(libcDir, "ctype", "iswpunct.c"), filepath.Join(libcDir, "ctype", "iswpunct_l.c"), filepath.Join(libcDir, "ctype", "iswspace.c"), filepath.Join(libcDir, "ctype", "iswspace_l.c"), filepath.Join(libcDir, "ctype", "iswupper.c"), filepath.Join(libcDir, "ctype", "iswupper_l.c"), filepath.Join(libcDir, "ctype", "iswxdigit.c"), filepath.Join(libcDir, "ctype", "iswxdigit_l.c"), filepath.Join(libcDir, "ctype", "isxdigit_l.c"), filepath.Join(libcDir, "ctype", "jp2uc.c"), filepath.Join(libcDir, "ctype", "toascii.c"), filepath.Join(libcDir, "ctype", "toascii_l.c"), filepath.Join(libcDir, "ctype", "tolower_l.c"), filepath.Join(libcDir, "ctype", "toupper_l.c"), filepath.Join(libcDir, "ctype", "towctrans.c"), filepath.Join(libcDir, "ctype", "towctrans_l.c"), filepath.Join(libcDir, "ctype", "towlower.c"), filepath.Join(libcDir, "ctype", "towlower_l.c"), filepath.Join(libcDir, "ctype", "towupper.c"), filepath.Join(libcDir, "ctype", "towupper_l.c"), filepath.Join(libcDir, "ctype", "wctrans.c"), filepath.Join(libcDir, "ctype", "wctrans_l.c"), filepath.Join(libcDir, "ctype", "wctype.c"), filepath.Join(libcDir, "ctype", "wctype_l.c"), filepath.Join(libcDir, "search", "bsearch.c"), filepath.Join(libcDir, "search", "ndbm.c"), filepath.Join(libcDir, "search", "qsort.c"), filepath.Join(libcDir, "search", "hash.c"), filepath.Join(libcDir, "search", "hash_bigkey.c"), filepath.Join(libcDir, "search", "hash_buf.c"), filepath.Join(libcDir, "search", "hash_func.c"), filepath.Join(libcDir, "search", "hash_log2.c"), filepath.Join(libcDir, "search", "hash_page.c"), filepath.Join(libcDir, "search", "hcreate.c"), filepath.Join(libcDir, "search", "hcreate_r.c"), filepath.Join(libcDir, "search", "tdelete.c"), filepath.Join(libcDir, "search", "tdestroy.c"), filepath.Join(libcDir, "search", "tfind.c"), filepath.Join(libcDir, "search", "tsearch.c"), filepath.Join(libcDir, "search", "twalk.c"), filepath.Join(libcDir, "search", "bsd_qsort_r.c"), filepath.Join(libcDir, "search", "qsort_r.c"), filepath.Join(libcDir, "stdio", "nano-vfprintf_float.c"), filepath.Join(libcDir, "stdio", "nano-svfprintf.c"), filepath.Join(libcDir, "stdio", "nano-svfscanf.c"), filepath.Join(libcDir, "stdio", "nano-vfprintf.c"), filepath.Join(libcDir, "stdio", "nano-vfprintf_i.c"), filepath.Join(libcDir, "stdio", "nano-vfscanf.c"), filepath.Join(libcDir, "stdio", "nano-vfscanf_i.c"), filepath.Join(libcDir, "stdio", "nano-vfscanf_float.c"), filepath.Join(libcDir, "stdio", "clearerr.c"), filepath.Join(libcDir, "stdio", "fclose.c"), filepath.Join(libcDir, "stdio", "fdopen.c"), filepath.Join(libcDir, "stdio", "feof.c"), filepath.Join(libcDir, "stdio", "ferror.c"), filepath.Join(libcDir, "stdio", "fflush.c"), filepath.Join(libcDir, "stdio", "fgetc.c"), filepath.Join(libcDir, "stdio", "fgetpos.c"), filepath.Join(libcDir, "stdio", "fgets.c"), filepath.Join(libcDir, "stdio", "fileno.c"), filepath.Join(libcDir, "stdio", "findfp.c"), filepath.Join(libcDir, "stdio", "flags.c"), filepath.Join(libcDir, "stdio", "fopen.c"), filepath.Join(libcDir, "stdio", "fprintf.c"), filepath.Join(libcDir, "stdio", "fputc.c"), filepath.Join(libcDir, "stdio", "fputs.c"), filepath.Join(libcDir, "stdio", "fread.c"), filepath.Join(libcDir, "stdio", "freopen.c"), filepath.Join(libcDir, "stdio", "fscanf.c"), filepath.Join(libcDir, "stdio", "fseek.c"), filepath.Join(libcDir, "stdio", "fsetpos.c"), filepath.Join(libcDir, "stdio", "ftell.c"), filepath.Join(libcDir, "stdio", "fvwrite.c"), filepath.Join(libcDir, "stdio", "fwalk.c"), filepath.Join(libcDir, "stdio", "fwrite.c"), filepath.Join(libcDir, "stdio", "getc.c"), filepath.Join(libcDir, "stdio", "getchar.c"), filepath.Join(libcDir, "stdio", "getc_u.c"), filepath.Join(libcDir, "stdio", "getchar_u.c"), filepath.Join(libcDir, "stdio", "getdelim.c"), filepath.Join(libcDir, "stdio", "getline.c"), filepath.Join(libcDir, "stdio", "gets.c"), filepath.Join(libcDir, "stdio", "makebuf.c"), filepath.Join(libcDir, "stdio", "perror.c"), filepath.Join(libcDir, "stdio", "printf.c"), filepath.Join(libcDir, "stdio", "putc.c"), filepath.Join(libcDir, "stdio", "putchar.c"), filepath.Join(libcDir, "stdio", "putc_u.c"), filepath.Join(libcDir, "stdio", "putchar_u.c"), filepath.Join(libcDir, "stdio", "puts.c"), filepath.Join(libcDir, "stdio", "refill.c"), filepath.Join(libcDir, "stdio", "remove.c"), filepath.Join(libcDir, "stdio", "rename.c"), filepath.Join(libcDir, "stdio", "rewind.c"), filepath.Join(libcDir, "stdio", "rget.c"), filepath.Join(libcDir, "stdio", "scanf.c"), filepath.Join(libcDir, "stdio", "sccl.c"), filepath.Join(libcDir, "stdio", "setbuf.c"), filepath.Join(libcDir, "stdio", "setbuffer.c"), filepath.Join(libcDir, "stdio", "setlinebuf.c"), filepath.Join(libcDir, "stdio", "setvbuf.c"), filepath.Join(libcDir, "stdio", "snprintf.c"), filepath.Join(libcDir, "stdio", "sprintf.c"), filepath.Join(libcDir, "stdio", "sscanf.c"), filepath.Join(libcDir, "stdio", "stdio.c"), filepath.Join(libcDir, "stdio", "svfiwprintf.c"), filepath.Join(libcDir, "stdio", "svfiwscanf.c"), filepath.Join(libcDir, "stdio", "svfwprintf.c"), filepath.Join(libcDir, "stdio", "svfwscanf.c"), filepath.Join(libcDir, "stdio", "tmpfile.c"), filepath.Join(libcDir, "stdio", "tmpnam.c"), filepath.Join(libcDir, "stdio", "ungetc.c"), filepath.Join(libcDir, "stdio", "vdprintf.c"), filepath.Join(libcDir, "stdio", "vfiwprintf.c"), filepath.Join(libcDir, "stdio", "vfiwscanf.c"), filepath.Join(libcDir, "stdio", "vfwscanf.c"), filepath.Join(libcDir, "stdio", "vprintf.c"), filepath.Join(libcDir, "stdio", "vscanf.c"), filepath.Join(libcDir, "stdio", "vsnprintf.c"), filepath.Join(libcDir, "stdio", "vsprintf.c"), filepath.Join(libcDir, "stdio", "vsscanf.c"), filepath.Join(libcDir, "stdio", "wbuf.c"), filepath.Join(libcDir, "stdio", "wsetup.c"), filepath.Join(libcDir, "stdio", "asprintf.c"), filepath.Join(libcDir, "stdio", "fcloseall.c"), filepath.Join(libcDir, "stdio", "fseeko.c"), filepath.Join(libcDir, "stdio", "ftello.c"), filepath.Join(libcDir, "stdio", "getw.c"), filepath.Join(libcDir, "stdio", "mktemp.c"), filepath.Join(libcDir, "stdio", "putw.c"), filepath.Join(libcDir, "stdio", "vasprintf.c"), filepath.Join(libcDir, "stdio", "asnprintf.c"), filepath.Join(libcDir, "stdio", "clearerr_u.c"), filepath.Join(libcDir, "stdio", "dprintf.c"), filepath.Join(libcDir, "stdio", "feof_u.c"), filepath.Join(libcDir, "stdio", "ferror_u.c"), filepath.Join(libcDir, "stdio", "fflush_u.c"), filepath.Join(libcDir, "stdio", "fgetc_u.c"), filepath.Join(libcDir, "stdio", "fgets_u.c"), filepath.Join(libcDir, "stdio", "fgetwc.c"), filepath.Join(libcDir, "stdio", "fgetwc_u.c"), filepath.Join(libcDir, "stdio", "fgetws.c"), filepath.Join(libcDir, "stdio", "fgetws_u.c"), filepath.Join(libcDir, "stdio", "fileno_u.c"), filepath.Join(libcDir, "stdio", "fmemopen.c"), filepath.Join(libcDir, "stdio", "fopencookie.c"), filepath.Join(libcDir, "stdio", "fpurge.c"), filepath.Join(libcDir, "stdio", "fputc_u.c"), filepath.Join(libcDir, "stdio", "fputs_u.c"), filepath.Join(libcDir, "stdio", "fputwc.c"), filepath.Join(libcDir, "stdio", "fputwc_u.c"), filepath.Join(libcDir, "stdio", "fputws.c"), filepath.Join(libcDir, "stdio", "fputws_u.c"), filepath.Join(libcDir, "stdio", "fread_u.c"), filepath.Join(libcDir, "stdio", "fsetlocking.c"), filepath.Join(libcDir, "stdio", "funopen.c"), filepath.Join(libcDir, "stdio", "fwide.c"), filepath.Join(libcDir, "stdio", "fwprintf.c"), filepath.Join(libcDir, "stdio", "fwrite_u.c"), filepath.Join(libcDir, "stdio", "fwscanf.c"), filepath.Join(libcDir, "stdio", "getwc.c"), filepath.Join(libcDir, "stdio", "getwc_u.c"), filepath.Join(libcDir, "stdio", "getwchar.c"), filepath.Join(libcDir, "stdio", "getwchar_u.c"), filepath.Join(libcDir, "stdio", "open_memstream.c"), filepath.Join(libcDir, "stdio", "putwc.c"), filepath.Join(libcDir, "stdio", "putwc_u.c"), filepath.Join(libcDir, "stdio", "putwchar.c"), filepath.Join(libcDir, "stdio", "putwchar_u.c"), filepath.Join(libcDir, "stdio", "stdio_ext.c"), filepath.Join(libcDir, "stdio", "swprintf.c"), filepath.Join(libcDir, "stdio", "swscanf.c"), filepath.Join(libcDir, "stdio", "ungetwc.c"), filepath.Join(libcDir, "stdio", "vasnprintf.c"), filepath.Join(libcDir, "stdio", "vswprintf.c"), filepath.Join(libcDir, "stdio", "vswscanf.c"), filepath.Join(libcDir, "stdio", "vwprintf.c"), filepath.Join(libcDir, "stdio", "vwscanf.c"), filepath.Join(libcDir, "stdio", "wprintf.c"), filepath.Join(libcDir, "stdio", "wscanf.c"), filepath.Join(libcDir, "string", "bcopy.c"), filepath.Join(libcDir, "string", "bzero.c"), filepath.Join(libcDir, "string", "explicit_bzero.c"), filepath.Join(libcDir, "string", "ffsl.c"), filepath.Join(libcDir, "string", "ffsll.c"), filepath.Join(libcDir, "string", "fls.c"), filepath.Join(libcDir, "string", "flsl.c"), filepath.Join(libcDir, "string", "flsll.c"), filepath.Join(libcDir, "string", "index.c"), filepath.Join(libcDir, "string", "memchr.c"), filepath.Join(libcDir, "string", "memcmp.c"), filepath.Join(libcDir, "string", "memcpy.c"), filepath.Join(libcDir, "string", "memmove.c"), filepath.Join(libcDir, "string", "memset.c"), filepath.Join(libcDir, "string", "rindex.c"), filepath.Join(libcDir, "string", "strcasecmp.c"), filepath.Join(libcDir, "string", "strcat.c"), filepath.Join(libcDir, "string", "strchr.c"), filepath.Join(libcDir, "string", "strcmp.c"), filepath.Join(libcDir, "string", "strcoll.c"), filepath.Join(libcDir, "string", "strcpy.c"), filepath.Join(libcDir, "string", "strcspn.c"), filepath.Join(libcDir, "string", "strdup.c"), filepath.Join(libcDir, "string", "strdup_r.c"), filepath.Join(libcDir, "string", "strerror.c"), filepath.Join(libcDir, "string", "strerror_r.c"), filepath.Join(libcDir, "string", "strlcat.c"), filepath.Join(libcDir, "string", "strlcpy.c"), filepath.Join(libcDir, "string", "strlen.c"), filepath.Join(libcDir, "string", "strlwr.c"), filepath.Join(libcDir, "string", "strncasecmp.c"), filepath.Join(libcDir, "string", "strncat.c"), filepath.Join(libcDir, "string", "strncmp.c"), filepath.Join(libcDir, "string", "strncpy.c"), filepath.Join(libcDir, "string", "strnlen.c"), filepath.Join(libcDir, "string", "strnstr.c"), filepath.Join(libcDir, "string", "strpbrk.c"), filepath.Join(libcDir, "string", "strrchr.c"), filepath.Join(libcDir, "string", "strsep.c"), filepath.Join(libcDir, "string", "strsignal.c"), filepath.Join(libcDir, "string", "strspn.c"), filepath.Join(libcDir, "string", "strtok.c"), filepath.Join(libcDir, "string", "strtok_r.c"), filepath.Join(libcDir, "string", "strupr.c"), filepath.Join(libcDir, "string", "strxfrm.c"), filepath.Join(libcDir, "string", "strstr.c"), filepath.Join(libcDir, "string", "swab.c"), filepath.Join(libcDir, "string", "timingsafe_bcmp.c"), filepath.Join(libcDir, "string", "timingsafe_memcmp.c"), filepath.Join(libcDir, "string", "u_strerr.c"), filepath.Join(libcDir, "string", "wcscat.c"), filepath.Join(libcDir, "string", "wcschr.c"), filepath.Join(libcDir, "string", "wcscmp.c"), filepath.Join(libcDir, "string", "wcscoll.c"), filepath.Join(libcDir, "string", "wcscpy.c"), filepath.Join(libcDir, "string", "wcscspn.c"), filepath.Join(libcDir, "string", "wcslcat.c"), filepath.Join(libcDir, "string", "wcslcpy.c"), filepath.Join(libcDir, "string", "wcslen.c"), filepath.Join(libcDir, "string", "wcsncat.c"), filepath.Join(libcDir, "string", "wcsncmp.c"), filepath.Join(libcDir, "string", "wcsncpy.c"), filepath.Join(libcDir, "string", "wcsnlen.c"), filepath.Join(libcDir, "string", "wcspbrk.c"), filepath.Join(libcDir, "string", "wcsrchr.c"), filepath.Join(libcDir, "string", "wcsspn.c"), filepath.Join(libcDir, "string", "wcsstr.c"), filepath.Join(libcDir, "string", "wcstok.c"), filepath.Join(libcDir, "string", "wcswidth.c"), filepath.Join(libcDir, "string", "wcsxfrm.c"), filepath.Join(libcDir, "string", "wcwidth.c"), filepath.Join(libcDir, "string", "wmemchr.c"), filepath.Join(libcDir, "string", "wmemcmp.c"), filepath.Join(libcDir, "string", "wmemcpy.c"), filepath.Join(libcDir, "string", "wmemmove.c"), filepath.Join(libcDir, "string", "wmemset.c"), filepath.Join(libcDir, "string", "xpg_strerror_r.c"), filepath.Join(libcDir, "string", "bcmp.c"), filepath.Join(libcDir, "string", "memccpy.c"), filepath.Join(libcDir, "string", "mempcpy.c"), filepath.Join(libcDir, "string", "stpcpy.c"), filepath.Join(libcDir, "string", "stpncpy.c"), filepath.Join(libcDir, "string", "strndup.c"), filepath.Join(libcDir, "string", "strcasestr.c"), filepath.Join(libcDir, "string", "strchrnul.c"), filepath.Join(libcDir, "string", "strndup_r.c"), filepath.Join(libcDir, "string", "wcpcpy.c"), filepath.Join(libcDir, "string", "wcpncpy.c"), filepath.Join(libcDir, "string", "wcsdup.c"), filepath.Join(libcDir, "string", "gnu_basename.c"), filepath.Join(libcDir, "string", "memmem.c"), filepath.Join(libcDir, "string", "memrchr.c"), filepath.Join(libcDir, "string", "rawmemchr.c"), filepath.Join(libcDir, "string", "strcasecmp_l.c"), filepath.Join(libcDir, "string", "strcoll_l.c"), filepath.Join(libcDir, "string", "strncasecmp_l.c"), filepath.Join(libcDir, "string", "strverscmp.c"), filepath.Join(libcDir, "string", "strxfrm_l.c"), filepath.Join(libcDir, "string", "wcscasecmp.c"), filepath.Join(libcDir, "string", "wcscasecmp_l.c"), filepath.Join(libcDir, "string", "wcscoll_l.c"), filepath.Join(libcDir, "string", "wcsncasecmp.c"), filepath.Join(libcDir, "string", "wcsncasecmp_l.c"), filepath.Join(libcDir, "string", "wcsxfrm_l.c"), filepath.Join(libcDir, "string", "wmempcpy.c"), filepath.Join(libcDir, "signal", "psignal.c"), filepath.Join(libcDir, "signal", "raise.c"), filepath.Join(libcDir, "signal", "signal.c"), filepath.Join(libcDir, "signal", "sig2str.c"), filepath.Join(libcDir, "time", "asctime.c"), filepath.Join(libcDir, "time", "asctime_r.c"), filepath.Join(libcDir, "time", "clock.c"), filepath.Join(libcDir, "time", "ctime.c"), filepath.Join(libcDir, "time", "ctime_r.c"), filepath.Join(libcDir, "time", "difftime.c"), filepath.Join(libcDir, "time", "gettzinfo.c"), filepath.Join(libcDir, "time", "gmtime.c"), filepath.Join(libcDir, "time", "gmtime_r.c"), filepath.Join(libcDir, "time", "lcltime.c"), filepath.Join(libcDir, "time", "lcltime_r.c"), filepath.Join(libcDir, "time", "mktime.c"), filepath.Join(libcDir, "time", "month_lengths.c"), filepath.Join(libcDir, "time", "strftime.c"), filepath.Join(libcDir, "time", "strptime.c"), filepath.Join(libcDir, "time", "time.c"), filepath.Join(libcDir, "time", "tzcalc_limits.c"), filepath.Join(libcDir, "time", "tzlock.c"), filepath.Join(libcDir, "time", "tzset.c"), filepath.Join(libcDir, "time", "tzset_r.c"), filepath.Join(libcDir, "time", "tzvars.c"), filepath.Join(libcDir, "time", "wcsftime.c"), filepath.Join(libcDir, "locale", "locale.c"), filepath.Join(libcDir, "locale", "localeconv.c"), filepath.Join(libcDir, "locale", "duplocale.c"), filepath.Join(libcDir, "locale", "freelocale.c"), filepath.Join(libcDir, "locale", "lctype.c"), filepath.Join(libcDir, "locale", "lmessages.c"), filepath.Join(libcDir, "locale", "lnumeric.c"), filepath.Join(libcDir, "locale", "lmonetary.c"), filepath.Join(libcDir, "locale", "newlocale.c"), filepath.Join(libcDir, "locale", "nl_langinfo.c"), filepath.Join(libcDir, "locale", "timelocal.c"), filepath.Join(libcDir, "locale", "uselocale.c"), filepath.Join(libcDir, "reent", "closer.c"), filepath.Join(libcDir, "reent", "reent.c"), filepath.Join(libcDir, "reent", "impure.c"), filepath.Join(libcDir, "reent", "fcntlr.c"), filepath.Join(libcDir, "reent", "fstatr.c"), filepath.Join(libcDir, "reent", "getentropyr.c"), filepath.Join(libcDir, "reent", "getreent.c"), filepath.Join(libcDir, "reent", "gettimeofdayr.c"), filepath.Join(libcDir, "reent", "isattyr.c"), filepath.Join(libcDir, "reent", "linkr.c"), filepath.Join(libcDir, "reent", "lseekr.c"), filepath.Join(libcDir, "reent", "mkdirr.c"), filepath.Join(libcDir, "reent", "openr.c"), filepath.Join(libcDir, "reent", "readr.c"), filepath.Join(libcDir, "reent", "renamer.c"), filepath.Join(libcDir, "reent", "signalr.c"), filepath.Join(libcDir, "reent", "signgam.c"), filepath.Join(libcDir, "reent", "sbrkr.c"), filepath.Join(libcDir, "reent", "statr.c"), filepath.Join(libcDir, "reent", "timesr.c"), filepath.Join(libcDir, "reent", "unlinkr.c"), filepath.Join(libcDir, "reent", "writer.c"), filepath.Join(libcDir, "reent", "execr.c"), filepath.Join(libcDir, "errno", "errno.c"), filepath.Join(libcDir, "misc", "__dprintf.c"), filepath.Join(libcDir, "misc", "unctrl.c"), filepath.Join(libcDir, "misc", "ffs.c"), filepath.Join(libcDir, "misc", "init.c"), filepath.Join(libcDir, "misc", "fini.c"), filepath.Join(libcDir, "misc", "lock.c"), filepath.Join(libcDir, "posix", "closedir.c"), filepath.Join(libcDir, "posix", "collate.c"), filepath.Join(libcDir, "posix", "collcmp.c"), filepath.Join(libcDir, "posix", "creat.c"), filepath.Join(libcDir, "posix", "dirfd.c"), // filepath.Join(libcDir, "posix", "fnmatch.c"), filepath.Join(libcDir, "posix", "glob.c"), filepath.Join(libcDir, "posix", "_isatty.c"), filepath.Join(libcDir, "posix", "isatty.c"), filepath.Join(libcDir, "posix", "opendir.c"), filepath.Join(libcDir, "posix", "readdir.c"), filepath.Join(libcDir, "posix", "readdir_r.c"), filepath.Join(libcDir, "posix", "regcomp.c"), filepath.Join(libcDir, "posix", "regerror.c"), filepath.Join(libcDir, "posix", "regexec.c"), filepath.Join(libcDir, "posix", "regfree.c"), filepath.Join(libcDir, "posix", "rewinddir.c"), filepath.Join(libcDir, "posix", "sleep.c"), filepath.Join(libcDir, "posix", "usleep.c"), filepath.Join(libcDir, "posix", "telldir.c"), filepath.Join(libcDir, "posix", "ftw.c"), filepath.Join(libcDir, "posix", "nftw.c"), filepath.Join(libcDir, "posix", "scandir.c"), filepath.Join(libcDir, "posix", "seekdir.c"), filepath.Join(libcDir, "posix", "execl.c"), filepath.Join(libcDir, "posix", "execle.c"), filepath.Join(libcDir, "posix", "execlp.c"), filepath.Join(libcDir, "posix", "execv.c"), filepath.Join(libcDir, "posix", "execve.c"), filepath.Join(libcDir, "posix", "execvp.c"), filepath.Join(libcDir, "posix", "wordexp.c"), filepath.Join(libcDir, "posix", "wordfree.c"), filepath.Join(libcDir, "posix", "popen.c"), filepath.Join(libcDir, "posix", "posix_spawn.c"), filepath.Join(libcDir, "syscalls", "sysclose.c"), filepath.Join(libcDir, "syscalls", "sysfcntl.c"), filepath.Join(libcDir, "syscalls", "sysfstat.c"), filepath.Join(libcDir, "syscalls", "sysgetentropy.c"), filepath.Join(libcDir, "syscalls", "sysgetpid.c"), filepath.Join(libcDir, "syscalls", "sysgettod.c"), filepath.Join(libcDir, "syscalls", "sysisatty.c"), filepath.Join(libcDir, "syscalls", "syskill.c"), filepath.Join(libcDir, "syscalls", "syslink.c"), filepath.Join(libcDir, "syscalls", "syslseek.c"), filepath.Join(libcDir, "syscalls", "sysopen.c"), filepath.Join(libcDir, "syscalls", "sysread.c"), filepath.Join(libcDir, "syscalls", "syssbrk.c"), filepath.Join(libcDir, "syscalls", "sysstat.c"), filepath.Join(libcDir, "syscalls", "systimes.c"), filepath.Join(libcDir, "syscalls", "sysunlink.c"), filepath.Join(libcDir, "syscalls", "syswrite.c"), filepath.Join(libcDir, "syscalls", "sysexecve.c"), filepath.Join(libcDir, "syscalls", "sysfork.c"), filepath.Join(libcDir, "syscalls", "syswait.c"), filepath.Join(libcDir, "iconv", "ces", "utf-8.c"), filepath.Join(libcDir, "iconv", "ces", "utf-16.c"), filepath.Join(libcDir, "iconv", "ces", "ucs-2.c"), filepath.Join(libcDir, "iconv", "ces", "us-ascii.c"), filepath.Join(libcDir, "iconv", "ces", "ucs-4.c"), filepath.Join(libcDir, "iconv", "ces", "ucs-2-internal.c"), filepath.Join(libcDir, "iconv", "ces", "ucs-4-internal.c"), filepath.Join(libcDir, "iconv", "ces", "cesbi.c"), filepath.Join(libcDir, "iconv", "ces", "table.c"), filepath.Join(libcDir, "iconv", "ces", "table-pcs.c"), filepath.Join(libcDir, "iconv", "ces", "euc.c"), filepath.Join(libcDir, "iconv", "ccs", "ccsbi.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_10.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_13.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_14.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_15.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_1.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_2.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_3.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_4.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_5.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_6.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_7.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_8.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_9.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_11.c"), filepath.Join(libcDir, "iconv", "ccs", "win_1250.c"), filepath.Join(libcDir, "iconv", "ccs", "win_1252.c"), filepath.Join(libcDir, "iconv", "ccs", "win_1254.c"), filepath.Join(libcDir, "iconv", "ccs", "win_1256.c"), filepath.Join(libcDir, "iconv", "ccs", "win_1258.c"), filepath.Join(libcDir, "iconv", "ccs", "win_1251.c"), filepath.Join(libcDir, "iconv", "ccs", "win_1253.c"), filepath.Join(libcDir, "iconv", "ccs", "win_1255.c"), filepath.Join(libcDir, "iconv", "ccs", "win_1257.c"), filepath.Join(libcDir, "iconv", "ccs", "koi8_r.c"), filepath.Join(libcDir, "iconv", "ccs", "koi8_u.c"), filepath.Join(libcDir, "iconv", "ccs", "koi8_ru.c"), filepath.Join(libcDir, "iconv", "ccs", "koi8_uni.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_ir_111.c"), filepath.Join(libcDir, "iconv", "ccs", "big5.c"), filepath.Join(libcDir, "iconv", "ccs", "cp775.c"), filepath.Join(libcDir, "iconv", "ccs", "cp850.c"), filepath.Join(libcDir, "iconv", "ccs", "cp852.c"), filepath.Join(libcDir, "iconv", "ccs", "cp855.c"), filepath.Join(libcDir, "iconv", "ccs", "cp866.c"), filepath.Join(libcDir, "iconv", "ccs", "jis_x0212_1990.c"), filepath.Join(libcDir, "iconv", "ccs", "jis_x0201_1976.c"), filepath.Join(libcDir, "iconv", "ccs", "jis_x0208_1990.c"), filepath.Join(libcDir, "iconv", "ccs", "ksx1001.c"), filepath.Join(libcDir, "iconv", "ccs", "cns11643_plane1.c"), filepath.Join(libcDir, "iconv", "ccs", "cns11643_plane2.c"), filepath.Join(libcDir, "iconv", "ccs", "cns11643_plane14.c"), filepath.Join(libcDir, "iconv", "lib", "aliasesi.c"), filepath.Join(libcDir, "iconv", "lib", "ucsconv.c"), filepath.Join(libcDir, "iconv", "lib", "nullconv.c"), filepath.Join(libcDir, "iconv", "lib", "iconv.c"), filepath.Join(libcDir, "iconv", "lib", "aliasesbi.c"), filepath.Join(libcDir, "iconv", "lib", "iconvnls.c"), filepath.Join(libcDir, "ssp", "chk_fail.c"), filepath.Join(libcDir, "ssp", "stack_protector.c"), filepath.Join(libcDir, "ssp", "memcpy_chk.c"), filepath.Join(libcDir, "ssp", "memmove_chk.c"), filepath.Join(libcDir, "ssp", "mempcpy_chk.c"), filepath.Join(libcDir, "ssp", "memset_chk.c"), filepath.Join(libcDir, "ssp", "stpcpy_chk.c"), filepath.Join(libcDir, "ssp", "stpncpy_chk.c"), filepath.Join(libcDir, "ssp", "strcat_chk.c"), filepath.Join(libcDir, "ssp", "strcpy_chk.c"), filepath.Join(libcDir, "ssp", "strncat_chk.c"), filepath.Join(libcDir, "ssp", "strncpy_chk.c"), filepath.Join(libcDir, "ssp", "gets_chk.c"), filepath.Join(libcDir, "ssp", "snprintf_chk.c"), filepath.Join(libcDir, "ssp", "sprintf_chk.c"), filepath.Join(libcDir, "ssp", "vsnprintf_chk.c"), filepath.Join(libcDir, "ssp", "vsprintf_chk.c"), filepath.Join(libcDir, "machine", "riscv", "memmove.S"), filepath.Join(libcDir, "machine", "riscv", "memmove-stub.c"), filepath.Join(libcDir, "machine", "riscv", "memset.S"), filepath.Join(libcDir, "machine", "riscv", "memcpy-asm.S"), filepath.Join(libcDir, "machine", "riscv", "memcpy.c"), filepath.Join(libcDir, "machine", "riscv", "strlen.c"), filepath.Join(libcDir, "machine", "riscv", "strcpy.c"), filepath.Join(libcDir, "machine", "riscv", "strcmp.S"), filepath.Join(libcDir, "machine", "riscv", "setjmp.S"), filepath.Join(libcDir, "machine", "riscv", "ieeefp.c"), filepath.Join(libcDir, "machine", "riscv", "ffs.c"), }, CFlags: []string{ "-DHAVE_CONFIG_H", "-D_LIBC", "-DHAVE_NANOSLEEP", "-D__NO_SYSCALLS__", "-D_NO_GLOB", "-D_NO_EXECVE", "-D_NO_GETLOGIN", "-D_NO_GETPWENT", "-D_NO_GETUT", "-D_NO_GETPASS", "-D_NO_SIGSET", "-D_NO_WORDEXP", "-D_NO_POPEN", "-D_NO_POSIX_SPAWN", "-DHAVE_FCNTL", "-DHAVE_BLKSIZE", "-DHAVE_OPENDIR", "-DHAVE_RENAME", "-DGETREENT_PROVIDED", "-DSIGNAL_PROVIDED", "-D__ESP__", "-isystem" + filepath.Join(libcDir, "include"), "-I" + filepath.Join(baseDir, "newlib"), "-I" + libcDir, "-I" + filepath.Join(libcDir, "riscv"), "-I" + filepath.Join(baseDir, "libgloss"), // TODO(MeteorsLiu): support riscv "-idirafter" + filepath.Join(baseDir, "include"), "-I" + filepath.Join(libcDir, "ssp"), "-I" + filepath.Join(libcDir, "locale"), "-I" + filepath.Join(libcDir, "errno"), "-I" + filepath.Join(libcDir, "syscalls"), "-I" + filepath.Join(libcDir, "iconv", "lib"), "-I" + filepath.Join(libcDir, "argz"), "-I" + filepath.Join(libcDir, "stdio"), "-I" + filepath.Join(libcDir, "iconv", "ces"), "-I" + filepath.Join(libcDir, "iconv", "ccs"), "-I" + filepath.Join(libcDir, "ctype"), "-I" + filepath.Join(libcDir, "signal"), "-I" + filepath.Join(libcDir, "time"), "-I" + filepath.Join(libcDir, "reent"), "-I" + filepath.Join(libcDir, "machine", "riscv", "include"), "-I" + filepath.Join(libcDir, "string"), "-I" + filepath.Join(libcDir, "iconv", "ces"), "-I" + filepath.Join(libcDir, "search"), "-I" + filepath.Join(libcDir, "misc"), "-I" + filepath.Join(libcDir, "posix"), "-I" + filepath.Join(libcDir, "stdlib"), }, LDFlags: _libcLDFlags, CCFlags: withDefaultCCFlags([]string{ "-fno-builtin", "-Wno-implicit-function-declaration", "-Wno-int-conversion", "-Wno-unused-command-line-argument", }), }, }, } } func getNewlibESP32ConfigXtensa(baseDir, target string) *compile.CompileConfig { libcDir := filepath.Join(baseDir, "newlib", "libc") libcIncludeDir := []string{ "-I" + filepath.Join(libcDir, "include"), "-I" + filepath.Join(baseDir, "newlib"), "-I" + libcDir, } return &compile.CompileConfig{ Url: _newlibUrl, Name: "newlib-esp32", ArchiveSrcDir: _archiveInternalSrcDir, LibcCFlags: libcIncludeDir, Groups: []compile.CompileGroup{ { OutputFileName: fmt.Sprintf("libcrt0-%s.a", target), Files: []string{ filepath.Join(baseDir, "libgloss", "xtensa", "clibrary_init.c"), filepath.Join(baseDir, "libgloss", "xtensa", "syscalls.c"), filepath.Join(baseDir, "libgloss", "xtensa", "boards", "esp32", "board.c"), filepath.Join(baseDir, "libgloss", "xtensa", "crt1-boards.S"), filepath.Join(baseDir, "libgloss", "xtensa", "sleep.S"), filepath.Join(baseDir, "libgloss", "xtensa", "window-vectors.S"), }, CFlags: []string{ "-DHAVE_CONFIG_H", "-D_LIBGLOSS", "-isystem" + filepath.Join(libcDir, "include"), "-I" + filepath.Join(baseDir, "libgloss"), // TODO(MeteorsLiu): support riscv "-I" + filepath.Join(baseDir, "libgloss", "xtensa", "include"), "-I" + filepath.Join(baseDir, "libgloss", "xtensa", "boards", "esp32", "include"), }, LDFlags: _libcLDFlags, CCFlags: _libcCCFlags, }, { OutputFileName: fmt.Sprintf("libgloss-%s.a", target), Files: []string{ filepath.Join(baseDir, "libgloss", "libnosys", "chown.c"), filepath.Join(baseDir, "libgloss", "libnosys", "close.c"), filepath.Join(baseDir, "libgloss", "libnosys", "environ.c"), filepath.Join(baseDir, "libgloss", "libnosys", "errno.c"), filepath.Join(baseDir, "libgloss", "libnosys", "execve.c"), filepath.Join(baseDir, "libgloss", "libnosys", "fork.c"), filepath.Join(baseDir, "libgloss", "libnosys", "fstat.c"), filepath.Join(baseDir, "libgloss", "libnosys", "getpid.c"), filepath.Join(baseDir, "libgloss", "libnosys", "gettod.c"), filepath.Join(baseDir, "libgloss", "libnosys", "isatty.c"), filepath.Join(baseDir, "libgloss", "libnosys", "kill.c"), filepath.Join(baseDir, "libgloss", "libnosys", "link.c"), filepath.Join(baseDir, "libgloss", "libnosys", "lseek.c"), filepath.Join(baseDir, "libgloss", "libnosys", "open.c"), filepath.Join(baseDir, "libgloss", "libnosys", "read.c"), filepath.Join(baseDir, "libgloss", "libnosys", "readlink.c"), filepath.Join(baseDir, "libgloss", "libnosys", "sbrk.c"), filepath.Join(baseDir, "libgloss", "libnosys", "stat.c"), filepath.Join(baseDir, "libgloss", "libnosys", "symlink.c"), filepath.Join(baseDir, "libgloss", "libnosys", "times.c"), filepath.Join(baseDir, "libgloss", "libnosys", "unlink.c"), filepath.Join(baseDir, "libgloss", "libnosys", "wait.c"), filepath.Join(baseDir, "libgloss", "libnosys", "write.c"), filepath.Join(baseDir, "libgloss", "libnosys", "getentropy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "_exit.c"), filepath.Join(baseDir, "libgloss", "libnosys", "getreent.c"), filepath.Join(baseDir, "libgloss", "libnosys", "time.c"), filepath.Join(baseDir, "libgloss", "libnosys", "fcntl.c"), filepath.Join(baseDir, "libgloss", "libnosys", "chdir.c"), filepath.Join(baseDir, "libgloss", "libnosys", "chmod.c"), filepath.Join(baseDir, "libgloss", "libnosys", "closedir.c"), filepath.Join(baseDir, "libgloss", "libnosys", "dirfd.c"), filepath.Join(baseDir, "libgloss", "libnosys", "ftw.c"), filepath.Join(baseDir, "libgloss", "libnosys", "getcwd.c"), filepath.Join(baseDir, "libgloss", "libnosys", "mkdir.c"), filepath.Join(baseDir, "libgloss", "libnosys", "nftw.c"), filepath.Join(baseDir, "libgloss", "libnosys", "opendir.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pathconf.c"), filepath.Join(baseDir, "libgloss", "libnosys", "readdir.c"), filepath.Join(baseDir, "libgloss", "libnosys", "rewinddir.c"), filepath.Join(baseDir, "libgloss", "libnosys", "scandir.c"), filepath.Join(baseDir, "libgloss", "libnosys", "seekdir.c"), filepath.Join(baseDir, "libgloss", "libnosys", "telldir.c"), filepath.Join(baseDir, "libgloss", "libnosys", "rename.c"), filepath.Join(baseDir, "libgloss", "libnosys", "_pthread_cleanup_pop.c"), filepath.Join(baseDir, "libgloss", "libnosys", "_pthread_cleanup_pop_restore.c"), filepath.Join(baseDir, "libgloss", "libnosys", "_pthread_cleanup_push.c"), filepath.Join(baseDir, "libgloss", "libnosys", "_pthread_cleanup_push_defer.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_atfork.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_destroy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_getaffinity_np.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_getdetachstate.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_getguardsize.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_getinheritsched.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_getschedparam.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_getschedpolicy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_getscope.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_getstack.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_getstackaddr.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_getstacksize.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_init.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_setaffinity_np.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_setdetachstate.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_setguardsize.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_setinheritsched.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_setschedparam.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_setschedpolicy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_setscope.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_setstack.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_setstackaddr.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_attr_setstacksize.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_barrier_destroy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_barrier_init.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_barrier_wait.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_barrierattr_destroy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_barrierattr_getpshared.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_barrierattr_init.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_barrierattr_setpshared.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_cancel.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_cond_broadcast.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_cond_clockwait.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_cond_destroy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_cond_init.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_cond_signal.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_cond_timedwait.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_cond_wait.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_condattr_destroy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_condattr_getclock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_condattr_getpshared.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_condattr_init.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_condattr_setclock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_condattr_setpshared.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_create.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_detach.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_equal.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_exit.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_getaffinity_np.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_getattr_np.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_getconcurrency.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_getcpuclockid.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_getname_np.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_getschedparam.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_getspecific.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_join.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_key_create.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_key_delete.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutex_clocklock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutex_destroy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutex_getprioceiling.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutex_init.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutex_lock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutex_setprioceiling.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutex_timedlock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutex_trylock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutex_unlock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutexattr_destroy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutexattr_getprioceiling.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutexattr_getprotocol.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutexattr_getpshared.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutexattr_gettype.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutexattr_init.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutexattr_setprioceiling.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutexattr_setprotocol.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutexattr_setpshared.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_mutexattr_settype.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_once.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlock_clockrdlock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlock_clockwrlock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlock_destroy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlock_init.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlock_rdlock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlock_timedrdlock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlock_timedwrlock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlock_tryrdlock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlock_trywrlock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlock_unlock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlock_wrlock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlockattr_destroy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlockattr_getpshared.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlockattr_init.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_rwlockattr_setpshared.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_self.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_setaffinity_np.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_setcancelstate.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_setcanceltype.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_setconcurrency.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_setname_np.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_setschedparam.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_setschedprio.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_setspecific.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_spin_destroy.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_spin_init.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_spin_lock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_spin_trylock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_spin_unlock.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_testcancel.c"), filepath.Join(baseDir, "libgloss", "libnosys", "pthread_yield.c"), }, CFlags: []string{ "-D__NO_SYSCALLS__", "-D_NO_GETUT", "-DHAVE_CONFIG_H", "-D_LIBC", "-D_NO_GLOB", "-D_NO_GETPWENT", "-D_NO_SIGSET", "-D__ESP__", "-D_NO_GETPASS", "-D_NO_POSIX_SPAWN", "-DHAVE_FCNTL", "-DHAVE_BLKSIZE", "-DHAVE_OPENDIR", "-D_GNU_SOURCE", "-D_LIBGLOSS", "-D_NO_EXECVE", "-D_NO_GETLOGIN", "-D_NO_WORDEXP", "-D_NO_POPEN", "-DHAVE_RENAME", "-DGETREENT_PROVIDED", "-DSIGNAL_PROVIDED", "-isystem" + filepath.Join(libcDir, "include"), "-I" + libcDir, "-I" + filepath.Join(libcDir, "xtensa"), "-I" + filepath.Join(baseDir, "libgloss"), // TODO(MeteorsLiu): support riscv "-I" + filepath.Join(baseDir, "libgloss", "xtensa", "include"), "-I" + filepath.Join(baseDir, "libgloss", "xtensa", "boards", "esp32", "include"), }, LDFlags: _libcLDFlags, CCFlags: _libcCCFlags, }, { OutputFileName: fmt.Sprintf("libc-%s.a", target), Files: []string{ filepath.Join(libcDir, "argz", "argz_add.c"), filepath.Join(libcDir, "argz", "argz_add_sep.c"), filepath.Join(libcDir, "argz", "argz_append.c"), filepath.Join(libcDir, "argz", "argz_count.c"), filepath.Join(libcDir, "argz", "argz_create.c"), filepath.Join(libcDir, "argz", "argz_create_sep.c"), filepath.Join(libcDir, "argz", "argz_delete.c"), filepath.Join(libcDir, "argz", "argz_extract.c"), filepath.Join(libcDir, "argz", "argz_insert.c"), filepath.Join(libcDir, "argz", "argz_next.c"), filepath.Join(libcDir, "argz", "argz_replace.c"), filepath.Join(libcDir, "argz", "argz_stringify.c"), filepath.Join(libcDir, "argz", "buf_findstr.c"), filepath.Join(libcDir, "argz", "envz_entry.c"), filepath.Join(libcDir, "argz", "envz_get.c"), filepath.Join(libcDir, "argz", "envz_add.c"), filepath.Join(libcDir, "argz", "envz_remove.c"), filepath.Join(libcDir, "argz", "envz_merge.c"), filepath.Join(libcDir, "argz", "envz_strip.c"), filepath.Join(libcDir, "stdlib", "__adjust.c"), filepath.Join(libcDir, "stdlib", "__atexit.c"), filepath.Join(libcDir, "stdlib", "__call_atexit.c"), filepath.Join(libcDir, "stdlib", "__exp10.c"), filepath.Join(libcDir, "stdlib", "__ten_mu.c"), filepath.Join(libcDir, "stdlib", "_Exit.c"), filepath.Join(libcDir, "stdlib", "abort.c"), filepath.Join(libcDir, "stdlib", "abs.c"), filepath.Join(libcDir, "stdlib", "aligned_alloc.c"), filepath.Join(libcDir, "stdlib", "assert.c"), filepath.Join(libcDir, "stdlib", "atexit.c"), filepath.Join(libcDir, "stdlib", "atof.c"), filepath.Join(libcDir, "stdlib", "atoff.c"), filepath.Join(libcDir, "stdlib", "atoi.c"), filepath.Join(libcDir, "stdlib", "atol.c"), filepath.Join(libcDir, "stdlib", "calloc.c"), filepath.Join(libcDir, "stdlib", "callocr.c"), filepath.Join(libcDir, "stdlib", "cfreer.c"), filepath.Join(libcDir, "stdlib", "div.c"), filepath.Join(libcDir, "stdlib", "dtoa.c"), filepath.Join(libcDir, "stdlib", "dtoastub.c"), filepath.Join(libcDir, "stdlib", "environ.c"), filepath.Join(libcDir, "stdlib", "envlock.c"), filepath.Join(libcDir, "stdlib", "eprintf.c"), filepath.Join(libcDir, "stdlib", "exit.c"), filepath.Join(libcDir, "stdlib", "freer.c"), filepath.Join(libcDir, "stdlib", "gdtoa-gethex.c"), filepath.Join(libcDir, "stdlib", "gdtoa-hexnan.c"), filepath.Join(libcDir, "stdlib", "getenv.c"), filepath.Join(libcDir, "stdlib", "getenv_r.c"), filepath.Join(libcDir, "stdlib", "imaxabs.c"), filepath.Join(libcDir, "stdlib", "imaxdiv.c"), filepath.Join(libcDir, "stdlib", "itoa.c"), filepath.Join(libcDir, "stdlib", "labs.c"), filepath.Join(libcDir, "stdlib", "ldiv.c"), filepath.Join(libcDir, "stdlib", "ldtoa.c"), filepath.Join(libcDir, "stdlib", "gdtoa-ldtoa.c"), filepath.Join(libcDir, "stdlib", "gdtoa-gdtoa.c"), filepath.Join(libcDir, "stdlib", "gdtoa-dmisc.c"), filepath.Join(libcDir, "stdlib", "gdtoa-gmisc.c"), filepath.Join(libcDir, "stdlib", "mallinfor.c"), filepath.Join(libcDir, "stdlib", "malloc.c"), filepath.Join(libcDir, "stdlib", "mallocr.c"), filepath.Join(libcDir, "stdlib", "mallstatsr.c"), filepath.Join(libcDir, "stdlib", "mblen.c"), filepath.Join(libcDir, "stdlib", "mblen_r.c"), filepath.Join(libcDir, "stdlib", "mbstowcs.c"), filepath.Join(libcDir, "stdlib", "mbstowcs_r.c"), filepath.Join(libcDir, "stdlib", "mbtowc.c"), filepath.Join(libcDir, "stdlib", "mbtowc_r.c"), filepath.Join(libcDir, "stdlib", "mlock.c"), filepath.Join(libcDir, "stdlib", "mprec.c"), filepath.Join(libcDir, "stdlib", "msizer.c"), filepath.Join(libcDir, "stdlib", "mstats.c"), filepath.Join(libcDir, "stdlib", "on_exit_args.c"), filepath.Join(libcDir, "stdlib", "quick_exit.c"), filepath.Join(libcDir, "stdlib", "rand.c"), filepath.Join(libcDir, "stdlib", "rand_r.c"), filepath.Join(libcDir, "stdlib", "random.c"), filepath.Join(libcDir, "stdlib", "realloc.c"), filepath.Join(libcDir, "stdlib", "reallocarray.c"), filepath.Join(libcDir, "stdlib", "reallocf.c"), filepath.Join(libcDir, "stdlib", "reallocr.c"), filepath.Join(libcDir, "stdlib", "sb_charsets.c"), filepath.Join(libcDir, "stdlib", "strtod.c"), filepath.Join(libcDir, "stdlib", "strtoimax.c"), filepath.Join(libcDir, "stdlib", "strtol.c"), filepath.Join(libcDir, "stdlib", "strtoul.c"), filepath.Join(libcDir, "stdlib", "strtoumax.c"), filepath.Join(libcDir, "stdlib", "utoa.c"), filepath.Join(libcDir, "stdlib", "wcstod.c"), filepath.Join(libcDir, "stdlib", "wcstoimax.c"), filepath.Join(libcDir, "stdlib", "wcstol.c"), filepath.Join(libcDir, "stdlib", "wcstoul.c"), filepath.Join(libcDir, "stdlib", "wcstoumax.c"), filepath.Join(libcDir, "stdlib", "wcstombs.c"), filepath.Join(libcDir, "stdlib", "wcstombs_r.c"), filepath.Join(libcDir, "stdlib", "wctomb.c"), filepath.Join(libcDir, "stdlib", "wctomb_r.c"), filepath.Join(libcDir, "stdlib", "strtodg.c"), filepath.Join(libcDir, "stdlib", "strtold.c"), filepath.Join(libcDir, "stdlib", "strtorx.c"), filepath.Join(libcDir, "stdlib", "wcstold.c"), filepath.Join(libcDir, "stdlib", "arc4random.c"), filepath.Join(libcDir, "stdlib", "arc4random_uniform.c"), filepath.Join(libcDir, "stdlib", "cxa_atexit.c"), filepath.Join(libcDir, "stdlib", "cxa_finalize.c"), filepath.Join(libcDir, "stdlib", "drand48.c"), filepath.Join(libcDir, "stdlib", "ecvtbuf.c"), filepath.Join(libcDir, "stdlib", "efgcvt.c"), filepath.Join(libcDir, "stdlib", "erand48.c"), filepath.Join(libcDir, "stdlib", "jrand48.c"), filepath.Join(libcDir, "stdlib", "lcong48.c"), filepath.Join(libcDir, "stdlib", "lrand48.c"), filepath.Join(libcDir, "stdlib", "mrand48.c"), filepath.Join(libcDir, "stdlib", "msize.c"), filepath.Join(libcDir, "stdlib", "mtrim.c"), filepath.Join(libcDir, "stdlib", "nrand48.c"), filepath.Join(libcDir, "stdlib", "rand48.c"), filepath.Join(libcDir, "stdlib", "seed48.c"), filepath.Join(libcDir, "stdlib", "srand48.c"), filepath.Join(libcDir, "stdlib", "strtoll.c"), filepath.Join(libcDir, "stdlib", "strtoll_r.c"), filepath.Join(libcDir, "stdlib", "strtoull.c"), filepath.Join(libcDir, "stdlib", "strtoull_r.c"), filepath.Join(libcDir, "stdlib", "wcstoll.c"), filepath.Join(libcDir, "stdlib", "wcstoll_r.c"), filepath.Join(libcDir, "stdlib", "wcstoull.c"), filepath.Join(libcDir, "stdlib", "wcstoull_r.c"), filepath.Join(libcDir, "stdlib", "atoll.c"), filepath.Join(libcDir, "stdlib", "llabs.c"), filepath.Join(libcDir, "stdlib", "lldiv.c"), filepath.Join(libcDir, "stdlib", "a64l.c"), filepath.Join(libcDir, "stdlib", "btowc.c"), filepath.Join(libcDir, "stdlib", "getopt.c"), filepath.Join(libcDir, "stdlib", "getsubopt.c"), filepath.Join(libcDir, "stdlib", "l64a.c"), filepath.Join(libcDir, "stdlib", "malign.c"), filepath.Join(libcDir, "stdlib", "malignr.c"), filepath.Join(libcDir, "stdlib", "malloptr.c"), filepath.Join(libcDir, "stdlib", "mbrlen.c"), filepath.Join(libcDir, "stdlib", "mbrtowc.c"), filepath.Join(libcDir, "stdlib", "mbsinit.c"), filepath.Join(libcDir, "stdlib", "mbsnrtowcs.c"), filepath.Join(libcDir, "stdlib", "mbsrtowcs.c"), filepath.Join(libcDir, "stdlib", "on_exit.c"), filepath.Join(libcDir, "stdlib", "pvallocr.c"), filepath.Join(libcDir, "stdlib", "valloc.c"), filepath.Join(libcDir, "stdlib", "vallocr.c"), filepath.Join(libcDir, "stdlib", "wcrtomb.c"), filepath.Join(libcDir, "stdlib", "wcsnrtombs.c"), filepath.Join(libcDir, "stdlib", "wcsrtombs.c"), filepath.Join(libcDir, "stdlib", "wctob.c"), filepath.Join(libcDir, "stdlib", "putenv.c"), filepath.Join(libcDir, "stdlib", "putenv_r.c"), filepath.Join(libcDir, "stdlib", "setenv.c"), filepath.Join(libcDir, "stdlib", "setenv_r.c"), filepath.Join(libcDir, "stdlib", "rpmatch.c"), filepath.Join(libcDir, "stdlib", "system.c"), filepath.Join(libcDir, "ctype", "ctype_.c"), filepath.Join(libcDir, "ctype", "isalnum.c"), filepath.Join(libcDir, "ctype", "isalpha.c"), filepath.Join(libcDir, "ctype", "iscntrl.c"), filepath.Join(libcDir, "ctype", "isdigit.c"), filepath.Join(libcDir, "ctype", "islower.c"), filepath.Join(libcDir, "ctype", "isupper.c"), filepath.Join(libcDir, "ctype", "isprint.c"), filepath.Join(libcDir, "ctype", "ispunct.c"), filepath.Join(libcDir, "ctype", "isspace.c"), filepath.Join(libcDir, "ctype", "isxdigit.c"), filepath.Join(libcDir, "ctype", "tolower.c"), filepath.Join(libcDir, "ctype", "toupper.c"), filepath.Join(libcDir, "ctype", "categories.c"), filepath.Join(libcDir, "ctype", "isalnum_l.c"), filepath.Join(libcDir, "ctype", "isalpha_l.c"), filepath.Join(libcDir, "ctype", "isascii.c"), filepath.Join(libcDir, "ctype", "isascii_l.c"), filepath.Join(libcDir, "ctype", "isblank.c"), filepath.Join(libcDir, "ctype", "isblank_l.c"), filepath.Join(libcDir, "ctype", "iscntrl_l.c"), filepath.Join(libcDir, "ctype", "isdigit_l.c"), filepath.Join(libcDir, "ctype", "islower_l.c"), filepath.Join(libcDir, "ctype", "isupper_l.c"), filepath.Join(libcDir, "ctype", "isprint_l.c"), filepath.Join(libcDir, "ctype", "ispunct_l.c"), filepath.Join(libcDir, "ctype", "isspace_l.c"), filepath.Join(libcDir, "ctype", "iswalnum.c"), filepath.Join(libcDir, "ctype", "iswalnum_l.c"), filepath.Join(libcDir, "ctype", "iswalpha.c"), filepath.Join(libcDir, "ctype", "iswalpha_l.c"), filepath.Join(libcDir, "ctype", "iswblank.c"), filepath.Join(libcDir, "ctype", "iswblank_l.c"), filepath.Join(libcDir, "ctype", "iswcntrl.c"), filepath.Join(libcDir, "ctype", "iswcntrl_l.c"), filepath.Join(libcDir, "ctype", "iswctype.c"), filepath.Join(libcDir, "ctype", "iswctype_l.c"), filepath.Join(libcDir, "ctype", "iswdigit.c"), filepath.Join(libcDir, "ctype", "iswdigit_l.c"), filepath.Join(libcDir, "ctype", "iswgraph.c"), filepath.Join(libcDir, "ctype", "iswgraph_l.c"), filepath.Join(libcDir, "ctype", "iswlower.c"), filepath.Join(libcDir, "ctype", "iswlower_l.c"), filepath.Join(libcDir, "ctype", "iswprint.c"), filepath.Join(libcDir, "ctype", "iswprint_l.c"), filepath.Join(libcDir, "ctype", "iswpunct.c"), filepath.Join(libcDir, "ctype", "iswpunct_l.c"), filepath.Join(libcDir, "ctype", "iswspace.c"), filepath.Join(libcDir, "ctype", "iswspace_l.c"), filepath.Join(libcDir, "ctype", "iswupper.c"), filepath.Join(libcDir, "ctype", "iswupper_l.c"), filepath.Join(libcDir, "ctype", "iswxdigit.c"), filepath.Join(libcDir, "ctype", "iswxdigit_l.c"), filepath.Join(libcDir, "ctype", "isxdigit_l.c"), filepath.Join(libcDir, "ctype", "jp2uc.c"), filepath.Join(libcDir, "ctype", "toascii.c"), filepath.Join(libcDir, "ctype", "toascii_l.c"), filepath.Join(libcDir, "ctype", "tolower_l.c"), filepath.Join(libcDir, "ctype", "toupper_l.c"), filepath.Join(libcDir, "ctype", "towctrans.c"), filepath.Join(libcDir, "ctype", "towctrans_l.c"), filepath.Join(libcDir, "ctype", "towlower.c"), filepath.Join(libcDir, "ctype", "towlower_l.c"), filepath.Join(libcDir, "ctype", "towupper.c"), filepath.Join(libcDir, "ctype", "towupper_l.c"), filepath.Join(libcDir, "ctype", "wctrans.c"), filepath.Join(libcDir, "ctype", "wctrans_l.c"), filepath.Join(libcDir, "ctype", "wctype.c"), filepath.Join(libcDir, "ctype", "wctype_l.c"), filepath.Join(libcDir, "search", "bsearch.c"), filepath.Join(libcDir, "search", "ndbm.c"), filepath.Join(libcDir, "search", "qsort.c"), filepath.Join(libcDir, "search", "hash.c"), filepath.Join(libcDir, "search", "hash_bigkey.c"), filepath.Join(libcDir, "search", "hash_buf.c"), filepath.Join(libcDir, "search", "hash_func.c"), filepath.Join(libcDir, "search", "hash_log2.c"), filepath.Join(libcDir, "search", "hash_page.c"), filepath.Join(libcDir, "search", "hcreate.c"), filepath.Join(libcDir, "search", "hcreate_r.c"), filepath.Join(libcDir, "search", "tdelete.c"), filepath.Join(libcDir, "search", "tdestroy.c"), filepath.Join(libcDir, "search", "tfind.c"), filepath.Join(libcDir, "search", "tsearch.c"), filepath.Join(libcDir, "search", "twalk.c"), filepath.Join(libcDir, "search", "bsd_qsort_r.c"), filepath.Join(libcDir, "search", "qsort_r.c"), filepath.Join(libcDir, "stdio", "nano-vfprintf_float.c"), filepath.Join(libcDir, "stdio", "nano-svfprintf.c"), filepath.Join(libcDir, "stdio", "nano-svfscanf.c"), filepath.Join(libcDir, "stdio", "nano-vfprintf.c"), filepath.Join(libcDir, "stdio", "nano-vfprintf_i.c"), filepath.Join(libcDir, "stdio", "nano-vfscanf.c"), filepath.Join(libcDir, "stdio", "nano-vfscanf_i.c"), filepath.Join(libcDir, "stdio", "nano-vfscanf_float.c"), filepath.Join(libcDir, "stdio", "clearerr.c"), filepath.Join(libcDir, "stdio", "fclose.c"), filepath.Join(libcDir, "stdio", "fdopen.c"), filepath.Join(libcDir, "stdio", "feof.c"), filepath.Join(libcDir, "stdio", "ferror.c"), filepath.Join(libcDir, "stdio", "fflush.c"), filepath.Join(libcDir, "stdio", "fgetc.c"), filepath.Join(libcDir, "stdio", "fgetpos.c"), filepath.Join(libcDir, "stdio", "fgets.c"), filepath.Join(libcDir, "stdio", "fileno.c"), filepath.Join(libcDir, "stdio", "findfp.c"), filepath.Join(libcDir, "stdio", "flags.c"), filepath.Join(libcDir, "stdio", "fopen.c"), filepath.Join(libcDir, "stdio", "fprintf.c"), filepath.Join(libcDir, "stdio", "fputc.c"), filepath.Join(libcDir, "stdio", "fputs.c"), filepath.Join(libcDir, "stdio", "fread.c"), filepath.Join(libcDir, "stdio", "freopen.c"), filepath.Join(libcDir, "stdio", "fscanf.c"), filepath.Join(libcDir, "stdio", "fseek.c"), filepath.Join(libcDir, "stdio", "fsetpos.c"), filepath.Join(libcDir, "stdio", "ftell.c"), filepath.Join(libcDir, "stdio", "fvwrite.c"), filepath.Join(libcDir, "stdio", "fwalk.c"), filepath.Join(libcDir, "stdio", "fwrite.c"), filepath.Join(libcDir, "stdio", "getc.c"), filepath.Join(libcDir, "stdio", "getchar.c"), filepath.Join(libcDir, "stdio", "getc_u.c"), filepath.Join(libcDir, "stdio", "getchar_u.c"), filepath.Join(libcDir, "stdio", "getdelim.c"), filepath.Join(libcDir, "stdio", "getline.c"), filepath.Join(libcDir, "stdio", "gets.c"), filepath.Join(libcDir, "stdio", "makebuf.c"), filepath.Join(libcDir, "stdio", "perror.c"), filepath.Join(libcDir, "stdio", "printf.c"), filepath.Join(libcDir, "stdio", "putc.c"), filepath.Join(libcDir, "stdio", "putchar.c"), filepath.Join(libcDir, "stdio", "putc_u.c"), filepath.Join(libcDir, "stdio", "putchar_u.c"), filepath.Join(libcDir, "stdio", "puts.c"), filepath.Join(libcDir, "stdio", "refill.c"), filepath.Join(libcDir, "stdio", "remove.c"), filepath.Join(libcDir, "stdio", "rename.c"), filepath.Join(libcDir, "stdio", "rewind.c"), filepath.Join(libcDir, "stdio", "rget.c"), filepath.Join(libcDir, "stdio", "scanf.c"), filepath.Join(libcDir, "stdio", "sccl.c"), filepath.Join(libcDir, "stdio", "setbuf.c"), filepath.Join(libcDir, "stdio", "setbuffer.c"), filepath.Join(libcDir, "stdio", "setlinebuf.c"), filepath.Join(libcDir, "stdio", "setvbuf.c"), filepath.Join(libcDir, "stdio", "snprintf.c"), filepath.Join(libcDir, "stdio", "sprintf.c"), filepath.Join(libcDir, "stdio", "sscanf.c"), filepath.Join(libcDir, "stdio", "stdio.c"), filepath.Join(libcDir, "stdio", "svfiwprintf.c"), filepath.Join(libcDir, "stdio", "svfiwscanf.c"), filepath.Join(libcDir, "stdio", "svfwprintf.c"), filepath.Join(libcDir, "stdio", "svfwscanf.c"), filepath.Join(libcDir, "stdio", "tmpfile.c"), filepath.Join(libcDir, "stdio", "tmpnam.c"), filepath.Join(libcDir, "stdio", "ungetc.c"), filepath.Join(libcDir, "stdio", "vdprintf.c"), filepath.Join(libcDir, "stdio", "vfiwprintf.c"), filepath.Join(libcDir, "stdio", "vfiwscanf.c"), filepath.Join(libcDir, "stdio", "vfwscanf.c"), filepath.Join(libcDir, "stdio", "vprintf.c"), filepath.Join(libcDir, "stdio", "vscanf.c"), filepath.Join(libcDir, "stdio", "vsnprintf.c"), filepath.Join(libcDir, "stdio", "vsprintf.c"), filepath.Join(libcDir, "stdio", "vsscanf.c"), filepath.Join(libcDir, "stdio", "wbuf.c"), filepath.Join(libcDir, "stdio", "wsetup.c"), filepath.Join(libcDir, "stdio", "asprintf.c"), filepath.Join(libcDir, "stdio", "fcloseall.c"), filepath.Join(libcDir, "stdio", "fseeko.c"), filepath.Join(libcDir, "stdio", "ftello.c"), filepath.Join(libcDir, "stdio", "getw.c"), filepath.Join(libcDir, "stdio", "mktemp.c"), filepath.Join(libcDir, "stdio", "putw.c"), filepath.Join(libcDir, "stdio", "vasprintf.c"), filepath.Join(libcDir, "stdio", "asnprintf.c"), filepath.Join(libcDir, "stdio", "clearerr_u.c"), filepath.Join(libcDir, "stdio", "dprintf.c"), filepath.Join(libcDir, "stdio", "feof_u.c"), filepath.Join(libcDir, "stdio", "ferror_u.c"), filepath.Join(libcDir, "stdio", "fflush_u.c"), filepath.Join(libcDir, "stdio", "fgetc_u.c"), filepath.Join(libcDir, "stdio", "fgets_u.c"), filepath.Join(libcDir, "stdio", "fgetwc.c"), filepath.Join(libcDir, "stdio", "fgetwc_u.c"), filepath.Join(libcDir, "stdio", "fgetws.c"), filepath.Join(libcDir, "stdio", "fgetws_u.c"), filepath.Join(libcDir, "stdio", "fileno_u.c"), filepath.Join(libcDir, "stdio", "fmemopen.c"), filepath.Join(libcDir, "stdio", "fopencookie.c"), filepath.Join(libcDir, "stdio", "fpurge.c"), filepath.Join(libcDir, "stdio", "fputc_u.c"), filepath.Join(libcDir, "stdio", "fputs_u.c"), filepath.Join(libcDir, "stdio", "fputwc.c"), filepath.Join(libcDir, "stdio", "fputwc_u.c"), filepath.Join(libcDir, "stdio", "fputws.c"), filepath.Join(libcDir, "stdio", "fputws_u.c"), filepath.Join(libcDir, "stdio", "fread_u.c"), filepath.Join(libcDir, "stdio", "fsetlocking.c"), filepath.Join(libcDir, "stdio", "funopen.c"), filepath.Join(libcDir, "stdio", "fwide.c"), filepath.Join(libcDir, "stdio", "fwprintf.c"), filepath.Join(libcDir, "stdio", "fwrite_u.c"), filepath.Join(libcDir, "stdio", "fwscanf.c"), filepath.Join(libcDir, "stdio", "getwc.c"), filepath.Join(libcDir, "stdio", "getwc_u.c"), filepath.Join(libcDir, "stdio", "getwchar.c"), filepath.Join(libcDir, "stdio", "getwchar_u.c"), filepath.Join(libcDir, "stdio", "open_memstream.c"), filepath.Join(libcDir, "stdio", "putwc.c"), filepath.Join(libcDir, "stdio", "putwc_u.c"), filepath.Join(libcDir, "stdio", "putwchar.c"), filepath.Join(libcDir, "stdio", "putwchar_u.c"), filepath.Join(libcDir, "stdio", "stdio_ext.c"), filepath.Join(libcDir, "stdio", "swprintf.c"), filepath.Join(libcDir, "stdio", "swscanf.c"), filepath.Join(libcDir, "stdio", "ungetwc.c"), filepath.Join(libcDir, "stdio", "vasnprintf.c"), filepath.Join(libcDir, "stdio", "vswprintf.c"), filepath.Join(libcDir, "stdio", "vswscanf.c"), filepath.Join(libcDir, "stdio", "vwprintf.c"), filepath.Join(libcDir, "stdio", "vwscanf.c"), filepath.Join(libcDir, "stdio", "wprintf.c"), filepath.Join(libcDir, "stdio", "wscanf.c"), filepath.Join(libcDir, "string", "bcopy.c"), filepath.Join(libcDir, "string", "bzero.c"), filepath.Join(libcDir, "string", "explicit_bzero.c"), filepath.Join(libcDir, "string", "ffsl.c"), filepath.Join(libcDir, "string", "ffsll.c"), filepath.Join(libcDir, "string", "fls.c"), filepath.Join(libcDir, "string", "flsl.c"), filepath.Join(libcDir, "string", "flsll.c"), filepath.Join(libcDir, "string", "index.c"), filepath.Join(libcDir, "string", "memchr.c"), filepath.Join(libcDir, "string", "memcmp.c"), filepath.Join(libcDir, "string", "memmove.c"), filepath.Join(libcDir, "string", "rindex.c"), filepath.Join(libcDir, "string", "strcasecmp.c"), filepath.Join(libcDir, "string", "strcat.c"), filepath.Join(libcDir, "string", "strchr.c"), filepath.Join(libcDir, "string", "strcoll.c"), filepath.Join(libcDir, "string", "strcspn.c"), filepath.Join(libcDir, "string", "strdup.c"), filepath.Join(libcDir, "string", "strdup_r.c"), filepath.Join(libcDir, "string", "strerror.c"), filepath.Join(libcDir, "string", "strerror_r.c"), filepath.Join(libcDir, "string", "strlcat.c"), filepath.Join(libcDir, "string", "strlcpy.c"), filepath.Join(libcDir, "string", "strlwr.c"), filepath.Join(libcDir, "string", "strncasecmp.c"), filepath.Join(libcDir, "string", "strncat.c"), filepath.Join(libcDir, "string", "strncmp.c"), filepath.Join(libcDir, "string", "strnlen.c"), filepath.Join(libcDir, "string", "strnstr.c"), filepath.Join(libcDir, "string", "strpbrk.c"), filepath.Join(libcDir, "string", "strrchr.c"), filepath.Join(libcDir, "string", "strsep.c"), filepath.Join(libcDir, "string", "strsignal.c"), filepath.Join(libcDir, "string", "strspn.c"), filepath.Join(libcDir, "string", "strtok.c"), filepath.Join(libcDir, "string", "strtok_r.c"), filepath.Join(libcDir, "string", "strupr.c"), filepath.Join(libcDir, "string", "strxfrm.c"), filepath.Join(libcDir, "string", "strstr.c"), filepath.Join(libcDir, "string", "swab.c"), filepath.Join(libcDir, "string", "timingsafe_bcmp.c"), filepath.Join(libcDir, "string", "timingsafe_memcmp.c"), filepath.Join(libcDir, "string", "u_strerr.c"), filepath.Join(libcDir, "string", "wcscat.c"), filepath.Join(libcDir, "string", "wcschr.c"), filepath.Join(libcDir, "string", "wcscmp.c"), filepath.Join(libcDir, "string", "wcscoll.c"), filepath.Join(libcDir, "string", "wcscpy.c"), filepath.Join(libcDir, "string", "wcscspn.c"), filepath.Join(libcDir, "string", "wcslcat.c"), filepath.Join(libcDir, "string", "wcslcpy.c"), filepath.Join(libcDir, "string", "wcslen.c"), filepath.Join(libcDir, "string", "wcsncat.c"), filepath.Join(libcDir, "string", "wcsncmp.c"), filepath.Join(libcDir, "string", "wcsncpy.c"), filepath.Join(libcDir, "string", "wcsnlen.c"), filepath.Join(libcDir, "string", "wcspbrk.c"), filepath.Join(libcDir, "string", "wcsrchr.c"), filepath.Join(libcDir, "string", "wcsspn.c"), filepath.Join(libcDir, "string", "wcsstr.c"), filepath.Join(libcDir, "string", "wcstok.c"), filepath.Join(libcDir, "string", "wcswidth.c"), filepath.Join(libcDir, "string", "wcsxfrm.c"), filepath.Join(libcDir, "string", "wcwidth.c"), filepath.Join(libcDir, "string", "wmemchr.c"), filepath.Join(libcDir, "string", "wmemcmp.c"), filepath.Join(libcDir, "string", "wmemcpy.c"), filepath.Join(libcDir, "string", "wmemmove.c"), filepath.Join(libcDir, "string", "wmemset.c"), filepath.Join(libcDir, "string", "xpg_strerror_r.c"), filepath.Join(libcDir, "string", "bcmp.c"), filepath.Join(libcDir, "string", "memccpy.c"), filepath.Join(libcDir, "string", "mempcpy.c"), filepath.Join(libcDir, "string", "stpcpy.c"), filepath.Join(libcDir, "string", "stpncpy.c"), filepath.Join(libcDir, "string", "strndup.c"), filepath.Join(libcDir, "string", "strcasestr.c"), filepath.Join(libcDir, "string", "strchrnul.c"), filepath.Join(libcDir, "string", "strndup_r.c"), filepath.Join(libcDir, "string", "wcpcpy.c"), filepath.Join(libcDir, "string", "wcpncpy.c"), filepath.Join(libcDir, "string", "wcsdup.c"), filepath.Join(libcDir, "string", "gnu_basename.c"), filepath.Join(libcDir, "string", "memmem.c"), filepath.Join(libcDir, "string", "memrchr.c"), filepath.Join(libcDir, "string", "rawmemchr.c"), filepath.Join(libcDir, "string", "strcasecmp_l.c"), filepath.Join(libcDir, "string", "strcoll_l.c"), filepath.Join(libcDir, "string", "strncasecmp_l.c"), filepath.Join(libcDir, "string", "strverscmp.c"), filepath.Join(libcDir, "string", "strxfrm_l.c"), filepath.Join(libcDir, "string", "wcscasecmp.c"), filepath.Join(libcDir, "string", "wcscasecmp_l.c"), filepath.Join(libcDir, "string", "wcscoll_l.c"), filepath.Join(libcDir, "string", "wcsncasecmp.c"), filepath.Join(libcDir, "string", "wcsncasecmp_l.c"), filepath.Join(libcDir, "string", "wcsxfrm_l.c"), filepath.Join(libcDir, "string", "wmempcpy.c"), filepath.Join(libcDir, "signal", "psignal.c"), filepath.Join(libcDir, "signal", "raise.c"), filepath.Join(libcDir, "signal", "signal.c"), filepath.Join(libcDir, "signal", "sig2str.c"), filepath.Join(libcDir, "time", "asctime.c"), filepath.Join(libcDir, "time", "asctime_r.c"), filepath.Join(libcDir, "time", "clock.c"), filepath.Join(libcDir, "time", "ctime.c"), filepath.Join(libcDir, "time", "ctime_r.c"), filepath.Join(libcDir, "time", "difftime.c"), filepath.Join(libcDir, "time", "gettzinfo.c"), filepath.Join(libcDir, "time", "gmtime.c"), filepath.Join(libcDir, "time", "gmtime_r.c"), filepath.Join(libcDir, "time", "lcltime.c"), filepath.Join(libcDir, "time", "lcltime_r.c"), filepath.Join(libcDir, "time", "mktime.c"), filepath.Join(libcDir, "time", "month_lengths.c"), filepath.Join(libcDir, "time", "strftime.c"), filepath.Join(libcDir, "time", "strptime.c"), filepath.Join(libcDir, "time", "time.c"), filepath.Join(libcDir, "time", "tzcalc_limits.c"), filepath.Join(libcDir, "time", "tzlock.c"), filepath.Join(libcDir, "time", "tzset.c"), filepath.Join(libcDir, "time", "tzset_r.c"), filepath.Join(libcDir, "time", "tzvars.c"), filepath.Join(libcDir, "time", "wcsftime.c"), filepath.Join(libcDir, "locale", "locale.c"), filepath.Join(libcDir, "locale", "localeconv.c"), filepath.Join(libcDir, "locale", "duplocale.c"), filepath.Join(libcDir, "locale", "freelocale.c"), filepath.Join(libcDir, "locale", "lctype.c"), filepath.Join(libcDir, "locale", "lmessages.c"), filepath.Join(libcDir, "locale", "lnumeric.c"), filepath.Join(libcDir, "locale", "lmonetary.c"), filepath.Join(libcDir, "locale", "newlocale.c"), filepath.Join(libcDir, "locale", "nl_langinfo.c"), filepath.Join(libcDir, "locale", "timelocal.c"), filepath.Join(libcDir, "locale", "uselocale.c"), filepath.Join(libcDir, "reent", "closer.c"), filepath.Join(libcDir, "reent", "reent.c"), filepath.Join(libcDir, "reent", "impure.c"), filepath.Join(libcDir, "reent", "fcntlr.c"), filepath.Join(libcDir, "reent", "fstatr.c"), filepath.Join(libcDir, "reent", "getentropyr.c"), filepath.Join(libcDir, "reent", "getreent.c"), filepath.Join(libcDir, "reent", "gettimeofdayr.c"), filepath.Join(libcDir, "reent", "isattyr.c"), filepath.Join(libcDir, "reent", "linkr.c"), filepath.Join(libcDir, "reent", "lseekr.c"), filepath.Join(libcDir, "reent", "mkdirr.c"), filepath.Join(libcDir, "reent", "openr.c"), filepath.Join(libcDir, "reent", "readr.c"), filepath.Join(libcDir, "reent", "renamer.c"), filepath.Join(libcDir, "reent", "signalr.c"), filepath.Join(libcDir, "reent", "signgam.c"), filepath.Join(libcDir, "reent", "sbrkr.c"), filepath.Join(libcDir, "reent", "statr.c"), filepath.Join(libcDir, "reent", "timesr.c"), filepath.Join(libcDir, "reent", "unlinkr.c"), filepath.Join(libcDir, "reent", "writer.c"), filepath.Join(libcDir, "reent", "execr.c"), filepath.Join(libcDir, "errno", "errno.c"), filepath.Join(libcDir, "misc", "__dprintf.c"), filepath.Join(libcDir, "misc", "unctrl.c"), filepath.Join(libcDir, "misc", "ffs.c"), filepath.Join(libcDir, "misc", "init.c"), filepath.Join(libcDir, "misc", "fini.c"), filepath.Join(libcDir, "misc", "lock.c"), filepath.Join(libcDir, "posix", "closedir.c"), filepath.Join(libcDir, "posix", "collate.c"), filepath.Join(libcDir, "posix", "collcmp.c"), filepath.Join(libcDir, "posix", "creat.c"), filepath.Join(libcDir, "posix", "dirfd.c"), // filepath.Join(libcDir, "posix", "fnmatch.c"), filepath.Join(libcDir, "posix", "glob.c"), filepath.Join(libcDir, "posix", "opendir.c"), filepath.Join(libcDir, "posix", "readdir.c"), filepath.Join(libcDir, "posix", "readdir_r.c"), filepath.Join(libcDir, "posix", "regcomp.c"), filepath.Join(libcDir, "posix", "regerror.c"), filepath.Join(libcDir, "posix", "regexec.c"), filepath.Join(libcDir, "posix", "regfree.c"), filepath.Join(libcDir, "posix", "rewinddir.c"), filepath.Join(libcDir, "posix", "sleep.c"), filepath.Join(libcDir, "posix", "usleep.c"), filepath.Join(libcDir, "posix", "telldir.c"), filepath.Join(libcDir, "posix", "ftw.c"), filepath.Join(libcDir, "posix", "nftw.c"), filepath.Join(libcDir, "posix", "scandir.c"), filepath.Join(libcDir, "posix", "seekdir.c"), filepath.Join(libcDir, "posix", "execl.c"), filepath.Join(libcDir, "posix", "execle.c"), filepath.Join(libcDir, "posix", "execlp.c"), filepath.Join(libcDir, "posix", "execv.c"), filepath.Join(libcDir, "posix", "execve.c"), filepath.Join(libcDir, "posix", "execvp.c"), filepath.Join(libcDir, "posix", "wordexp.c"), filepath.Join(libcDir, "posix", "wordfree.c"), filepath.Join(libcDir, "posix", "popen.c"), filepath.Join(libcDir, "posix", "posix_spawn.c"), filepath.Join(libcDir, "syscalls", "sysclose.c"), filepath.Join(libcDir, "syscalls", "sysfcntl.c"), filepath.Join(libcDir, "syscalls", "sysfstat.c"), filepath.Join(libcDir, "syscalls", "sysgetentropy.c"), filepath.Join(libcDir, "syscalls", "sysgetpid.c"), filepath.Join(libcDir, "syscalls", "sysgettod.c"), filepath.Join(libcDir, "syscalls", "sysisatty.c"), filepath.Join(libcDir, "syscalls", "syskill.c"), filepath.Join(libcDir, "syscalls", "syslink.c"), filepath.Join(libcDir, "syscalls", "syslseek.c"), filepath.Join(libcDir, "syscalls", "sysopen.c"), filepath.Join(libcDir, "syscalls", "sysread.c"), filepath.Join(libcDir, "syscalls", "syssbrk.c"), filepath.Join(libcDir, "syscalls", "sysstat.c"), filepath.Join(libcDir, "syscalls", "systimes.c"), filepath.Join(libcDir, "syscalls", "sysunlink.c"), filepath.Join(libcDir, "syscalls", "syswrite.c"), filepath.Join(libcDir, "syscalls", "sysexecve.c"), filepath.Join(libcDir, "syscalls", "sysfork.c"), filepath.Join(libcDir, "syscalls", "syswait.c"), filepath.Join(libcDir, "iconv", "ces", "utf-8.c"), filepath.Join(libcDir, "iconv", "ces", "utf-16.c"), filepath.Join(libcDir, "iconv", "ces", "ucs-2.c"), filepath.Join(libcDir, "iconv", "ces", "us-ascii.c"), filepath.Join(libcDir, "iconv", "ces", "ucs-4.c"), filepath.Join(libcDir, "iconv", "ces", "ucs-2-internal.c"), filepath.Join(libcDir, "iconv", "ces", "ucs-4-internal.c"), filepath.Join(libcDir, "iconv", "ces", "cesbi.c"), filepath.Join(libcDir, "iconv", "ces", "table.c"), filepath.Join(libcDir, "iconv", "ces", "table-pcs.c"), filepath.Join(libcDir, "iconv", "ces", "euc.c"), filepath.Join(libcDir, "iconv", "ccs", "ccsbi.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_10.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_13.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_14.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_15.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_1.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_2.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_3.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_4.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_5.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_6.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_7.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_8.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_9.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_8859_11.c"), filepath.Join(libcDir, "iconv", "ccs", "win_1250.c"), filepath.Join(libcDir, "iconv", "ccs", "win_1252.c"), filepath.Join(libcDir, "iconv", "ccs", "win_1254.c"), filepath.Join(libcDir, "iconv", "ccs", "win_1256.c"), filepath.Join(libcDir, "iconv", "ccs", "win_1258.c"), filepath.Join(libcDir, "iconv", "ccs", "win_1251.c"), filepath.Join(libcDir, "iconv", "ccs", "win_1253.c"), filepath.Join(libcDir, "iconv", "ccs", "win_1255.c"), filepath.Join(libcDir, "iconv", "ccs", "win_1257.c"), filepath.Join(libcDir, "iconv", "ccs", "koi8_r.c"), filepath.Join(libcDir, "iconv", "ccs", "koi8_u.c"), filepath.Join(libcDir, "iconv", "ccs", "koi8_ru.c"), filepath.Join(libcDir, "iconv", "ccs", "koi8_uni.c"), filepath.Join(libcDir, "iconv", "ccs", "iso_ir_111.c"), filepath.Join(libcDir, "iconv", "ccs", "big5.c"), filepath.Join(libcDir, "iconv", "ccs", "cp775.c"), filepath.Join(libcDir, "iconv", "ccs", "cp850.c"), filepath.Join(libcDir, "iconv", "ccs", "cp852.c"), filepath.Join(libcDir, "iconv", "ccs", "cp855.c"), filepath.Join(libcDir, "iconv", "ccs", "cp866.c"), filepath.Join(libcDir, "iconv", "ccs", "jis_x0212_1990.c"), filepath.Join(libcDir, "iconv", "ccs", "jis_x0201_1976.c"), filepath.Join(libcDir, "iconv", "ccs", "jis_x0208_1990.c"), filepath.Join(libcDir, "iconv", "ccs", "ksx1001.c"), filepath.Join(libcDir, "iconv", "ccs", "cns11643_plane1.c"), filepath.Join(libcDir, "iconv", "ccs", "cns11643_plane2.c"), filepath.Join(libcDir, "iconv", "ccs", "cns11643_plane14.c"), filepath.Join(libcDir, "iconv", "lib", "aliasesi.c"), filepath.Join(libcDir, "iconv", "lib", "ucsconv.c"), filepath.Join(libcDir, "iconv", "lib", "nullconv.c"), filepath.Join(libcDir, "iconv", "lib", "iconv.c"), filepath.Join(libcDir, "iconv", "lib", "aliasesbi.c"), filepath.Join(libcDir, "iconv", "lib", "iconvnls.c"), filepath.Join(libcDir, "ssp", "chk_fail.c"), filepath.Join(libcDir, "ssp", "stack_protector.c"), filepath.Join(libcDir, "ssp", "memcpy_chk.c"), filepath.Join(libcDir, "ssp", "memmove_chk.c"), filepath.Join(libcDir, "ssp", "mempcpy_chk.c"), filepath.Join(libcDir, "ssp", "memset_chk.c"), filepath.Join(libcDir, "ssp", "stpcpy_chk.c"), filepath.Join(libcDir, "ssp", "stpncpy_chk.c"), filepath.Join(libcDir, "ssp", "strcat_chk.c"), filepath.Join(libcDir, "ssp", "strcpy_chk.c"), filepath.Join(libcDir, "ssp", "strncat_chk.c"), filepath.Join(libcDir, "ssp", "strncpy_chk.c"), filepath.Join(libcDir, "ssp", "gets_chk.c"), filepath.Join(libcDir, "ssp", "snprintf_chk.c"), filepath.Join(libcDir, "ssp", "sprintf_chk.c"), filepath.Join(libcDir, "ssp", "vsnprintf_chk.c"), filepath.Join(libcDir, "ssp", "vsprintf_chk.c"), // TODO(MeteorsLiu): support riscv filepath.Join(libcDir, "machine", "xtensa", "memcpy.S"), filepath.Join(libcDir, "machine", "xtensa", "memset.S"), filepath.Join(libcDir, "machine", "xtensa", "setjmp.S"), filepath.Join(libcDir, "machine", "xtensa", "strcmp.S"), filepath.Join(libcDir, "machine", "xtensa", "strcpy.S"), filepath.Join(libcDir, "machine", "xtensa", "strlen.S"), filepath.Join(libcDir, "machine", "xtensa", "strncpy.S"), }, CFlags: []string{ "-DHAVE_CONFIG_H", "-D_LIBC", "-D__NO_SYSCALLS__", "-D_NO_GLOB", "-D_NO_EXECVE", "-D_NO_GETLOGIN", "-D_NO_GETPWENT", "-D_NO_GETUT", "-D_NO_GETPASS", "-D_NO_SIGSET", "-D_NO_WORDEXP", "-D_NO_POPEN", "-D_NO_POSIX_SPAWN", "-DHAVE_FCNTL", "-DHAVE_BLKSIZE", "-DHAVE_OPENDIR", "-DHAVE_RENAME", "-DGETREENT_PROVIDED", "-DSIGNAL_PROVIDED", "-D__ESP__", "-isystem" + filepath.Join(libcDir, "include"), "-I" + filepath.Join(baseDir, "newlib"), "-I" + libcDir, "-I" + filepath.Join(libcDir, "xtensa"), "-I" + filepath.Join(baseDir, "libgloss"), // TODO(MeteorsLiu): support riscv "-idirafter" + filepath.Join(baseDir, "include"), "-I" + filepath.Join(libcDir, "ssp"), "-I" + filepath.Join(libcDir, "locale"), "-I" + filepath.Join(libcDir, "errno"), "-I" + filepath.Join(libcDir, "syscalls"), "-I" + filepath.Join(libcDir, "iconv", "lib"), "-I" + filepath.Join(libcDir, "argz"), "-I" + filepath.Join(libcDir, "stdio"), "-I" + filepath.Join(libcDir, "iconv", "ccs"), "-I" + filepath.Join(libcDir, "ctype"), "-I" + filepath.Join(libcDir, "signal"), "-I" + filepath.Join(libcDir, "time"), "-I" + filepath.Join(libcDir, "reent"), "-I" + filepath.Join(libcDir, "machine", "xtensa", "include"), "-I" + filepath.Join(libcDir, "string"), "-I" + filepath.Join(libcDir, "iconv", "ces"), "-I" + filepath.Join(libcDir, "search"), "-I" + filepath.Join(libcDir, "misc"), "-I" + filepath.Join(libcDir, "posix"), "-I" + filepath.Join(libcDir, "stdlib"), }, LDFlags: _libcLDFlags, CCFlags: withDefaultCCFlags([]string{ "-fno-builtin", "-Wno-implicit-function-declaration", "-Wno-int-conversion", "-Wno-unused-command-line-argument", }), }, }, } } // getNewlibESP32Config returns configuration for newlib esp32 func GetNewlibESP32Config(baseDir, target, mcpu string) *compile.CompileConfig { if strings.Contains(target, "riscv32") { return getNewlibESP32ConfigRISCV(baseDir, target) } return getNewlibESP32ConfigXtensa(baseDir, target) }