tboox / tbox

🎁 A glib-like multi-platform c library
https://docs.tboox.org
Apache License 2.0
4.89k stars 725 forks source link

The ARM assembly code of tbox is not compatible with Apple M1 #236

Closed pan93412 closed 1 year ago

pan93412 commented 1 year ago

Describe the bug

I was trying to build tbox in Apple M1 (which is a ARM64 CPU), and it throws:

error: src/tbox/libc/string/impl/arm/strlen.c:46:9: error: invalid operand for instruction
        "   bic     r2, %1, #0x3\n"             //!< align address by 4-bytes
        ^
<inline asm>:1:13: note: instantiated into assembly here
           bic     r2, x0, #0x3
                   ^
In file included from src/tbox/libc/string/strlen.c:32:
src/tbox/libc/string/impl/arm/strlen.c:47:10: error: invalid operand for instruction
        "   ldr     r3, [r2], #4\n"             //!< get the first dword after alignment
         ^
<inline asm>:2:12: note: instantiated into assembly here
   ldr     r3, [r2], #4
           ^
In file included from src/tbox/libc/string/strlen.c:32:
src/tbox/libc/string/impl/arm/strlen.c:49:10: error: unrecognized instruction mnemonic, did you mean: b, dsb, esb, isb, ldrsb, mrs, sb, sbc, sub, tsb?
        "   rsb     %0, %1, #0x0\n"             //!< n = -left
         ^
  > in src/tbox/libc/string/strlen.c

Seems like this code is designed for ARM32 machine. Could it be ported to ARM64?

Expected behavior

It should be compatible with ARM64, or at least provide a slower fallback.

Error output

See "Describe the bug."

Related Environment

$ uname -mprs
Darwin 22.6.0 arm64 arm

$ clang --version
Apple clang version 14.0.3 (clang-1403.0.22.14.1)
Target: arm64-apple-darwin22.6.0
Thread model: posix
InstalledDir: /Applications/Xcode-14.3.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
waruqi commented 1 year ago

if check strlen found, tbox will use it directly.

you can see the check logs

xmake f -cvD
pan93412 commented 1 year ago

xmake f -cvD

checking for platform ... macosx
checking for architecture ... arm64
checking for Xcode directory ... /Applications/Xcode.app
checking for Codesign Identity of Xcode ... localhost
checking for SDK version of Xcode for macosx (arm64) ... 13.3
checking for Minimal target version of Xcode for macosx (arm64) ... 13.3
checking for zig ... /Users/pan93412/.bun/bin/zig
checking for /Applications/Xcode-14.3.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang ... ok
checking for the c compiler (cc) ... clang
checking for /Applications/Xcode-14.3.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang ... ok
checking for flags (-fPIC) ... ok
> clang "-fPIC" "-Qunused-arguments" "-target" "arm64-apple-macos13.3" "-isysroot" "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk"
> /Applications/Xcode-14.3.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -c -Qunused-arguments -target arm64-apple-macos13.3 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk -o /var/folders/cn/c_n1ss3x7rx78k6mpw9t6bsm0000gn/T/.xmake501/230914/_521F5A3949BC420085CA922BDD60BC20.o /var/folders/cn/c_n1ss3x7rx78k6mpw9t6bsm0000gn/T/.xmake501/230914/_CBE74A28487345B486C44F2A5F52A38D.c
checking for flags (-fdiagnostics-color=always) ... ok
> clang "-fdiagnostics-color=always" "-Qunused-arguments" "-target" "arm64-apple-macos13.3" "-isysroot" "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk"
> checking for c types(wchar_t)
checkinfo: ...amdir/core/sandbox/modules/import/core/tool/compiler.lua:84: @programdir/modules/core/tools/gcc.lua:805: /var/folders/cn/c_n1ss3x7rx78k6mpw9t6bsm0000gn/T/.xmake501/230914/_CBE74A28487345B486C44F2A5F52A38D.c:3:9: error: unknown type name 'wchar_t'
typedef wchar_t __type_wchar_t;
        ^
1 error generated.
stack traceback:
    [C]: in function 'error'
    [@programdir/core/base/os.lua:921]:
    [@programdir/modules/core/tools/gcc.lua:805]: in function 'catch'
    [@programdir/core/sandbox/modules/try.lua:123]: in function 'try'
    [@programdir/modules/core/tools/gcc.lua:746]:
    [C]: in function 'xpcall'
    [@programdir/core/base/utils.lua:280]:
    [@programdir/core/tool/compiler.lua:278]: in function 'compile'
    [...amdir/core/sandbox/modules/import/core/tool/compiler.lua:82]: in function 'compile'
    [@programdir/modules/lib/detect/check_cxsnippets.lua:246]:
    [C]: in function 'xpcall'
    [@programdir/core/base/utils.lua:280]: in function 'trycall'
    [@programdir/core/sandbox/modules/try.lua:117]: in function 'try'
    [@programdir/modules/lib/detect/check_cxsnippets.lua:240]:
    [C]: in function 'xpcall'
    [@programdir/core/base/utils.lua:280]:
    [@programdir/core/project/option.lua:178]: in function '_do_check_cxsnippets'
    [@programdir/core/project/option.lua:230]:
    [@programdir/core/project/option.lua:278]: in function '_check'
    [@programdir/core/project/option.lua:335]: in function 'check'
    [...dir/core/sandbox/modules/import/core/project/project.lua:107]: in function 'jobfunc'
    [@programdir/modules/private/async/runjobs.lua:232]:
    [C]: in function 'xpcall'
    [@programdir/core/base/utils.lua:280]: in function 'trycall'
    [@programdir/core/sandbox/modules/try.lua:117]: in function 'try'
    [@programdir/modules/private/async/runjobs.lua:218]: in function 'cotask'
    [@programdir/core/base/scheduler.lua:404]:

checking for wchar ... no
generating src/tbox/tbox.config.h.in to build/macosx/arm64/release/tbox.config.h ..
checking for git ... /opt/homebrew/bin/git
  > replace VERSION -> 1.7.4
  > replace VERSION_MAJOR -> 1
  > replace VERSION_MINOR -> 7
  > replace VERSION_ALTER -> 4
  > replace VERSION_BUILD -> 20230914
  > replace OS -> MACOSX
  > replace _GNU_SOURCE -> #define _GNU_SOURCE 1
  > replace _REENTRANT -> #define _REENTRANT 1
  > replace TB_CONFIG_SMALL -> #define TB_CONFIG_SMALL 1
  > replace TB_CONFIG_MICRO_ENABLE -> /* #undef TB_CONFIG_MICRO_ENABLE */
  > replace TB_CONFIG_TYPE_HAVE_WCHAR -> /* #undef TB_CONFIG_TYPE_HAVE_WCHAR */
  > replace TB_CONFIG_TYPE_HAVE_FLOAT -> #define TB_CONFIG_TYPE_HAVE_FLOAT 1
  > replace TB_CONFIG_FORCE_UTF8 -> /* #undef TB_CONFIG_FORCE_UTF8 */
  > replace TB_CONFIG_API_HAVE_DEPRECATED -> /* #undef TB_CONFIG_API_HAVE_DEPRECATED */
  > replace TB_CONFIG_EXCEPTION_ENABLE -> /* #undef TB_CONFIG_EXCEPTION_ENABLE */
  > replace TB_CONFIG_KEYWORD_HAVE__thread -> /* #undef TB_CONFIG_KEYWORD_HAVE__thread */
  > replace TB_CONFIG_KEYWORD_HAVE_Thread_local -> /* #undef TB_CONFIG_KEYWORD_HAVE_Thread_local */
  > replace TB_CONFIG_FEATURE_HAVE_ANONYMOUS_UNION -> /* #undef TB_CONFIG_FEATURE_HAVE_ANONYMOUS_UNION */
  > replace TB_CONFIG_MODULE_HAVE_XML -> /* #undef TB_CONFIG_MODULE_HAVE_XML */
  > replace TB_CONFIG_MODULE_HAVE_ZIP -> /* #undef TB_CONFIG_MODULE_HAVE_ZIP */
  > replace TB_CONFIG_MODULE_HAVE_HASH -> /* #undef TB_CONFIG_MODULE_HAVE_HASH */
  > replace TB_CONFIG_MODULE_HAVE_REGEX -> /* #undef TB_CONFIG_MODULE_HAVE_REGEX */
  > replace TB_CONFIG_MODULE_HAVE_OBJECT -> /* #undef TB_CONFIG_MODULE_HAVE_OBJECT */
  > replace TB_CONFIG_MODULE_HAVE_CHARSET -> /* #undef TB_CONFIG_MODULE_HAVE_CHARSET */
  > replace TB_CONFIG_MODULE_HAVE_DATABASE -> /* #undef TB_CONFIG_MODULE_HAVE_DATABASE */
  > replace TB_CONFIG_MODULE_HAVE_COROUTINE -> /* #undef TB_CONFIG_MODULE_HAVE_COROUTINE */
  > replace TB_CONFIG_PACKAGE_HAVE_ZLIB -> /* #undef TB_CONFIG_PACKAGE_HAVE_ZLIB */
  > replace TB_CONFIG_PACKAGE_HAVE_MYSQL -> /* #undef TB_CONFIG_PACKAGE_HAVE_MYSQL */
  > replace TB_CONFIG_PACKAGE_HAVE_SQLITE3 -> /* #undef TB_CONFIG_PACKAGE_HAVE_SQLITE3 */
  > replace TB_CONFIG_PACKAGE_HAVE_OPENSSL -> /* #undef TB_CONFIG_PACKAGE_HAVE_OPENSSL */
  > replace TB_CONFIG_PACKAGE_HAVE_POLARSSL -> /* #undef TB_CONFIG_PACKAGE_HAVE_POLARSSL */
  > replace TB_CONFIG_PACKAGE_HAVE_MBEDTLS -> /* #undef TB_CONFIG_PACKAGE_HAVE_MBEDTLS */
  > replace TB_CONFIG_PACKAGE_HAVE_PCRE2 -> /* #undef TB_CONFIG_PACKAGE_HAVE_PCRE2 */
  > replace TB_CONFIG_PACKAGE_HAVE_PCRE -> /* #undef TB_CONFIG_PACKAGE_HAVE_PCRE */
  > replace TB_CONFIG_LIBC_HAVE_MEMCPY -> /* #undef TB_CONFIG_LIBC_HAVE_MEMCPY */
  > replace TB_CONFIG_LIBC_HAVE_MEMSET -> /* #undef TB_CONFIG_LIBC_HAVE_MEMSET */
  > replace TB_CONFIG_LIBC_HAVE_MEMMOVE -> /* #undef TB_CONFIG_LIBC_HAVE_MEMMOVE */
  > replace TB_CONFIG_LIBC_HAVE_MEMCMP -> /* #undef TB_CONFIG_LIBC_HAVE_MEMCMP */
  > replace TB_CONFIG_LIBC_HAVE_MEMMEM -> /* #undef TB_CONFIG_LIBC_HAVE_MEMMEM */
  > replace TB_CONFIG_LIBC_HAVE_STRCAT -> /* #undef TB_CONFIG_LIBC_HAVE_STRCAT */
  > replace TB_CONFIG_LIBC_HAVE_STRNCAT -> /* #undef TB_CONFIG_LIBC_HAVE_STRNCAT */
  > replace TB_CONFIG_LIBC_HAVE_STRCPY -> /* #undef TB_CONFIG_LIBC_HAVE_STRCPY */
  > replace TB_CONFIG_LIBC_HAVE_STRNCPY -> /* #undef TB_CONFIG_LIBC_HAVE_STRNCPY */
  > replace TB_CONFIG_LIBC_HAVE_STRLCPY -> /* #undef TB_CONFIG_LIBC_HAVE_STRLCPY */
  > replace TB_CONFIG_LIBC_HAVE_STRLEN -> /* #undef TB_CONFIG_LIBC_HAVE_STRLEN */
  > replace TB_CONFIG_LIBC_HAVE_STRNLEN -> /* #undef TB_CONFIG_LIBC_HAVE_STRNLEN */
  > replace TB_CONFIG_LIBC_HAVE_STRCHR -> /* #undef TB_CONFIG_LIBC_HAVE_STRCHR */
  > replace TB_CONFIG_LIBC_HAVE_STRRCHR -> /* #undef TB_CONFIG_LIBC_HAVE_STRRCHR */
  > replace TB_CONFIG_LIBC_HAVE_STRSTR -> /* #undef TB_CONFIG_LIBC_HAVE_STRSTR */
  > replace TB_CONFIG_LIBC_HAVE_STRCASESTR -> /* #undef TB_CONFIG_LIBC_HAVE_STRCASESTR */
  > replace TB_CONFIG_LIBC_HAVE_STRCMP -> /* #undef TB_CONFIG_LIBC_HAVE_STRCMP */
  > replace TB_CONFIG_LIBC_HAVE_STRCASECMP -> /* #undef TB_CONFIG_LIBC_HAVE_STRCASECMP */
  > replace TB_CONFIG_LIBC_HAVE_STRNCMP -> /* #undef TB_CONFIG_LIBC_HAVE_STRNCMP */
  > replace TB_CONFIG_LIBC_HAVE_STRNCASECMP -> /* #undef TB_CONFIG_LIBC_HAVE_STRNCASECMP */
  > replace TB_CONFIG_LIBC_HAVE_WCSCAT -> /* #undef TB_CONFIG_LIBC_HAVE_WCSCAT */
  > replace TB_CONFIG_LIBC_HAVE_WCSNCAT -> /* #undef TB_CONFIG_LIBC_HAVE_WCSNCAT */
  > replace TB_CONFIG_LIBC_HAVE_WCSCPY -> /* #undef TB_CONFIG_LIBC_HAVE_WCSCPY */
  > replace TB_CONFIG_LIBC_HAVE_WCSNCPY -> /* #undef TB_CONFIG_LIBC_HAVE_WCSNCPY */
  > replace TB_CONFIG_LIBC_HAVE_WCSLCPY -> /* #undef TB_CONFIG_LIBC_HAVE_WCSLCPY */
  > replace TB_CONFIG_LIBC_HAVE_WCSLEN -> /* #undef TB_CONFIG_LIBC_HAVE_WCSLEN */
  > replace TB_CONFIG_LIBC_HAVE_WCSNLEN -> /* #undef TB_CONFIG_LIBC_HAVE_WCSNLEN */
  > replace TB_CONFIG_LIBC_HAVE_WCSSTR -> /* #undef TB_CONFIG_LIBC_HAVE_WCSSTR */
  > replace TB_CONFIG_LIBC_HAVE_WCSCASESTR -> /* #undef TB_CONFIG_LIBC_HAVE_WCSCASESTR */
  > replace TB_CONFIG_LIBC_HAVE_WCSCMP -> /* #undef TB_CONFIG_LIBC_HAVE_WCSCMP */
  > replace TB_CONFIG_LIBC_HAVE_WCSCASECMP -> /* #undef TB_CONFIG_LIBC_HAVE_WCSCASECMP */
  > replace TB_CONFIG_LIBC_HAVE_WCSNCMP -> /* #undef TB_CONFIG_LIBC_HAVE_WCSNCMP */
  > replace TB_CONFIG_LIBC_HAVE_WCSNCASECMP -> /* #undef TB_CONFIG_LIBC_HAVE_WCSNCASECMP */
  > replace TB_CONFIG_LIBC_HAVE_WCSTOMBS -> /* #undef TB_CONFIG_LIBC_HAVE_WCSTOMBS */
  > replace TB_CONFIG_LIBC_HAVE_MBSTOWCS -> /* #undef TB_CONFIG_LIBC_HAVE_MBSTOWCS */
  > replace TB_CONFIG_LIBC_HAVE_GMTIME -> /* #undef TB_CONFIG_LIBC_HAVE_GMTIME */
  > replace TB_CONFIG_LIBC_HAVE_MKTIME -> /* #undef TB_CONFIG_LIBC_HAVE_MKTIME */
  > replace TB_CONFIG_LIBC_HAVE_LOCALTIME -> /* #undef TB_CONFIG_LIBC_HAVE_LOCALTIME */
  > replace TB_CONFIG_LIBC_HAVE_GETTIMEOFDAY -> /* #undef TB_CONFIG_LIBC_HAVE_GETTIMEOFDAY */
  > replace TB_CONFIG_LIBC_HAVE_SIGNAL -> /* #undef TB_CONFIG_LIBC_HAVE_SIGNAL */
  > replace TB_CONFIG_LIBC_HAVE_SETJMP -> /* #undef TB_CONFIG_LIBC_HAVE_SETJMP */
  > replace TB_CONFIG_LIBC_HAVE_SIGSETJMP -> /* #undef TB_CONFIG_LIBC_HAVE_SIGSETJMP */
  > replace TB_CONFIG_LIBC_HAVE_KILL -> /* #undef TB_CONFIG_LIBC_HAVE_KILL */
  > replace TB_CONFIG_LIBC_HAVE_BACKTRACE -> /* #undef TB_CONFIG_LIBC_HAVE_BACKTRACE */
  > replace TB_CONFIG_LIBC_HAVE_SETLOCALE -> /* #undef TB_CONFIG_LIBC_HAVE_SETLOCALE */
  > replace TB_CONFIG_LIBC_HAVE_FPUTC -> /* #undef TB_CONFIG_LIBC_HAVE_FPUTC */
  > replace TB_CONFIG_LIBC_HAVE_FGETC -> /* #undef TB_CONFIG_LIBC_HAVE_FGETC */
  > replace TB_CONFIG_LIBC_HAVE_UNGETC -> /* #undef TB_CONFIG_LIBC_HAVE_UNGETC */
  > replace TB_CONFIG_LIBC_HAVE_FPUTS -> /* #undef TB_CONFIG_LIBC_HAVE_FPUTS */
  > replace TB_CONFIG_LIBC_HAVE_FGETS -> /* #undef TB_CONFIG_LIBC_HAVE_FGETS */
  > replace TB_CONFIG_LIBC_HAVE_FREAD -> /* #undef TB_CONFIG_LIBC_HAVE_FREAD */
  > replace TB_CONFIG_LIBC_HAVE_FWRITE -> /* #undef TB_CONFIG_LIBC_HAVE_FWRITE */
  > replace TB_CONFIG_LIBC_HAVE_SRANDOM -> /* #undef TB_CONFIG_LIBC_HAVE_SRANDOM */
  > replace TB_CONFIG_LIBC_HAVE_RANDOM -> /* #undef TB_CONFIG_LIBC_HAVE_RANDOM */
  > replace TB_CONFIG_LIBM_HAVE_SINCOS -> /* #undef TB_CONFIG_LIBM_HAVE_SINCOS */
  > replace TB_CONFIG_LIBM_HAVE_SINCOSF -> /* #undef TB_CONFIG_LIBM_HAVE_SINCOSF */
  > replace TB_CONFIG_LIBM_HAVE_LOG2 -> /* #undef TB_CONFIG_LIBM_HAVE_LOG2 */
  > replace TB_CONFIG_LIBM_HAVE_LOG2F -> /* #undef TB_CONFIG_LIBM_HAVE_LOG2F */
  > replace TB_CONFIG_LIBM_HAVE_SQRT -> /* #undef TB_CONFIG_LIBM_HAVE_SQRT */
  > replace TB_CONFIG_LIBM_HAVE_SQRTF -> /* #undef TB_CONFIG_LIBM_HAVE_SQRTF */
  > replace TB_CONFIG_LIBM_HAVE_ACOS -> /* #undef TB_CONFIG_LIBM_HAVE_ACOS */
  > replace TB_CONFIG_LIBM_HAVE_ACOSF -> /* #undef TB_CONFIG_LIBM_HAVE_ACOSF */
  > replace TB_CONFIG_LIBM_HAVE_ASIN -> /* #undef TB_CONFIG_LIBM_HAVE_ASIN */
  > replace TB_CONFIG_LIBM_HAVE_ASINF -> /* #undef TB_CONFIG_LIBM_HAVE_ASINF */
  > replace TB_CONFIG_LIBM_HAVE_POW -> /* #undef TB_CONFIG_LIBM_HAVE_POW */
  > replace TB_CONFIG_LIBM_HAVE_POWF -> /* #undef TB_CONFIG_LIBM_HAVE_POWF */
  > replace TB_CONFIG_LIBM_HAVE_FMOD -> /* #undef TB_CONFIG_LIBM_HAVE_FMOD */
  > replace TB_CONFIG_LIBM_HAVE_FMODF -> /* #undef TB_CONFIG_LIBM_HAVE_FMODF */
  > replace TB_CONFIG_LIBM_HAVE_TAN -> /* #undef TB_CONFIG_LIBM_HAVE_TAN */
  > replace TB_CONFIG_LIBM_HAVE_TANF -> /* #undef TB_CONFIG_LIBM_HAVE_TANF */
  > replace TB_CONFIG_LIBM_HAVE_ATAN -> /* #undef TB_CONFIG_LIBM_HAVE_ATAN */
  > replace TB_CONFIG_LIBM_HAVE_ATANF -> /* #undef TB_CONFIG_LIBM_HAVE_ATANF */
  > replace TB_CONFIG_LIBM_HAVE_ATAN2 -> /* #undef TB_CONFIG_LIBM_HAVE_ATAN2 */
  > replace TB_CONFIG_LIBM_HAVE_ATAN2F -> /* #undef TB_CONFIG_LIBM_HAVE_ATAN2F */
  > replace TB_CONFIG_LIBM_HAVE_COS -> /* #undef TB_CONFIG_LIBM_HAVE_COS */
  > replace TB_CONFIG_LIBM_HAVE_COSF -> /* #undef TB_CONFIG_LIBM_HAVE_COSF */
  > replace TB_CONFIG_LIBM_HAVE_SIN -> /* #undef TB_CONFIG_LIBM_HAVE_SIN */
  > replace TB_CONFIG_LIBM_HAVE_SINF -> /* #undef TB_CONFIG_LIBM_HAVE_SINF */
  > replace TB_CONFIG_LIBM_HAVE_EXP -> /* #undef TB_CONFIG_LIBM_HAVE_EXP */
  > replace TB_CONFIG_LIBM_HAVE_EXPF -> /* #undef TB_CONFIG_LIBM_HAVE_EXPF */
  > replace TB_CONFIG_POSIX_HAVE_POLL -> /* #undef TB_CONFIG_POSIX_HAVE_POLL */
  > replace TB_CONFIG_POSIX_HAVE_SELECT -> /* #undef TB_CONFIG_POSIX_HAVE_SELECT */
  > replace TB_CONFIG_POSIX_HAVE_PTHREAD_MUTEX_INIT -> /* #undef TB_CONFIG_POSIX_HAVE_PTHREAD_MUTEX_INIT */
  > replace TB_CONFIG_POSIX_HAVE_PTHREAD_CREATE -> /* #undef TB_CONFIG_POSIX_HAVE_PTHREAD_CREATE */
  > replace TB_CONFIG_POSIX_HAVE_PTHREAD_SETSPECIFIC -> /* #undef TB_CONFIG_POSIX_HAVE_PTHREAD_SETSPECIFIC */
  > replace TB_CONFIG_POSIX_HAVE_PTHREAD_GETSPECIFIC -> /* #undef TB_CONFIG_POSIX_HAVE_PTHREAD_GETSPECIFIC */
  > replace TB_CONFIG_POSIX_HAVE_PTHREAD_KEY_CREATE -> /* #undef TB_CONFIG_POSIX_HAVE_PTHREAD_KEY_CREATE */
  > replace TB_CONFIG_POSIX_HAVE_PTHREAD_KEY_DELETE -> /* #undef TB_CONFIG_POSIX_HAVE_PTHREAD_KEY_DELETE */
  > replace TB_CONFIG_POSIX_HAVE_PTHREAD_SETAFFINITY_NP -> /* #undef TB_CONFIG_POSIX_HAVE_PTHREAD_SETAFFINITY_NP */
  > replace TB_CONFIG_POSIX_HAVE_SOCKET -> /* #undef TB_CONFIG_POSIX_HAVE_SOCKET */
  > replace TB_CONFIG_POSIX_HAVE_OPENDIR -> /* #undef TB_CONFIG_POSIX_HAVE_OPENDIR */
  > replace TB_CONFIG_POSIX_HAVE_DLOPEN -> /* #undef TB_CONFIG_POSIX_HAVE_DLOPEN */
  > replace TB_CONFIG_POSIX_HAVE_OPEN -> /* #undef TB_CONFIG_POSIX_HAVE_OPEN */
  > replace TB_CONFIG_POSIX_HAVE_STAT64 -> /* #undef TB_CONFIG_POSIX_HAVE_STAT64 */
  > replace TB_CONFIG_POSIX_HAVE_LSTAT64 -> /* #undef TB_CONFIG_POSIX_HAVE_LSTAT64 */
  > replace TB_CONFIG_POSIX_HAVE_GETHOSTNAME -> /* #undef TB_CONFIG_POSIX_HAVE_GETHOSTNAME */
  > replace TB_CONFIG_POSIX_HAVE_GETIFADDRS -> /* #undef TB_CONFIG_POSIX_HAVE_GETIFADDRS */
  > replace TB_CONFIG_POSIX_HAVE_SEM_INIT -> /* #undef TB_CONFIG_POSIX_HAVE_SEM_INIT */
  > replace TB_CONFIG_POSIX_HAVE_GETPAGESIZE -> /* #undef TB_CONFIG_POSIX_HAVE_GETPAGESIZE */
  > replace TB_CONFIG_POSIX_HAVE_SYSCONF -> /* #undef TB_CONFIG_POSIX_HAVE_SYSCONF */
  > replace TB_CONFIG_POSIX_HAVE_SCHED_YIELD -> /* #undef TB_CONFIG_POSIX_HAVE_SCHED_YIELD */
  > replace TB_CONFIG_POSIX_HAVE_SCHED_SETAFFINITY -> /* #undef TB_CONFIG_POSIX_HAVE_SCHED_SETAFFINITY */
  > replace TB_CONFIG_POSIX_HAVE_REGCOMP -> /* #undef TB_CONFIG_POSIX_HAVE_REGCOMP */
  > replace TB_CONFIG_POSIX_HAVE_REGEXEC -> /* #undef TB_CONFIG_POSIX_HAVE_REGEXEC */
  > replace TB_CONFIG_POSIX_HAVE_READV -> /* #undef TB_CONFIG_POSIX_HAVE_READV */
  > replace TB_CONFIG_POSIX_HAVE_WRITEV -> /* #undef TB_CONFIG_POSIX_HAVE_WRITEV */
  > replace TB_CONFIG_POSIX_HAVE_PREADV -> /* #undef TB_CONFIG_POSIX_HAVE_PREADV */
  > replace TB_CONFIG_POSIX_HAVE_PWRITEV -> /* #undef TB_CONFIG_POSIX_HAVE_PWRITEV */
  > replace TB_CONFIG_POSIX_HAVE_PREAD64 -> /* #undef TB_CONFIG_POSIX_HAVE_PREAD64 */
  > replace TB_CONFIG_POSIX_HAVE_PWRITE64 -> /* #undef TB_CONFIG_POSIX_HAVE_PWRITE64 */
  > replace TB_CONFIG_POSIX_HAVE_FDATASYNC -> /* #undef TB_CONFIG_POSIX_HAVE_FDATASYNC */
  > replace TB_CONFIG_POSIX_HAVE_COPYFILE -> /* #undef TB_CONFIG_POSIX_HAVE_COPYFILE */
  > replace TB_CONFIG_POSIX_HAVE_SENDFILE -> /* #undef TB_CONFIG_POSIX_HAVE_SENDFILE */
  > replace TB_CONFIG_POSIX_HAVE_EPOLL_CREATE -> /* #undef TB_CONFIG_POSIX_HAVE_EPOLL_CREATE */
  > replace TB_CONFIG_POSIX_HAVE_EPOLL_WAIT -> /* #undef TB_CONFIG_POSIX_HAVE_EPOLL_WAIT */
  > replace TB_CONFIG_POSIX_HAVE_POSIX_SPAWNP -> /* #undef TB_CONFIG_POSIX_HAVE_POSIX_SPAWNP */
  > replace TB_CONFIG_POSIX_HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR_NP -> /* #undef TB_CONFIG_POSIX_HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR_NP */
  > replace TB_CONFIG_POSIX_HAVE_EXECVP -> /* #undef TB_CONFIG_POSIX_HAVE_EXECVP */
  > replace TB_CONFIG_POSIX_HAVE_EXECVPE -> /* #undef TB_CONFIG_POSIX_HAVE_EXECVPE */
  > replace TB_CONFIG_POSIX_HAVE_FORK -> /* #undef TB_CONFIG_POSIX_HAVE_FORK */
  > replace TB_CONFIG_POSIX_HAVE_VFORK -> /* #undef TB_CONFIG_POSIX_HAVE_VFORK */
  > replace TB_CONFIG_POSIX_HAVE_WAITPID -> /* #undef TB_CONFIG_POSIX_HAVE_WAITPID */
  > replace TB_CONFIG_POSIX_HAVE_GETDTABLESIZE -> /* #undef TB_CONFIG_POSIX_HAVE_GETDTABLESIZE */
  > replace TB_CONFIG_POSIX_HAVE_GETRLIMIT -> /* #undef TB_CONFIG_POSIX_HAVE_GETRLIMIT */
  > replace TB_CONFIG_POSIX_HAVE_GETADDRINFO -> /* #undef TB_CONFIG_POSIX_HAVE_GETADDRINFO */
  > replace TB_CONFIG_POSIX_HAVE_GETNAMEINFO -> /* #undef TB_CONFIG_POSIX_HAVE_GETNAMEINFO */
  > replace TB_CONFIG_POSIX_HAVE_GETHOSTBYNAME -> /* #undef TB_CONFIG_POSIX_HAVE_GETHOSTBYNAME */
  > replace TB_CONFIG_POSIX_HAVE_GETHOSTBYADDR -> /* #undef TB_CONFIG_POSIX_HAVE_GETHOSTBYADDR */
  > replace TB_CONFIG_POSIX_HAVE_FCNTL -> /* #undef TB_CONFIG_POSIX_HAVE_FCNTL */
  > replace TB_CONFIG_POSIX_HAVE_PIPE -> /* #undef TB_CONFIG_POSIX_HAVE_PIPE */
  > replace TB_CONFIG_POSIX_HAVE_PIPE2 -> /* #undef TB_CONFIG_POSIX_HAVE_PIPE2 */
  > replace TB_CONFIG_POSIX_HAVE_MKFIFO -> /* #undef TB_CONFIG_POSIX_HAVE_MKFIFO */
  > replace TB_CONFIG_POSIX_HAVE_MMAP -> /* #undef TB_CONFIG_POSIX_HAVE_MMAP */
  > replace TB_CONFIG_POSIX_HAVE_FUTIMENS -> /* #undef TB_CONFIG_POSIX_HAVE_FUTIMENS */
  > replace TB_CONFIG_POSIX_HAVE_UTIMENSAT -> /* #undef TB_CONFIG_POSIX_HAVE_UTIMENSAT */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE_NF -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE_NF */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE_ACQ -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE_ACQ */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE_REL -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE_REL */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8 -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8 */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8_NF -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8_NF */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8_ACQ -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8_ACQ */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8_REL -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8_REL */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8 -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8 */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8_NF -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8_NF */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8_ACQ -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8_ACQ */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8_REL -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8_REL */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD_NF -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD_NF */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD_ACQ -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD_ACQ */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD_REL -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD_REL */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64 -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64 */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64_NF -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64_NF */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64_ACQ -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64_ACQ */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64_REL -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64_REL */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE_NF -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE_NF */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE_ACQ -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE_ACQ */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE_REL -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE_REL */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64 -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64 */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64_NF -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64_NF */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64_ACQ -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64_ACQ */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64_REL -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64_REL */
  > replace TB_CONFIG_BSD_HAVE_FLOCK -> /* #undef TB_CONFIG_BSD_HAVE_FLOCK */
  > replace TB_CONFIG_SYSTEMV_HAVE_SEMGET -> /* #undef TB_CONFIG_SYSTEMV_HAVE_SEMGET */
  > replace TB_CONFIG_SYSTEMV_HAVE_SEMTIMEDOP -> /* #undef TB_CONFIG_SYSTEMV_HAVE_SEMTIMEDOP */
  > replace TB_CONFIG_LINUX_HAVE_INOTIFY_INIT -> /* #undef TB_CONFIG_LINUX_HAVE_INOTIFY_INIT */
  > replace TB_CONFIG_VALGRIND_HAVE_VALGRIND_STACK_REGISTER -> /* #undef TB_CONFIG_VALGRIND_HAVE_VALGRIND_STACK_REGISTER */
generating src/tbox/tbox.config.h.in ... cache
configure
{
    host = macosx
    force-utf8 = false
    wchar = false
    small = true
    charset = false
    plat = macosx
    object = false
    xcode = /Applications/Xcode.app
    clean = true
    database = false
    mode = release
    kind = static
    hash = false
    coroutine = false
    demo = true
    zip = false
    pcre = false
    exception = false
    ccache = true
    deprecated = false
    arch = arm64
    sqlite3 = false
    regex = false
    polarssl = false
    openssl = false
    xml = false
    pcre2 = false
    micro = false
    info = false
    mbedtls = false
    buildir = build
    zlib = false
    xcode_codesign_identity = localhost
    mysql = false
    ndk_stdcxx = true
    float = true
}
waruqi commented 1 year ago

Weird, it doesn't detect any apis, what is your tbox commit?

It should be

checking for libc_memmove ... ok
checking for libc_strncpy ... ok
checking for libc_memset ... ok
checking for libc_strcpy ... ok
checking for libc_memcpy ... ok
checking for libc_strlcpy ... ok
checking for libc_strcat ... ok
checking for libc_strncat ... ok
checking for libc_memmem ... ok
checking for libc_memcmp ... ok
checking for libc_strlen ... ok
checking for libc_strnlen ... ok
...
pan93412 commented 1 year ago

e95f652c85796f1d707ce59786cdc061ed99dbbf, note that I cloned with --depth 1 but it may not relate to this issue.

pan93412 commented 1 year ago

I have added some additional flags to workaround the wchar issue:

$ LDFLAGS="-L/opt/homebrew/opt/llvm@15/lib/c++ -Wl,-rpath,/opt/homebrew/opt/llvm@15/lib/c++" xmake f -cvD --cc=/opt/homebrew/opt/llvm@15/bin/clang++
checking for platform ... macosx
checking for architecture ... arm64
checking for Xcode directory ... /Applications/Xcode.app
checking for Codesign Identity of Xcode ... Apple Development: pan93412@outlook.com (FUWX64N888)
checking for SDK version of Xcode for macosx (arm64) ... 13.3
checking for Minimal target version of Xcode for macosx (arm64) ... 13.3
checking for zig ... /Users/pan93412/.bun/bin/zig
checking for /opt/homebrew/opt/llvm@15/bin/clang++ ... ok
checking for flags (-fPIC) ... ok
> clang++ "-fPIC" "-Qunused-arguments" "-target" "arm64-apple-macos13.3" "-isysroot" "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk"
> /opt/homebrew/opt/llvm@15/bin/clang++ -c -Qunused-arguments -target arm64-apple-macos13.3 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk -o /var/folders/cn/c_n1ss3x7rx78k6mpw9t6bsm0000gn/T/.xmake501/230914/_6D72170F563C46208E40FB5E416F7D50.o /var/folders/cn/c_n1ss3x7rx78k6mpw9t6bsm0000gn/T/.xmake501/230914/_CBE74A28487345B486C44F2A5F52A38D.c
checking for flags (-fdiagnostics-color=always) ... ok
> clang++ "-fdiagnostics-color=always" "-Qunused-arguments" "-target" "arm64-apple-macos13.3" "-isysroot" "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk"
clang-15: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
> checking for c types(wchar_t)
checking for wchar ... ok
generating src/tbox/tbox.config.h.in to build/macosx/arm64/release/tbox.config.h ..
checking for git ... /opt/homebrew/bin/git
  > replace VERSION -> 1.7.4
  > replace VERSION_MAJOR -> 1
  > replace VERSION_MINOR -> 7
  > replace VERSION_ALTER -> 4
  > replace VERSION_BUILD -> 20230914
  > replace OS -> MACOSX
  > replace _GNU_SOURCE -> #define _GNU_SOURCE 1
  > replace _REENTRANT -> #define _REENTRANT 1
  > replace TB_CONFIG_SMALL -> #define TB_CONFIG_SMALL 1
  > replace TB_CONFIG_MICRO_ENABLE -> /* #undef TB_CONFIG_MICRO_ENABLE */
  > replace TB_CONFIG_TYPE_HAVE_WCHAR -> #define TB_CONFIG_TYPE_HAVE_WCHAR 1
  > replace TB_CONFIG_TYPE_HAVE_FLOAT -> #define TB_CONFIG_TYPE_HAVE_FLOAT 1
  > replace TB_CONFIG_FORCE_UTF8 -> /* #undef TB_CONFIG_FORCE_UTF8 */
  > replace TB_CONFIG_API_HAVE_DEPRECATED -> /* #undef TB_CONFIG_API_HAVE_DEPRECATED */
  > replace TB_CONFIG_EXCEPTION_ENABLE -> /* #undef TB_CONFIG_EXCEPTION_ENABLE */
  > replace TB_CONFIG_KEYWORD_HAVE__thread -> /* #undef TB_CONFIG_KEYWORD_HAVE__thread */
  > replace TB_CONFIG_KEYWORD_HAVE_Thread_local -> /* #undef TB_CONFIG_KEYWORD_HAVE_Thread_local */
  > replace TB_CONFIG_FEATURE_HAVE_ANONYMOUS_UNION -> /* #undef TB_CONFIG_FEATURE_HAVE_ANONYMOUS_UNION */
  > replace TB_CONFIG_MODULE_HAVE_XML -> /* #undef TB_CONFIG_MODULE_HAVE_XML */
  > replace TB_CONFIG_MODULE_HAVE_ZIP -> /* #undef TB_CONFIG_MODULE_HAVE_ZIP */
  > replace TB_CONFIG_MODULE_HAVE_HASH -> /* #undef TB_CONFIG_MODULE_HAVE_HASH */
  > replace TB_CONFIG_MODULE_HAVE_REGEX -> /* #undef TB_CONFIG_MODULE_HAVE_REGEX */
  > replace TB_CONFIG_MODULE_HAVE_OBJECT -> /* #undef TB_CONFIG_MODULE_HAVE_OBJECT */
  > replace TB_CONFIG_MODULE_HAVE_CHARSET -> /* #undef TB_CONFIG_MODULE_HAVE_CHARSET */
  > replace TB_CONFIG_MODULE_HAVE_DATABASE -> /* #undef TB_CONFIG_MODULE_HAVE_DATABASE */
  > replace TB_CONFIG_MODULE_HAVE_COROUTINE -> /* #undef TB_CONFIG_MODULE_HAVE_COROUTINE */
  > replace TB_CONFIG_PACKAGE_HAVE_ZLIB -> /* #undef TB_CONFIG_PACKAGE_HAVE_ZLIB */
  > replace TB_CONFIG_PACKAGE_HAVE_MYSQL -> /* #undef TB_CONFIG_PACKAGE_HAVE_MYSQL */
  > replace TB_CONFIG_PACKAGE_HAVE_SQLITE3 -> /* #undef TB_CONFIG_PACKAGE_HAVE_SQLITE3 */
  > replace TB_CONFIG_PACKAGE_HAVE_OPENSSL -> /* #undef TB_CONFIG_PACKAGE_HAVE_OPENSSL */
  > replace TB_CONFIG_PACKAGE_HAVE_POLARSSL -> /* #undef TB_CONFIG_PACKAGE_HAVE_POLARSSL */
  > replace TB_CONFIG_PACKAGE_HAVE_MBEDTLS -> /* #undef TB_CONFIG_PACKAGE_HAVE_MBEDTLS */
  > replace TB_CONFIG_PACKAGE_HAVE_PCRE2 -> /* #undef TB_CONFIG_PACKAGE_HAVE_PCRE2 */
  > replace TB_CONFIG_PACKAGE_HAVE_PCRE -> /* #undef TB_CONFIG_PACKAGE_HAVE_PCRE */
  > replace TB_CONFIG_LIBC_HAVE_MEMCPY -> /* #undef TB_CONFIG_LIBC_HAVE_MEMCPY */
  > replace TB_CONFIG_LIBC_HAVE_MEMSET -> /* #undef TB_CONFIG_LIBC_HAVE_MEMSET */
  > replace TB_CONFIG_LIBC_HAVE_MEMMOVE -> /* #undef TB_CONFIG_LIBC_HAVE_MEMMOVE */
  > replace TB_CONFIG_LIBC_HAVE_MEMCMP -> /* #undef TB_CONFIG_LIBC_HAVE_MEMCMP */
  > replace TB_CONFIG_LIBC_HAVE_MEMMEM -> /* #undef TB_CONFIG_LIBC_HAVE_MEMMEM */
  > replace TB_CONFIG_LIBC_HAVE_STRCAT -> /* #undef TB_CONFIG_LIBC_HAVE_STRCAT */
  > replace TB_CONFIG_LIBC_HAVE_STRNCAT -> /* #undef TB_CONFIG_LIBC_HAVE_STRNCAT */
  > replace TB_CONFIG_LIBC_HAVE_STRCPY -> /* #undef TB_CONFIG_LIBC_HAVE_STRCPY */
  > replace TB_CONFIG_LIBC_HAVE_STRNCPY -> /* #undef TB_CONFIG_LIBC_HAVE_STRNCPY */
  > replace TB_CONFIG_LIBC_HAVE_STRLCPY -> /* #undef TB_CONFIG_LIBC_HAVE_STRLCPY */
  > replace TB_CONFIG_LIBC_HAVE_STRLEN -> /* #undef TB_CONFIG_LIBC_HAVE_STRLEN */
  > replace TB_CONFIG_LIBC_HAVE_STRNLEN -> /* #undef TB_CONFIG_LIBC_HAVE_STRNLEN */
  > replace TB_CONFIG_LIBC_HAVE_STRCHR -> /* #undef TB_CONFIG_LIBC_HAVE_STRCHR */
  > replace TB_CONFIG_LIBC_HAVE_STRRCHR -> /* #undef TB_CONFIG_LIBC_HAVE_STRRCHR */
  > replace TB_CONFIG_LIBC_HAVE_STRSTR -> /* #undef TB_CONFIG_LIBC_HAVE_STRSTR */
  > replace TB_CONFIG_LIBC_HAVE_STRCASESTR -> /* #undef TB_CONFIG_LIBC_HAVE_STRCASESTR */
  > replace TB_CONFIG_LIBC_HAVE_STRCMP -> /* #undef TB_CONFIG_LIBC_HAVE_STRCMP */
  > replace TB_CONFIG_LIBC_HAVE_STRCASECMP -> /* #undef TB_CONFIG_LIBC_HAVE_STRCASECMP */
  > replace TB_CONFIG_LIBC_HAVE_STRNCMP -> /* #undef TB_CONFIG_LIBC_HAVE_STRNCMP */
  > replace TB_CONFIG_LIBC_HAVE_STRNCASECMP -> /* #undef TB_CONFIG_LIBC_HAVE_STRNCASECMP */
  > replace TB_CONFIG_LIBC_HAVE_WCSCAT -> /* #undef TB_CONFIG_LIBC_HAVE_WCSCAT */
  > replace TB_CONFIG_LIBC_HAVE_WCSNCAT -> /* #undef TB_CONFIG_LIBC_HAVE_WCSNCAT */
  > replace TB_CONFIG_LIBC_HAVE_WCSCPY -> /* #undef TB_CONFIG_LIBC_HAVE_WCSCPY */
  > replace TB_CONFIG_LIBC_HAVE_WCSNCPY -> /* #undef TB_CONFIG_LIBC_HAVE_WCSNCPY */
  > replace TB_CONFIG_LIBC_HAVE_WCSLCPY -> /* #undef TB_CONFIG_LIBC_HAVE_WCSLCPY */
  > replace TB_CONFIG_LIBC_HAVE_WCSLEN -> /* #undef TB_CONFIG_LIBC_HAVE_WCSLEN */
  > replace TB_CONFIG_LIBC_HAVE_WCSNLEN -> /* #undef TB_CONFIG_LIBC_HAVE_WCSNLEN */
  > replace TB_CONFIG_LIBC_HAVE_WCSSTR -> /* #undef TB_CONFIG_LIBC_HAVE_WCSSTR */
  > replace TB_CONFIG_LIBC_HAVE_WCSCASESTR -> /* #undef TB_CONFIG_LIBC_HAVE_WCSCASESTR */
  > replace TB_CONFIG_LIBC_HAVE_WCSCMP -> /* #undef TB_CONFIG_LIBC_HAVE_WCSCMP */
  > replace TB_CONFIG_LIBC_HAVE_WCSCASECMP -> /* #undef TB_CONFIG_LIBC_HAVE_WCSCASECMP */
  > replace TB_CONFIG_LIBC_HAVE_WCSNCMP -> /* #undef TB_CONFIG_LIBC_HAVE_WCSNCMP */
  > replace TB_CONFIG_LIBC_HAVE_WCSNCASECMP -> /* #undef TB_CONFIG_LIBC_HAVE_WCSNCASECMP */
  > replace TB_CONFIG_LIBC_HAVE_WCSTOMBS -> /* #undef TB_CONFIG_LIBC_HAVE_WCSTOMBS */
  > replace TB_CONFIG_LIBC_HAVE_MBSTOWCS -> /* #undef TB_CONFIG_LIBC_HAVE_MBSTOWCS */
  > replace TB_CONFIG_LIBC_HAVE_GMTIME -> /* #undef TB_CONFIG_LIBC_HAVE_GMTIME */
  > replace TB_CONFIG_LIBC_HAVE_MKTIME -> /* #undef TB_CONFIG_LIBC_HAVE_MKTIME */
  > replace TB_CONFIG_LIBC_HAVE_LOCALTIME -> /* #undef TB_CONFIG_LIBC_HAVE_LOCALTIME */
  > replace TB_CONFIG_LIBC_HAVE_GETTIMEOFDAY -> /* #undef TB_CONFIG_LIBC_HAVE_GETTIMEOFDAY */
  > replace TB_CONFIG_LIBC_HAVE_SIGNAL -> /* #undef TB_CONFIG_LIBC_HAVE_SIGNAL */
  > replace TB_CONFIG_LIBC_HAVE_SETJMP -> /* #undef TB_CONFIG_LIBC_HAVE_SETJMP */
  > replace TB_CONFIG_LIBC_HAVE_SIGSETJMP -> /* #undef TB_CONFIG_LIBC_HAVE_SIGSETJMP */
  > replace TB_CONFIG_LIBC_HAVE_KILL -> /* #undef TB_CONFIG_LIBC_HAVE_KILL */
  > replace TB_CONFIG_LIBC_HAVE_BACKTRACE -> /* #undef TB_CONFIG_LIBC_HAVE_BACKTRACE */
  > replace TB_CONFIG_LIBC_HAVE_SETLOCALE -> /* #undef TB_CONFIG_LIBC_HAVE_SETLOCALE */
  > replace TB_CONFIG_LIBC_HAVE_FPUTC -> /* #undef TB_CONFIG_LIBC_HAVE_FPUTC */
  > replace TB_CONFIG_LIBC_HAVE_FGETC -> /* #undef TB_CONFIG_LIBC_HAVE_FGETC */
  > replace TB_CONFIG_LIBC_HAVE_UNGETC -> /* #undef TB_CONFIG_LIBC_HAVE_UNGETC */
  > replace TB_CONFIG_LIBC_HAVE_FPUTS -> /* #undef TB_CONFIG_LIBC_HAVE_FPUTS */
  > replace TB_CONFIG_LIBC_HAVE_FGETS -> /* #undef TB_CONFIG_LIBC_HAVE_FGETS */
  > replace TB_CONFIG_LIBC_HAVE_FREAD -> /* #undef TB_CONFIG_LIBC_HAVE_FREAD */
  > replace TB_CONFIG_LIBC_HAVE_FWRITE -> /* #undef TB_CONFIG_LIBC_HAVE_FWRITE */
  > replace TB_CONFIG_LIBC_HAVE_SRANDOM -> /* #undef TB_CONFIG_LIBC_HAVE_SRANDOM */
  > replace TB_CONFIG_LIBC_HAVE_RANDOM -> /* #undef TB_CONFIG_LIBC_HAVE_RANDOM */
  > replace TB_CONFIG_LIBM_HAVE_SINCOS -> /* #undef TB_CONFIG_LIBM_HAVE_SINCOS */
  > replace TB_CONFIG_LIBM_HAVE_SINCOSF -> /* #undef TB_CONFIG_LIBM_HAVE_SINCOSF */
  > replace TB_CONFIG_LIBM_HAVE_LOG2 -> /* #undef TB_CONFIG_LIBM_HAVE_LOG2 */
  > replace TB_CONFIG_LIBM_HAVE_LOG2F -> /* #undef TB_CONFIG_LIBM_HAVE_LOG2F */
  > replace TB_CONFIG_LIBM_HAVE_SQRT -> /* #undef TB_CONFIG_LIBM_HAVE_SQRT */
  > replace TB_CONFIG_LIBM_HAVE_SQRTF -> /* #undef TB_CONFIG_LIBM_HAVE_SQRTF */
  > replace TB_CONFIG_LIBM_HAVE_ACOS -> /* #undef TB_CONFIG_LIBM_HAVE_ACOS */
  > replace TB_CONFIG_LIBM_HAVE_ACOSF -> /* #undef TB_CONFIG_LIBM_HAVE_ACOSF */
  > replace TB_CONFIG_LIBM_HAVE_ASIN -> /* #undef TB_CONFIG_LIBM_HAVE_ASIN */
  > replace TB_CONFIG_LIBM_HAVE_ASINF -> /* #undef TB_CONFIG_LIBM_HAVE_ASINF */
  > replace TB_CONFIG_LIBM_HAVE_POW -> /* #undef TB_CONFIG_LIBM_HAVE_POW */
  > replace TB_CONFIG_LIBM_HAVE_POWF -> /* #undef TB_CONFIG_LIBM_HAVE_POWF */
  > replace TB_CONFIG_LIBM_HAVE_FMOD -> /* #undef TB_CONFIG_LIBM_HAVE_FMOD */
  > replace TB_CONFIG_LIBM_HAVE_FMODF -> /* #undef TB_CONFIG_LIBM_HAVE_FMODF */
  > replace TB_CONFIG_LIBM_HAVE_TAN -> /* #undef TB_CONFIG_LIBM_HAVE_TAN */
  > replace TB_CONFIG_LIBM_HAVE_TANF -> /* #undef TB_CONFIG_LIBM_HAVE_TANF */
  > replace TB_CONFIG_LIBM_HAVE_ATAN -> /* #undef TB_CONFIG_LIBM_HAVE_ATAN */
  > replace TB_CONFIG_LIBM_HAVE_ATANF -> /* #undef TB_CONFIG_LIBM_HAVE_ATANF */
  > replace TB_CONFIG_LIBM_HAVE_ATAN2 -> /* #undef TB_CONFIG_LIBM_HAVE_ATAN2 */
  > replace TB_CONFIG_LIBM_HAVE_ATAN2F -> /* #undef TB_CONFIG_LIBM_HAVE_ATAN2F */
  > replace TB_CONFIG_LIBM_HAVE_COS -> /* #undef TB_CONFIG_LIBM_HAVE_COS */
  > replace TB_CONFIG_LIBM_HAVE_COSF -> /* #undef TB_CONFIG_LIBM_HAVE_COSF */
  > replace TB_CONFIG_LIBM_HAVE_SIN -> /* #undef TB_CONFIG_LIBM_HAVE_SIN */
  > replace TB_CONFIG_LIBM_HAVE_SINF -> /* #undef TB_CONFIG_LIBM_HAVE_SINF */
  > replace TB_CONFIG_LIBM_HAVE_EXP -> /* #undef TB_CONFIG_LIBM_HAVE_EXP */
  > replace TB_CONFIG_LIBM_HAVE_EXPF -> /* #undef TB_CONFIG_LIBM_HAVE_EXPF */
  > replace TB_CONFIG_POSIX_HAVE_POLL -> /* #undef TB_CONFIG_POSIX_HAVE_POLL */
  > replace TB_CONFIG_POSIX_HAVE_SELECT -> /* #undef TB_CONFIG_POSIX_HAVE_SELECT */
  > replace TB_CONFIG_POSIX_HAVE_PTHREAD_MUTEX_INIT -> /* #undef TB_CONFIG_POSIX_HAVE_PTHREAD_MUTEX_INIT */
  > replace TB_CONFIG_POSIX_HAVE_PTHREAD_CREATE -> /* #undef TB_CONFIG_POSIX_HAVE_PTHREAD_CREATE */
  > replace TB_CONFIG_POSIX_HAVE_PTHREAD_SETSPECIFIC -> /* #undef TB_CONFIG_POSIX_HAVE_PTHREAD_SETSPECIFIC */
  > replace TB_CONFIG_POSIX_HAVE_PTHREAD_GETSPECIFIC -> /* #undef TB_CONFIG_POSIX_HAVE_PTHREAD_GETSPECIFIC */
  > replace TB_CONFIG_POSIX_HAVE_PTHREAD_KEY_CREATE -> /* #undef TB_CONFIG_POSIX_HAVE_PTHREAD_KEY_CREATE */
  > replace TB_CONFIG_POSIX_HAVE_PTHREAD_KEY_DELETE -> /* #undef TB_CONFIG_POSIX_HAVE_PTHREAD_KEY_DELETE */
  > replace TB_CONFIG_POSIX_HAVE_PTHREAD_SETAFFINITY_NP -> /* #undef TB_CONFIG_POSIX_HAVE_PTHREAD_SETAFFINITY_NP */
  > replace TB_CONFIG_POSIX_HAVE_SOCKET -> /* #undef TB_CONFIG_POSIX_HAVE_SOCKET */
  > replace TB_CONFIG_POSIX_HAVE_OPENDIR -> /* #undef TB_CONFIG_POSIX_HAVE_OPENDIR */
  > replace TB_CONFIG_POSIX_HAVE_DLOPEN -> /* #undef TB_CONFIG_POSIX_HAVE_DLOPEN */
  > replace TB_CONFIG_POSIX_HAVE_OPEN -> /* #undef TB_CONFIG_POSIX_HAVE_OPEN */
  > replace TB_CONFIG_POSIX_HAVE_STAT64 -> /* #undef TB_CONFIG_POSIX_HAVE_STAT64 */
  > replace TB_CONFIG_POSIX_HAVE_LSTAT64 -> /* #undef TB_CONFIG_POSIX_HAVE_LSTAT64 */
  > replace TB_CONFIG_POSIX_HAVE_GETHOSTNAME -> /* #undef TB_CONFIG_POSIX_HAVE_GETHOSTNAME */
  > replace TB_CONFIG_POSIX_HAVE_GETIFADDRS -> /* #undef TB_CONFIG_POSIX_HAVE_GETIFADDRS */
  > replace TB_CONFIG_POSIX_HAVE_SEM_INIT -> /* #undef TB_CONFIG_POSIX_HAVE_SEM_INIT */
  > replace TB_CONFIG_POSIX_HAVE_GETPAGESIZE -> /* #undef TB_CONFIG_POSIX_HAVE_GETPAGESIZE */
  > replace TB_CONFIG_POSIX_HAVE_SYSCONF -> /* #undef TB_CONFIG_POSIX_HAVE_SYSCONF */
  > replace TB_CONFIG_POSIX_HAVE_SCHED_YIELD -> /* #undef TB_CONFIG_POSIX_HAVE_SCHED_YIELD */
  > replace TB_CONFIG_POSIX_HAVE_SCHED_SETAFFINITY -> /* #undef TB_CONFIG_POSIX_HAVE_SCHED_SETAFFINITY */
  > replace TB_CONFIG_POSIX_HAVE_REGCOMP -> /* #undef TB_CONFIG_POSIX_HAVE_REGCOMP */
  > replace TB_CONFIG_POSIX_HAVE_REGEXEC -> /* #undef TB_CONFIG_POSIX_HAVE_REGEXEC */
  > replace TB_CONFIG_POSIX_HAVE_READV -> /* #undef TB_CONFIG_POSIX_HAVE_READV */
  > replace TB_CONFIG_POSIX_HAVE_WRITEV -> /* #undef TB_CONFIG_POSIX_HAVE_WRITEV */
  > replace TB_CONFIG_POSIX_HAVE_PREADV -> /* #undef TB_CONFIG_POSIX_HAVE_PREADV */
  > replace TB_CONFIG_POSIX_HAVE_PWRITEV -> /* #undef TB_CONFIG_POSIX_HAVE_PWRITEV */
  > replace TB_CONFIG_POSIX_HAVE_PREAD64 -> /* #undef TB_CONFIG_POSIX_HAVE_PREAD64 */
  > replace TB_CONFIG_POSIX_HAVE_PWRITE64 -> /* #undef TB_CONFIG_POSIX_HAVE_PWRITE64 */
  > replace TB_CONFIG_POSIX_HAVE_FDATASYNC -> /* #undef TB_CONFIG_POSIX_HAVE_FDATASYNC */
  > replace TB_CONFIG_POSIX_HAVE_COPYFILE -> /* #undef TB_CONFIG_POSIX_HAVE_COPYFILE */
  > replace TB_CONFIG_POSIX_HAVE_SENDFILE -> /* #undef TB_CONFIG_POSIX_HAVE_SENDFILE */
  > replace TB_CONFIG_POSIX_HAVE_EPOLL_CREATE -> /* #undef TB_CONFIG_POSIX_HAVE_EPOLL_CREATE */
  > replace TB_CONFIG_POSIX_HAVE_EPOLL_WAIT -> /* #undef TB_CONFIG_POSIX_HAVE_EPOLL_WAIT */
  > replace TB_CONFIG_POSIX_HAVE_POSIX_SPAWNP -> /* #undef TB_CONFIG_POSIX_HAVE_POSIX_SPAWNP */
  > replace TB_CONFIG_POSIX_HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR_NP -> /* #undef TB_CONFIG_POSIX_HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR_NP */
  > replace TB_CONFIG_POSIX_HAVE_EXECVP -> /* #undef TB_CONFIG_POSIX_HAVE_EXECVP */
  > replace TB_CONFIG_POSIX_HAVE_EXECVPE -> /* #undef TB_CONFIG_POSIX_HAVE_EXECVPE */
  > replace TB_CONFIG_POSIX_HAVE_FORK -> /* #undef TB_CONFIG_POSIX_HAVE_FORK */
  > replace TB_CONFIG_POSIX_HAVE_VFORK -> /* #undef TB_CONFIG_POSIX_HAVE_VFORK */
  > replace TB_CONFIG_POSIX_HAVE_WAITPID -> /* #undef TB_CONFIG_POSIX_HAVE_WAITPID */
  > replace TB_CONFIG_POSIX_HAVE_GETDTABLESIZE -> /* #undef TB_CONFIG_POSIX_HAVE_GETDTABLESIZE */
  > replace TB_CONFIG_POSIX_HAVE_GETRLIMIT -> /* #undef TB_CONFIG_POSIX_HAVE_GETRLIMIT */
  > replace TB_CONFIG_POSIX_HAVE_GETADDRINFO -> /* #undef TB_CONFIG_POSIX_HAVE_GETADDRINFO */
  > replace TB_CONFIG_POSIX_HAVE_GETNAMEINFO -> /* #undef TB_CONFIG_POSIX_HAVE_GETNAMEINFO */
  > replace TB_CONFIG_POSIX_HAVE_GETHOSTBYNAME -> /* #undef TB_CONFIG_POSIX_HAVE_GETHOSTBYNAME */
  > replace TB_CONFIG_POSIX_HAVE_GETHOSTBYADDR -> /* #undef TB_CONFIG_POSIX_HAVE_GETHOSTBYADDR */
  > replace TB_CONFIG_POSIX_HAVE_FCNTL -> /* #undef TB_CONFIG_POSIX_HAVE_FCNTL */
  > replace TB_CONFIG_POSIX_HAVE_PIPE -> /* #undef TB_CONFIG_POSIX_HAVE_PIPE */
  > replace TB_CONFIG_POSIX_HAVE_PIPE2 -> /* #undef TB_CONFIG_POSIX_HAVE_PIPE2 */
  > replace TB_CONFIG_POSIX_HAVE_MKFIFO -> /* #undef TB_CONFIG_POSIX_HAVE_MKFIFO */
  > replace TB_CONFIG_POSIX_HAVE_MMAP -> /* #undef TB_CONFIG_POSIX_HAVE_MMAP */
  > replace TB_CONFIG_POSIX_HAVE_FUTIMENS -> /* #undef TB_CONFIG_POSIX_HAVE_FUTIMENS */
  > replace TB_CONFIG_POSIX_HAVE_UTIMENSAT -> /* #undef TB_CONFIG_POSIX_HAVE_UTIMENSAT */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE_NF -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE_NF */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE_ACQ -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE_ACQ */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE_REL -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE_REL */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8 -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8 */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8_NF -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8_NF */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8_ACQ -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8_ACQ */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8_REL -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8_REL */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8 -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8 */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8_NF -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8_NF */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8_ACQ -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8_ACQ */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8_REL -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8_REL */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD_NF -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD_NF */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD_ACQ -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD_ACQ */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD_REL -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD_REL */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64 -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64 */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64_NF -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64_NF */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64_ACQ -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64_ACQ */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64_REL -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64_REL */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE_NF -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE_NF */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE_ACQ -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE_ACQ */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE_REL -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE_REL */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64 -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64 */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64_NF -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64_NF */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64_ACQ -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64_ACQ */
  > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64_REL -> /* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64_REL */
  > replace TB_CONFIG_BSD_HAVE_FLOCK -> /* #undef TB_CONFIG_BSD_HAVE_FLOCK */
  > replace TB_CONFIG_SYSTEMV_HAVE_SEMGET -> /* #undef TB_CONFIG_SYSTEMV_HAVE_SEMGET */
  > replace TB_CONFIG_SYSTEMV_HAVE_SEMTIMEDOP -> /* #undef TB_CONFIG_SYSTEMV_HAVE_SEMTIMEDOP */
  > replace TB_CONFIG_LINUX_HAVE_INOTIFY_INIT -> /* #undef TB_CONFIG_LINUX_HAVE_INOTIFY_INIT */
  > replace TB_CONFIG_VALGRIND_HAVE_VALGRIND_STACK_REGISTER -> /* #undef TB_CONFIG_VALGRIND_HAVE_VALGRIND_STACK_REGISTER */
generating src/tbox/tbox.config.h.in ... ok
configure
{
    host = macosx
    charset = false
    xml = false
    zip = false
    force-utf8 = false
    xcode_codesign_identity = Apple Development: pan93412@outlook.com (FUWX64N888)
    deprecated = false
    exception = false
    ccache = true
    pcre = false
    xcode = /Applications/Xcode.app
    plat = macosx
    pcre2 = false
    buildir = build
    zlib = false
    small = true
    mysql = false
    wchar = true
    info = false
    polarssl = false
    kind = static
    hash = false
    openssl = false
    clean = true
    cc = /opt/homebrew/opt/llvm@15/bin/clang++
    float = true
    arch = arm64
    database = false
    object = false
    ndk_stdcxx = true
    regex = false
    mbedtls = false
    sqlite3 = false
    coroutine = false
    micro = false
    demo = true
    mode = release
}
pan93412 commented 1 year ago

Note that the build is successful with the classical ./configure && make

$ ./configure
checking for platform ... macosx
checking for architecture ... arm64
checking for make ... ok
checking for the c compiler (cc) ... clang
checking for the c++ compiler (cxx) ... clang
checking for the assembler (as) ... clang
checking for the objc compiler (mm) ... clang
checking for the objc++ compiler (mxx) ... clang
checking for the linker (ld) ... clang++
checking for the static library archiver (ar) ... ar
checking for the shared library linker (sh) ... clang++
checking for toolchain ... clang
checking for wchar .. no
checking for libc_memcpy .. ok
checking for libc_memset .. ok
checking for libc_memmove .. ok
checking for libc_memcmp .. ok
checking for libc_memmem .. ok
checking for libc_strcat .. ok
checking for libc_strncat .. ok
checking for libc_strcpy .. ok
checking for libc_strncpy .. ok
checking for libc_strlcpy .. ok
checking for libc_strlen .. ok
checking for libc_strnlen .. ok
checking for libc_strstr .. ok
checking for libc_strchr .. ok
checking for libc_strrchr .. ok
checking for libc_strcasestr .. ok
checking for libc_strcmp .. ok
checking for libc_strcasecmp .. ok
checking for libc_strncmp .. ok
checking for libc_strncasecmp .. ok
checking for libc_wcscat .. ok
checking for libc_wcsncat .. ok
checking for libc_wcscpy .. ok
checking for libc_wcsncpy .. ok
checking for libc_wcslcpy .. ok
checking for libc_wcslen .. ok
checking for libc_wcsnlen .. ok
checking for libc_wcsstr .. ok
checking for libc_wcscasestr .. no
checking for libc_wcscmp .. ok
checking for libc_wcscasecmp .. ok
checking for libc_wcsncmp .. ok
checking for libc_wcsncasecmp .. ok
checking for libc_wcstombs .. ok
checking for libc_mbstowcs .. ok
checking for libc_gmtime .. ok
checking for libc_mktime .. ok
checking for libc_localtime .. ok
checking for libc_gettimeofday .. ok
checking for libc_signal .. ok
checking for libc_setjmp .. ok
checking for libc_kill .. ok
checking for libc_backtrace .. ok
checking for libc_setlocale .. ok
checking for libc_fputs .. ok
checking for libc_fgets .. ok
checking for libc_fgetc .. ok
checking for libc_ungetc .. ok
checking for libc_fputc .. ok
checking for libc_fread .. ok
checking for libc_fwrite .. ok
checking for libc_srandom .. ok
checking for libc_random .. ok
checking for libm_sincos .. no
checking for libm_sincosf .. no
checking for libm_log2 .. ok
checking for libm_log2f .. ok
checking for libm_sqrt .. ok
checking for libm_sqrtf .. ok
checking for libm_acos .. ok
checking for libm_acosf .. ok
checking for libm_asin .. ok
checking for libm_asinf .. ok
checking for libm_pow .. ok
checking for libm_powf .. ok
checking for libm_fmod .. ok
checking for libm_fmodf .. ok
checking for libm_tan .. ok
checking for libm_tanf .. ok
checking for libm_atan .. ok
checking for libm_atanf .. ok
checking for libm_atan2 .. ok
checking for libm_atan2f .. ok
checking for libm_cos .. ok
checking for libm_cosf .. ok
checking for libm_sin .. ok
checking for libm_sinf .. ok
checking for libm_exp .. ok
checking for libm_expf .. ok
checking for posix_poll .. ok
checking for posix_select .. ok
checking for posix_pthread_mutex_init .. ok
checking for posix_pthread_create .. ok
checking for posix_pthread_setspecific .. ok
checking for posix_pthread_getspecific .. ok
checking for posix_pthread_key_create .. ok
checking for posix_pthread_key_delete .. ok
checking for posix_pthread_setaffinity_np .. no
checking for posix_socket .. ok
checking for posix_opendir .. ok
checking for posix_dlopen .. ok
checking for posix_open .. ok
checking for posix_stat64 .. no
checking for posix_lstat64 .. no
checking for posix_gethostname .. ok
checking for posix_getifaddrs .. ok
checking for posix_sem_init .. no
checking for posix_getpagesize .. ok
checking for posix_sysconf .. ok
checking for posix_sched_yield .. ok
checking for posix_sched_setaffinity .. no
checking for posix_regcomp .. ok
checking for posix_regexec .. ok
checking for posix_readv .. ok
checking for posix_writev .. ok
checking for posix_preadv .. ok
checking for posix_pwritev .. ok
checking for posix_pread64 .. no
checking for posix_pwrite64 .. no
checking for posix_fdatasync .. no
checking for posix_copyfile .. ok
checking for posix_sendfile .. no
checking for posix_epoll_create .. no
checking for posix_epoll_wait .. no
checking for posix_posix_spawnp .. ok
checking for posix_posix_spawn_file_actions_addchdir_np .. ok
checking for posix_execvp .. ok
checking for posix_execvpe .. no
checking for posix_fork .. ok
checking for posix_vfork .. no
checking for posix_waitpid .. ok
checking for posix_getdtablesize .. ok
checking for posix_getrlimit .. ok
checking for posix_getaddrinfo .. ok
checking for posix_getnameinfo .. ok
checking for posix_gethostbyname .. ok
checking for posix_gethostbyaddr .. ok
checking for posix_fcntl .. ok
checking for posix_pipe .. ok
checking for posix_pipe2 .. no
checking for posix_mkfifo .. ok
checking for posix_mmap .. ok
checking for posix_futimens .. ok
checking for posix_utimensat .. ok
checking for bsd_flock .. ok
checking for systemv_semget .. ok
checking for systemv_semtimedop .. no
checking for linux_inotify_init .. no
checking for libc_sigsetjmp .. ok
checking for valgrind .. no
checking for keyword_thread .. ok
checking for keyword_thread_local .. ok
checking for feature_anonymous_union .. ok
analyzing project configuration ..
generating build/macosx/arm64/release/tbox.config.h ..
build/macosx/arm64/release/tbox.config.h is generated!
generating makefile ..
makefile is generated!

$ make
compiling.release src/tbox/libc/string/strlen.c
compiling.release src/tbox/libc/string/strcmp.c
compiling.release src/tbox/libc/string/wcsncmp.c
compiling.release src/tbox/libc/string/wcsirchr.c
compiling.release src/tbox/libc/string/memset.c
compiling.release src/tbox/libc/string/wcslen.c
compiling.release src/tbox/libc/string/strcpy.c
compiling.release src/tbox/libc/string/wcsnrchr.c
compiling.release src/tbox/libc/string/memmov.c
compiling.release src/tbox/libc/string/strnrstr.c
compiling.release src/tbox/libc/string/wcsicmp.c
compiling.release src/tbox/libc/string/wcsncpy.c
compiling.release src/tbox/libc/string/strncpy.c
compiling.release src/tbox/libc/string/strnrchr.c
compiling.release src/tbox/libc/string/memmem.c
compiling.release src/tbox/libc/string/stricmp.c
compiling.release src/tbox/libc/string/wcsnrstr.c
compiling.release src/tbox/utils/base32.c
compiling.release src/tbox/utils/base64.c
compiling.release src/tbox/utils/bits.c
compiling.release src/tbox/utils/dump.c
compiling.release src/tbox/utils/lock_profiler.c
compiling.release src/tbox/utils/singleton.c
compiling.release src/tbox/utils/trace.c
compiling.release src/tbox/utils/url.c
compiling.release src/tbox/utils/used.c
compiling.release src/tbox/prefix/state.c
compiling.release src/tbox/memory/small_allocator.c
compiling.release src/tbox/memory/impl/memory.c
compiling.release src/tbox/memory/impl/native_large_allocator.c
compiling.release src/tbox/memory/impl/prefix.c
compiling.release src/tbox/memory/impl/static_fixed_pool.c
compiling.release src/tbox/memory/impl/static_large_allocator.c
compiling.release src/tbox/memory/allocator.c
compiling.release src/tbox/memory/virtual_allocator.c
compiling.release src/tbox/memory/buffer.c
compiling.release src/tbox/memory/default_allocator.c
compiling.release src/tbox/memory/string_pool.c
compiling.release src/tbox/memory/large_allocator.c
compiling.release src/tbox/memory/native_allocator.c
compiling.release src/tbox/memory/static_buffer.c
compiling.release src/tbox/memory/queue_buffer.c
compiling.release src/tbox/memory/fixed_pool.c
compiling.release src/tbox/memory/static_allocator.c
compiling.release src/tbox/string/static_string.c
compiling.release src/tbox/string/string.c
compiling.release src/tbox/stream/transfer.c
compiling.release src/tbox/stream/filter.c
compiling.release src/tbox/stream/static_stream.c
compiling.release src/tbox/stream/stream.c
compiling.release src/tbox/stream/impl/stream/filter.c
compiling.release src/tbox/stream/impl/stream/sock.c
compiling.release src/tbox/stream/impl/stream/http.c
compiling.release src/tbox/stream/impl/stream/file.c
compiling.release src/tbox/stream/impl/stream/data.c
compiling.release src/tbox/stream/impl/filter/cache.c
compiling.release src/tbox/stream/impl/filter/chunked.c
compiling.release src/tbox/network/url.c
compiling.release src/tbox/network/hwaddr.c
compiling.release src/tbox/network/cookies.c
compiling.release src/tbox/network/ipv6.c
compiling.release src/tbox/network/http.c
compiling.release src/tbox/network/unixaddr.c
compiling.release src/tbox/network/ipv4.c
compiling.release src/tbox/network/ipaddr.c
compiling.release src/tbox/network/impl/network.c
compiling.release src/tbox/network/impl/http/option.c
compiling.release src/tbox/network/impl/http/status.c
compiling.release src/tbox/network/impl/http/date.c
compiling.release src/tbox/network/impl/http/method.c
compiling.release src/tbox/network/dns/looker.c
compiling.release src/tbox/network/dns/server.c
compiling.release src/tbox/network/dns/cache.c
compiling.release src/tbox/algorithm/binary_find.c
compiling.release src/tbox/algorithm/count_if.c
compiling.release src/tbox/algorithm/bubble_sort.c
compiling.release src/tbox/algorithm/rfind_if.c
compiling.release src/tbox/algorithm/remove_if.c
compiling.release src/tbox/algorithm/heap_sort.c
compiling.release src/tbox/algorithm/binary_find_if.c
compiling.release src/tbox/algorithm/sort.c
compiling.release src/tbox/algorithm/predicate.c
compiling.release src/tbox/algorithm/remove_first_if.c
compiling.release src/tbox/algorithm/insert_sort.c
compiling.release src/tbox/algorithm/walk.c
compiling.release src/tbox/algorithm/quick_sort.c
compiling.release src/tbox/algorithm/rfind.c
compiling.release src/tbox/algorithm/count.c
compiling.release src/tbox/algorithm/distance.c
compiling.release src/tbox/algorithm/remove.c
compiling.release src/tbox/algorithm/remove_first.c
compiling.release src/tbox/algorithm/find.c
compiling.release src/tbox/algorithm/find_if.c
compiling.release src/tbox/algorithm/rwalk.c
compiling.release src/tbox/container/list.c
compiling.release src/tbox/container/single_list_entry.c
compiling.release src/tbox/container/heap.c
compiling.release src/tbox/container/stack.c
compiling.release src/tbox/container/vector.c
compiling.release src/tbox/container/single_list.c
compiling.release src/tbox/container/list_entry.c
compiling.release src/tbox/container/queue.c
compiling.release src/tbox/container/iterator.c
compiling.release src/tbox/container/hash_set.c
compiling.release src/tbox/container/circle_queue.c
compiling.release src/tbox/container/bloom_filter.c
compiling.release src/tbox/container/hash_map.c
compiling.release src/tbox/container/array_iterator.c
compiling.release src/tbox/container/priority_queue.c
compiling.release src/tbox/container/element/hash.c
compiling.release src/tbox/container/element/long.c
compiling.release src/tbox/container/element/null.c
compiling.release src/tbox/container/element/size.c
compiling.release src/tbox/container/element/true.c
compiling.release src/tbox/container/element/uint8.c
compiling.release src/tbox/container/element/uint16.c
compiling.release src/tbox/container/element/uint32.c
compiling.release src/tbox/container/element/mem.c
compiling.release src/tbox/container/element/ptr.c
compiling.release src/tbox/container/element/str.c
compiling.release src/tbox/libm/impl/libm.c
compiling.release src/tbox/libm/ilog2i.c
compiling.release src/tbox/libm/isqrti.c
compiling.release src/tbox/libm/isqrti64.c
compiling.release src/tbox/libm/idivi8.c
compiling.release src/tbox/platform/addrinfo.c
compiling.release src/tbox/platform/atomic64.c
compiling.release src/tbox/platform/backtrace.c
compiling.release src/tbox/platform/cache_time.c
compiling.release src/tbox/platform/cpu.c
compiling.release src/tbox/platform/directory.c
compiling.release src/tbox/platform/dynamic.c
compiling.release src/tbox/platform/environment.c
compiling.release src/tbox/platform/event.c
compiling.release src/tbox/platform/file.c
compiling.release src/tbox/platform/filelock.c
compiling.release src/tbox/platform/fwatcher.c
compiling.release src/tbox/platform/hostname.c
compiling.release src/tbox/platform/ifaddrs.c
compiling.release src/tbox/platform/ltimer.c
compiling.release src/tbox/platform/mutex.c
compiling.release src/tbox/platform/native_memory.c
compiling.release src/tbox/platform/page.c
compiling.release src/tbox/platform/path.c
compiling.release src/tbox/platform/pipe.c
compiling.release src/tbox/platform/poller.c
compiling.release src/tbox/platform/print.c
compiling.release src/tbox/platform/process.c
compiling.release src/tbox/platform/sched.c
compiling.release src/tbox/platform/semaphore.c
compiling.release src/tbox/platform/socket.c
compiling.release src/tbox/platform/stdfile.c
compiling.release src/tbox/platform/syserror.c
compiling.release src/tbox/platform/thread.c
compiling.release src/tbox/platform/thread_local.c
compiling.release src/tbox/platform/thread_pool.c
compiling.release src/tbox/platform/time.c
compiling.release src/tbox/platform/timer.c
compiling.release src/tbox/platform/virtual_memory.c
compiling.release src/tbox/platform/impl/platform.c
compiling.release src/tbox/platform/impl/pollerdata.c
compiling.release src/tbox/platform/impl/dns.c
compiling.release src/tbox/libm/acos.c
compiling.release src/tbox/libm/acosf.c
compiling.release src/tbox/libm/asin.c
compiling.release src/tbox/libm/asinf.c
compiling.release src/tbox/libm/atan.c
compiling.release src/tbox/libm/atan2.c
compiling.release src/tbox/libm/atan2f.c
compiling.release src/tbox/libm/atanf.c
compiling.release src/tbox/libm/cos.c
compiling.release src/tbox/libm/cosf.c
compiling.release src/tbox/libm/exp.c
compiling.release src/tbox/libm/exp1.c
compiling.release src/tbox/libm/exp1f.c
compiling.release src/tbox/libm/expf.c
compiling.release src/tbox/libm/expi.c
compiling.release src/tbox/libm/expif.c
compiling.release src/tbox/libm/fmod.c
compiling.release src/tbox/libm/fmodf.c
compiling.release src/tbox/libm/isfin.c
compiling.release src/tbox/libm/isfinf.c
compiling.release src/tbox/libm/isinf.c
compiling.release src/tbox/libm/isinff.c
compiling.release src/tbox/libm/isnan.c
compiling.release src/tbox/libm/isnanf.c
compiling.release src/tbox/libm/log2.c
compiling.release src/tbox/libm/log2f.c
compiling.release src/tbox/libm/pow.c
compiling.release src/tbox/libm/powf.c
compiling.release src/tbox/libm/sin.c
compiling.release src/tbox/libm/sincos.c
compiling.release src/tbox/libm/sincosf.c
compiling.release src/tbox/libm/sinf.c
compiling.release src/tbox/libm/sqrt.c
compiling.release src/tbox/libm/sqrtf.c
compiling.release src/tbox/libm/tan.c
compiling.release src/tbox/libm/tanf.c
linking.release build/macosx/arm64/release/libtbox.a
compiling.release src/demo/demo.c
compiling.release src/demo/libc/wchar.c
compiling.release src/demo/libc/mbstowcs.c
compiling.release src/demo/libc/string.c
compiling.release src/demo/libc/wcstombs.c
compiling.release src/demo/libc/stdlib.c
compiling.release src/demo/libc/time.c
compiling.release src/demo/libm/integer.c
compiling.release src/demo/math/random.c
compiling.release src/demo/utils/base32.c
compiling.release src/demo/utils/base64.c
compiling.release src/demo/utils/bits.c
compiling.release src/demo/utils/dump.c
compiling.release src/demo/utils/url.c
compiling.release src/demo/other/test.c
compiling.release src/demo/other/test.cpp
compiling.release src/demo/string/static_string.c
compiling.release src/demo/string/string.c
compiling.release src/demo/memory/small_allocator.c
compiling.release src/demo/memory/impl/static_fixed_pool.c
compiling.release src/demo/memory/buffer.c
compiling.release src/demo/memory/default_allocator.c
compiling.release src/demo/memory/string_pool.c
compiling.release src/demo/memory/check.c
compiling.release src/demo/memory/static_buffer.c
compiling.release src/demo/memory/queue_buffer.c
compiling.release src/demo/memory/fixed_pool.c
compiling.release src/demo/memory/large_pool.c
compiling.release src/demo/memory/memops.c
compiling.release src/demo/platform/addrinfo.c
compiling.release src/demo/platform/atomic.c
compiling.release src/demo/platform/atomic32.c
compiling.release src/demo/platform/atomic64.c
compiling.release src/demo/platform/backtrace.c
compiling.release src/demo/platform/cache_time.c
compiling.release src/demo/platform/directory.c
compiling.release src/demo/platform/environment.c
compiling.release src/demo/platform/event.c
compiling.release src/demo/platform/file.c
compiling.release src/demo/platform/filelock.c
compiling.release src/demo/platform/fwatcher.c
compiling.release src/demo/platform/hostname.c
compiling.release src/demo/platform/ifaddrs.c
compiling.release src/demo/platform/lock.c
compiling.release src/demo/platform/ltimer.c
compiling.release src/demo/platform/named_pipe.c
compiling.release src/demo/platform/path.c
compiling.release src/demo/platform/pipe_pair.c
compiling.release src/demo/platform/poller_client.c
compiling.release src/demo/platform/poller_fwatcher.c
compiling.release src/demo/platform/poller_pipe.c
compiling.release src/demo/platform/poller_process.c
compiling.release src/demo/platform/poller_server.c
compiling.release src/demo/platform/process.c
compiling.release src/demo/platform/sched.c
compiling.release src/demo/platform/semaphore.c
compiling.release src/demo/platform/stdfile.c
compiling.release src/demo/platform/thread.c
compiling.release src/demo/platform/thread_local.c
compiling.release src/demo/platform/thread_pool.c
compiling.release src/demo/platform/timer.c
compiling.release src/demo/platform/utils.c
compiling.release src/demo/container/list.c
compiling.release src/demo/container/single_list_entry.c
compiling.release src/demo/container/heap.c
compiling.release src/demo/container/stack.c
compiling.release src/demo/container/vector.c
compiling.release src/demo/container/single_list.c
compiling.release src/demo/container/list_entry.c
compiling.release src/demo/container/queue.c
compiling.release src/demo/container/hash_set.c
compiling.release src/demo/container/circle_queue.c
compiling.release src/demo/container/bloom_filter.c
compiling.release src/demo/container/hash_map.c
compiling.release src/demo/algorithm/sort.c
compiling.release src/demo/algorithm/find.c
compiling.release src/demo/stream/stream.c
compiling.release src/demo/stream/stream/zip.c
compiling.release src/demo/stream/stream/charset.c
compiling.release src/demo/stream/stream/cache.c
compiling.release src/demo/stream/stream/null.c
compiling.release src/demo/network/url.c
compiling.release src/demo/network/impl/date.c
compiling.release src/demo/network/hwaddr.c
compiling.release src/demo/network/whois.c
compiling.release src/demo/network/dns.c
compiling.release src/demo/network/cookies.c
compiling.release src/demo/network/unix_echo_client.c
compiling.release src/demo/network/ipv6.c
compiling.release src/demo/network/ping.c
compiling.release src/demo/network/unix_echo_server.c
compiling.release src/demo/network/http.c
compiling.release src/demo/network/unixaddr.c
compiling.release src/demo/network/ipv4.c
compiling.release src/demo/network/ipaddr.c
compiling.release src/demo/math/fixed.c
compiling.release src/demo/libm/float.c
compiling.release src/demo/libm/double.c
linking.release build/macosx/arm64/release/demo
ld: warning: object file (build/macosx/arm64/release/libtbox.a(tbox.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(bkdr.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(fnv32.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(adler32.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(math.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(int32.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(fixed16.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(random.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(linear.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(mktime.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(gmtime.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(localtime.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(time.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(gmmktime.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(vswprintf.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(printf.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(printf_object.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(sprintf.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(swprintf.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(putchar.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(snprintf.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(getchar.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(wprintf.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(wputs.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(puts.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(vsnprintf.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(mbstowcs.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(random.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(wcstombs.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(stdlib.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(strnistr.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(memcpy.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(strchr.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(wcscmp.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(wcslcpy.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(strncat.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(strnstr.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(wcsncat.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(wcsdup.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(strlcpy.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(strnchr.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(strnichr.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(strstr.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(strcat.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(strichr.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(memdup.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(strnlen.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(wcsistr.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(memcmp.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(wcscpy.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(stristr.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(wcsnlen.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(wcsichr.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(strncmp.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(strdup.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(wcsirstr.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(strirchr.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(wcscat.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(strnirstr.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(strrchr.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(wcsstr.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(wcsrstr.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(wcsndup.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(wcsnirstr.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(strnicmp.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(strirstr.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(strndup.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(strnirchr.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(strrstr.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(wcschr.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(wcsrchr.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(wcsnirchr.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(wcsnicmp.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: object file (build/macosx/arm64/release/libtbox.a(libc.c.o)) was built for newer macOS version (13.3) than being linked (13.0)
waruqi commented 1 year ago

It works for me.

$ xmake f -c -a arm64; xmake
checking for platform ... macosx
checking for Xcode directory ... /Applications/Xcode.app
checking for SDK version of Xcode for macosx (arm64) ... 13.0
checking for Minimal target version of Xcode for macosx (arm64) ... 12.6
checking for wchar ... no
checking for libc_memmem ... ok
checking for libc_strncpy ... ok
checking for libc_memset ... ok
checking for libc_memcmp ... ok
checking for libc_strcat ... ok
checking for libc_strcpy ... ok
checking for libc_strlcpy ... ok
checking for libc_memmove ... ok
checking for libc_strncat ... ok
checking for libc_memcpy ... ok
checking for libc_strchr ... ok
checking for libc_strrchr ... ok
checking for libc_strstr ... ok
checking for libc_strcmp ... ok
checking for libc_strnlen ... ok
checking for libc_strlen ... ok
checking for libc_strcasestr ... ok
checking for libc_strncasecmp ... ok
checking for libc_strcasecmp ... ok
checking for libc_strncmp ... ok
checking for libc_wcscasestr ... no
checking for libc_wcscat ... ok
checking for libc_wcslcpy ... ok
checking for libc_wcsncpy ... ok
checking for libc_wcsncat ... ok
checking for libc_wcscpy ... ok
checking for libc_wcslen ... ok
checking for libc_wcsnlen ... ok
checking for libc_wcsstr ... ok
checking for libc_wcscmp ... ok
checking for libc_wcstombs ... ok
checking for libc_mbstowcs ... ok
checking for libc_wcsncasecmp ... ok
checking for libc_gmtime ... ok
checking for libc_wcscasecmp ... ok
checking for libc_wcsncmp ... ok
checking for libc_mktime ... ok
checking for libc_localtime ... ok
checking for libc_gettimeofday ... ok
checking for libc_signal ... ok
checking for libc_setjmp ... ok
checking for libc_sigsetjmp ... ok
checking for libc_setlocale ... ok
checking for libc_backtrace ... ok
checking for libc_kill ... ok
checking for libc_fgets ... ok
checking for libc_fputs ... ok
checking for libc_fgetc ... ok
checking for libc_fputc ... ok
checking for libc_ungetc ... ok
checking for libm_sincos ... no
checking for libc_fread ... ok
checking for libm_sincosf ... no
checking for libc_fwrite ... ok
checking for libc_srandom ... ok
checking for libc_random ... ok
checking for libm_log2 ... ok
checking for libm_sqrt ... ok
checking for libm_log2f ... ok
checking for libm_acos ... ok
checking for libm_sqrtf ... ok
checking for libm_asin ... ok
checking for libm_acosf ... ok
checking for libm_asinf ... ok
checking for libm_powf ... ok
checking for libm_pow ... ok
checking for libm_fmodf ... ok
checking for libm_fmod ... ok
checking for libm_atan ... ok
checking for libm_tan ... ok
checking for libm_atan2f ... ok
checking for libm_tanf ... ok
checking for libm_atanf ... ok
checking for libm_atan2 ... ok
checking for libm_cos ... ok
checking for libm_cosf ... ok
checking for libm_exp ... ok
checking for libm_sin ... ok
checking for libm_sinf ... ok
checking for posix_select ... ok
checking for libm_expf ... ok
checking for posix_poll ... ok
checking for posix_pthread_mutex_init ... ok
checking for posix_pthread_create ... ok
checking for posix_pthread_getspecific ... ok
checking for posix_pthread_setspecific ... ok
checking for posix_pthread_setaffinity_np ... no
checking for posix_pthread_key_create ... ok
checking for posix_pthread_key_delete ... ok
checking for posix_opendir ... ok
checking for posix_socket ... ok
checking for posix_dlopen ... ok
checking for posix_lstat64 ... no
checking for posix_stat64 ... no
checking for posix_open ... ok
checking for posix_gethostname ... ok
checking for posix_getifaddrs ... ok
checking for posix_sched_setaffinity ... no
checking for posix_getpagesize ... ok
checking for posix_sysconf ... ok
checking for posix_sched_yield ... ok
checking for posix_regexec ... ok
checking for posix_pread64 ... no
checking for posix_regcomp ... ok
checking for posix_readv ... ok
checking for posix_writev ... ok
checking for posix_pwrite64 ... no
checking for posix_preadv ... ok
checking for posix_pwritev ... ok
checking for posix_fdatasync ... no
checking for posix_sendfile ... no
checking for posix_epoll_wait ... no
checking for posix_epoll_create ... no
checking for posix_copyfile ... ok
checking for posix_execvpe ... no
checking for posix_vfork ... ok
checking for posix_fork ... ok
checking for posix_execvp ... ok
checking for posix_waitpid ... ok
checking for posix_getaddrinfo ... ok
checking for posix_getdtablesize ... ok
checking for posix_getrlimit ... ok
checking for posix_getnameinfo ... ok
checking for posix_pipe2 ... no
checking for posix_gethostbyname ... ok
checking for posix_fcntl ... ok
checking for posix_gethostbyaddr ... ok
checking for posix_pipe ... ok
checking for posix_mmap ... ok
checking for valgrind_VALGRIND_STACK_REGISTER ... no
checking for posix_mkfifo ... ok
checking for posix_futimens ... ok
checking for posix_utimensat ... ok
checking for systemv_semget ... ok
checking for systemv_semtimedop ... no
checking for bsd_flock ... ok
checking for keyword_thread ... ok
checking for keyword_thread_local ... ok
checking for feature_anonymous_union ... ok
generating src/tbox/tbox.config.h.in ... ok
[  0%]: cache compiling.release src/tbox/tbox.c
[  0%]: cache compiling.release src/tbox/hash/bkdr.c
[  0%]: cache compiling.release src/tbox/hash/fnv32.c
[  0%]: cache compiling.release src/tbox/hash/adler32.c
[  0%]: cache compiling.release src/tbox/math/impl/math.c
[  0%]: cache compiling.release src/tbox/math/int32.c
[  0%]: cache compiling.release src/tbox/math/fixed16.c
[  0%]: cache compiling.release src/tbox/math/random/random.c
[  0%]: cache compiling.release src/tbox/math/random/linear.c
[  0%]: cache compiling.release src/tbox/libc/impl/libc.c
[  0%]: cache compiling.release src/tbox/libc/misc/time/mktime.c
[  1%]: cache compiling.release src/tbox/libc/misc/time/gmtime.c
[  2%]: cache compiling.release src/tbox/libc/misc/time/localtime.c
[  2%]: cache compiling.release src/tbox/libc/misc/time/time.c
[  2%]: cache compiling.release src/tbox/libc/misc/time/gmmktime.c
[  2%]: cache compiling.release src/tbox/libc/stdio/vswprintf.c
[  2%]: cache compiling.release src/tbox/libc/stdio/printf.c
[  2%]: cache compiling.release src/tbox/libc/stdio/printf_object.c
[  2%]: cache compiling.release src/tbox/libc/stdio/sprintf.c
[  3%]: cache compiling.release src/tbox/libc/stdio/swprintf.c
[  3%]: cache compiling.release src/tbox/libc/stdio/putchar.c
[  4%]: cache compiling.release src/tbox/libc/stdio/snprintf.c
[  4%]: cache compiling.release src/tbox/libc/stdio/getchar.c
[  4%]: cache compiling.release src/tbox/libc/stdio/wprintf.c
[  4%]: cache compiling.release src/tbox/libc/stdio/wputs.c
[  4%]: cache compiling.release src/tbox/libc/stdio/puts.c
[  5%]: cache compiling.release src/tbox/libc/stdio/vsnprintf.c
[  5%]: cache compiling.release src/tbox/libc/stdlib/mbstowcs.c
[  5%]: cache compiling.release src/tbox/libc/stdlib/random.c
[  5%]: cache compiling.release src/tbox/libc/stdlib/wcstombs.c
[  6%]: cache compiling.release src/tbox/libc/stdlib/stdlib.c
[  6%]: cache compiling.release src/tbox/libc/string/strnistr.c
[  6%]: cache compiling.release src/tbox/libc/string/memcpy.c
[  7%]: cache compiling.release src/tbox/libc/string/strchr.c
[  7%]: cache compiling.release src/tbox/libc/string/wcscmp.c
[  7%]: cache compiling.release src/tbox/libc/string/wcslcpy.c
[  7%]: cache compiling.release src/tbox/libc/string/strncat.c
[  8%]: cache compiling.release src/tbox/libc/string/strnstr.c
[  8%]: cache compiling.release src/tbox/libc/string/wcsncat.c
[  8%]: cache compiling.release src/tbox/libc/string/wcsdup.c
[  9%]: cache compiling.release src/tbox/libc/string/strlcpy.c
[  9%]: cache compiling.release src/tbox/libc/string/strnchr.c
[  9%]: cache compiling.release src/tbox/libc/string/strnichr.c
[  9%]: cache compiling.release src/tbox/libc/string/strstr.c
[  9%]: cache compiling.release src/tbox/libc/string/strcat.c
[ 10%]: cache compiling.release src/tbox/libc/string/strichr.c
[ 10%]: cache compiling.release src/tbox/libc/string/memdup.c
[ 10%]: cache compiling.release src/tbox/libc/string/strnlen.c
[ 10%]: cache compiling.release src/tbox/libc/string/wcsistr.c
[ 11%]: cache compiling.release src/tbox/libc/string/memcmp.c
[ 11%]: cache compiling.release src/tbox/libc/string/wcscpy.c
[ 11%]: cache compiling.release src/tbox/libc/string/strlen.c
[ 11%]: cache compiling.release src/tbox/libc/string/stristr.c
[ 12%]: cache compiling.release src/tbox/libc/string/wcsnlen.c
[ 12%]: cache compiling.release src/tbox/libc/string/wcsichr.c
[ 12%]: cache compiling.release src/tbox/libc/string/strncmp.c
[ 13%]: cache compiling.release src/tbox/libc/string/strdup.c
[ 13%]: cache compiling.release src/tbox/libc/string/wcsirstr.c
[ 13%]: cache compiling.release src/tbox/libc/string/strirchr.c
[ 13%]: cache compiling.release src/tbox/libc/string/wcscat.c
[ 14%]: cache compiling.release src/tbox/libc/string/strnirstr.c
[ 14%]: cache compiling.release src/tbox/libc/string/strrchr.c
[ 14%]: cache compiling.release src/tbox/libc/string/wcsstr.c
[ 14%]: cache compiling.release src/tbox/libc/string/wcsrstr.c
[ 15%]: cache compiling.release src/tbox/libc/string/wcsndup.c
[ 15%]: cache compiling.release src/tbox/libc/string/wcsnirstr.c
[ 15%]: cache compiling.release src/tbox/libc/string/strnicmp.c
[ 16%]: cache compiling.release src/tbox/libc/string/strirstr.c
[ 16%]: cache compiling.release src/tbox/libc/string/strndup.c
[ 16%]: cache compiling.release src/tbox/libc/string/strnirchr.c
[ 16%]: cache compiling.release src/tbox/libc/string/strrstr.c
[ 17%]: cache compiling.release src/tbox/libc/string/strcmp.c
[ 17%]: cache compiling.release src/tbox/libc/string/wcschr.c
[ 17%]: cache compiling.release src/tbox/libc/string/wcsrchr.c
[ 17%]: cache compiling.release src/tbox/libc/string/wcsnirchr.c
[ 18%]: cache compiling.release src/tbox/libc/string/wcsnicmp.c
[ 18%]: cache compiling.release src/tbox/libc/string/wcsncmp.c
[ 18%]: cache compiling.release src/tbox/libc/string/wcsirchr.c
[ 19%]: cache compiling.release src/tbox/libc/string/memset.c
[ 19%]: cache compiling.release src/tbox/libc/string/wcslen.c
[ 19%]: cache compiling.release src/tbox/libc/string/strcpy.c
[ 19%]: cache compiling.release src/tbox/libc/string/wcsnrchr.c
[ 19%]: cache compiling.release src/tbox/libc/string/memmov.c
[ 20%]: cache compiling.release src/tbox/libc/string/strnrstr.c
[ 20%]: cache compiling.release src/tbox/libc/string/wcsicmp.c
[ 21%]: cache compiling.release src/tbox/libc/string/wcsncpy.c
[ 21%]: cache compiling.release src/tbox/libc/string/strncpy.c
[ 21%]: cache compiling.release src/tbox/libc/string/strnrchr.c
[ 21%]: cache compiling.release src/tbox/libc/string/memmem.c
[ 21%]: cache compiling.release src/tbox/libc/string/stricmp.c
[ 22%]: cache compiling.release src/tbox/libc/string/wcsnrstr.c
[ 23%]: cache compiling.release src/tbox/utils/url.c
[ 23%]: cache compiling.release src/tbox/utils/used.c
[ 23%]: cache compiling.release src/tbox/utils/trace.c
[ 23%]: cache compiling.release src/tbox/utils/base32.c
[ 23%]: cache compiling.release src/tbox/utils/bits.c
[ 23%]: cache compiling.release src/tbox/utils/dump.c
[ 23%]: cache compiling.release src/tbox/utils/singleton.c
[ 24%]: cache compiling.release src/tbox/utils/base64.c
[ 24%]: cache compiling.release src/tbox/utils/lock_profiler.c
[ 24%]: cache compiling.release src/tbox/prefix/state.c
[ 25%]: cache compiling.release src/tbox/memory/small_allocator.c
[ 25%]: cache compiling.release src/tbox/memory/impl/memory.c
[ 25%]: cache compiling.release src/tbox/memory/impl/native_large_allocator.c
[ 25%]: cache compiling.release src/tbox/memory/impl/prefix.c
[ 26%]: cache compiling.release src/tbox/memory/impl/static_fixed_pool.c
[ 26%]: cache compiling.release src/tbox/memory/impl/static_large_allocator.c
[ 26%]: cache compiling.release src/tbox/memory/allocator.c
[ 26%]: cache compiling.release src/tbox/memory/virtual_allocator.c
[ 27%]: cache compiling.release src/tbox/memory/buffer.c
[ 27%]: cache compiling.release src/tbox/memory/default_allocator.c
[ 27%]: cache compiling.release src/tbox/memory/string_pool.c
[ 27%]: cache compiling.release src/tbox/memory/large_allocator.c
[ 28%]: cache compiling.release src/tbox/memory/native_allocator.c
[ 28%]: cache compiling.release src/tbox/memory/static_buffer.c
[ 28%]: cache compiling.release src/tbox/memory/queue_buffer.c
[ 28%]: cache compiling.release src/tbox/memory/fixed_pool.c
[ 29%]: cache compiling.release src/tbox/memory/static_allocator.c
[ 29%]: cache compiling.release src/tbox/string/static_string.c
[ 30%]: cache compiling.release src/tbox/string/string.c
[ 30%]: cache compiling.release src/tbox/stream/impl/stream/filter.c
[ 30%]: cache compiling.release src/tbox/stream/impl/stream/sock.c
[ 30%]: cache compiling.release src/tbox/stream/impl/stream/http.c
[ 30%]: cache compiling.release src/tbox/stream/impl/stream/file.c
[ 31%]: cache compiling.release src/tbox/stream/impl/stream/data.c
[ 31%]: cache compiling.release src/tbox/stream/impl/filter/chunked.c
[ 31%]: cache compiling.release src/tbox/stream/impl/filter/cache.c
[ 31%]: cache compiling.release src/tbox/stream/transfer.c
[ 32%]: cache compiling.release src/tbox/stream/filter.c
[ 32%]: cache compiling.release src/tbox/stream/static_stream.c
[ 33%]: cache compiling.release src/tbox/stream/stream.c
[ 33%]: cache compiling.release src/tbox/network/url.c
[ 33%]: cache compiling.release src/tbox/network/impl/network.c
[ 33%]: cache compiling.release src/tbox/network/impl/http/option.c
[ 33%]: cache compiling.release src/tbox/network/impl/http/status.c
[ 34%]: cache compiling.release src/tbox/network/impl/http/date.c
[ 34%]: cache compiling.release src/tbox/network/impl/http/method.c
[ 34%]: cache compiling.release src/tbox/network/hwaddr.c
[ 34%]: cache compiling.release src/tbox/network/cookies.c
[ 35%]: cache compiling.release src/tbox/network/ipv6.c
[ 35%]: cache compiling.release src/tbox/network/http.c
[ 35%]: cache compiling.release src/tbox/network/unixaddr.c
[ 35%]: cache compiling.release src/tbox/network/dns/looker.c
[ 36%]: cache compiling.release src/tbox/network/dns/server.c
[ 36%]: cache compiling.release src/tbox/network/dns/cache.c
[ 36%]: cache compiling.release src/tbox/network/ipv4.c
[ 36%]: cache compiling.release src/tbox/network/ipaddr.c
[ 37%]: cache compiling.release src/tbox/algorithm/binary_find.c
[ 37%]: cache compiling.release src/tbox/algorithm/count_if.c
[ 37%]: cache compiling.release src/tbox/algorithm/bubble_sort.c
[ 38%]: cache compiling.release src/tbox/algorithm/rfind_if.c
[ 38%]: cache compiling.release src/tbox/algorithm/remove_if.c
[ 38%]: cache compiling.release src/tbox/algorithm/heap_sort.c
[ 38%]: cache compiling.release src/tbox/algorithm/binary_find_if.c
[ 39%]: cache compiling.release src/tbox/algorithm/sort.c
[ 39%]: cache compiling.release src/tbox/algorithm/predicate.c
[ 39%]: cache compiling.release src/tbox/algorithm/remove_first_if.c
[ 39%]: cache compiling.release src/tbox/algorithm/insert_sort.c
[ 40%]: cache compiling.release src/tbox/algorithm/walk.c
[ 40%]: cache compiling.release src/tbox/algorithm/quick_sort.c
[ 40%]: cache compiling.release src/tbox/algorithm/rfind.c
[ 40%]: cache compiling.release src/tbox/algorithm/count.c
[ 41%]: cache compiling.release src/tbox/algorithm/distance.c
[ 41%]: cache compiling.release src/tbox/algorithm/remove.c
[ 42%]: cache compiling.release src/tbox/algorithm/remove_first.c
[ 42%]: cache compiling.release src/tbox/algorithm/find.c
[ 42%]: cache compiling.release src/tbox/algorithm/find_if.c
[ 42%]: cache compiling.release src/tbox/algorithm/rwalk.c
[ 43%]: cache compiling.release src/tbox/container/list.c
[ 43%]: cache compiling.release src/tbox/container/single_list_entry.c
[ 43%]: cache compiling.release src/tbox/container/heap.c
[ 43%]: cache compiling.release src/tbox/container/stack.c
[ 44%]: cache compiling.release src/tbox/container/vector.c
[ 44%]: cache compiling.release src/tbox/container/single_list.c
[ 44%]: cache compiling.release src/tbox/container/list_entry.c
[ 44%]: cache compiling.release src/tbox/container/element/uint16.c
[ 44%]: cache compiling.release src/tbox/container/element/ptr.c
[ 45%]: cache compiling.release src/tbox/container/element/mem.c
[ 45%]: cache compiling.release src/tbox/container/element/str.c
[ 45%]: cache compiling.release src/tbox/container/element/true.c
[ 46%]: cache compiling.release src/tbox/container/element/uint8.c
[ 46%]: cache compiling.release src/tbox/container/element/hash.c
[ 46%]: cache compiling.release src/tbox/container/element/size.c
[ 46%]: cache compiling.release src/tbox/container/element/null.c
[ 47%]: cache compiling.release src/tbox/container/element/uint32.c
[ 47%]: cache compiling.release src/tbox/container/element/long.c
[ 47%]: cache compiling.release src/tbox/container/queue.c
[ 47%]: cache compiling.release src/tbox/container/iterator.c
[ 48%]: cache compiling.release src/tbox/container/hash_set.c
[ 48%]: cache compiling.release src/tbox/container/circle_queue.c
[ 48%]: cache compiling.release src/tbox/container/bloom_filter.c
[ 49%]: cache compiling.release src/tbox/container/hash_map.c
[ 49%]: cache compiling.release src/tbox/container/array_iterator.c
[ 50%]: cache compiling.release src/tbox/container/priority_queue.c
[ 50%]: cache compiling.release src/tbox/libm/impl/libm.c
[ 50%]: cache compiling.release src/tbox/libm/idivi8.c
[ 50%]: cache compiling.release src/tbox/libm/ilog2i.c
[ 50%]: cache compiling.release src/tbox/libm/isqrti.c
[ 50%]: cache compiling.release src/tbox/libm/isqrti64.c
[ 51%]: cache compiling.release src/tbox/platform/native_memory.c
[ 51%]: cache compiling.release src/tbox/platform/thread.c
[ 51%]: cache compiling.release src/tbox/platform/directory.c
[ 51%]: cache compiling.release src/tbox/platform/timer.c
[ 52%]: cache compiling.release src/tbox/platform/process.c
[ 52%]: cache compiling.release src/tbox/platform/sched.c
[ 52%]: cache compiling.release src/tbox/platform/filelock.c
[ 52%]: cache compiling.release src/tbox/platform/pipe.c
[ 53%]: cache compiling.release src/tbox/platform/print.c
[ 53%]: cache compiling.release src/tbox/platform/cpu.c
[ 53%]: cache compiling.release src/tbox/platform/stdfile.c
[ 53%]: cache compiling.release src/tbox/platform/hostname.c
[ 54%]: cache compiling.release src/tbox/platform/ltimer.c
[ 54%]: cache compiling.release src/tbox/platform/mutex.c
[ 54%]: cache compiling.release src/tbox/platform/atomic64.c
[ 55%]: cache compiling.release src/tbox/platform/ifaddrs.c
[ 55%]: cache compiling.release src/tbox/platform/socket.c
[ 55%]: cache compiling.release src/tbox/platform/poller.c
[ 55%]: cache compiling.release src/tbox/platform/page.c
[ 56%]: cache compiling.release src/tbox/platform/addrinfo.c
[ 56%]: cache compiling.release src/tbox/platform/time.c
[ 56%]: cache compiling.release src/tbox/platform/semaphore.c
[ 56%]: cache compiling.release src/tbox/platform/event.c
[ 57%]: cache compiling.release src/tbox/platform/backtrace.c
[ 57%]: cache compiling.release src/tbox/platform/path.c
[ 57%]: cache compiling.release src/tbox/platform/virtual_memory.c
[ 57%]: cache compiling.release src/tbox/platform/file.c
[ 58%]: cache compiling.release src/tbox/platform/thread_local.c
[ 58%]: cache compiling.release src/tbox/platform/cache_time.c
[ 58%]: cache compiling.release src/tbox/platform/thread_pool.c
[ 59%]: cache compiling.release src/tbox/platform/environment.c
[ 59%]: cache compiling.release src/tbox/platform/syserror.c
[ 59%]: cache compiling.release src/tbox/platform/fwatcher.c
[ 59%]: cache compiling.release src/tbox/platform/dynamic.c
[ 60%]: cache compiling.release src/tbox/platform/impl/dns.c
[ 60%]: cache compiling.release src/tbox/platform/impl/platform.c
[ 60%]: cache compiling.release src/tbox/platform/impl/pollerdata.c
[ 60%]: cache compiling.release src/tbox/libm/atan.c
[ 61%]: cache compiling.release src/tbox/libm/exp1.c
[ 61%]: cache compiling.release src/tbox/libm/isinf.c
[ 61%]: cache compiling.release src/tbox/libm/sincosf.c
[ 61%]: cache compiling.release src/tbox/libm/acosf.c
[ 62%]: cache compiling.release src/tbox/libm/atanf.c
[ 62%]: cache compiling.release src/tbox/libm/sin.c
[ 62%]: cache compiling.release src/tbox/libm/expf.c
[ 63%]: cache compiling.release src/tbox/libm/cos.c
[ 63%]: cache compiling.release src/tbox/libm/sinf.c
[ 63%]: cache compiling.release src/tbox/libm/exp.c
[ 64%]: cache compiling.release src/tbox/libm/atan2.c
[ 64%]: cache compiling.release src/tbox/libm/log2f.c
[ 64%]: cache compiling.release src/tbox/libm/pow.c
[ 64%]: cache compiling.release src/tbox/libm/isinff.c
[ 64%]: cache compiling.release src/tbox/libm/fmodf.c
[ 65%]: cache compiling.release src/tbox/libm/sqrt.c
[ 65%]: cache compiling.release src/tbox/libm/expi.c
[ 65%]: cache compiling.release src/tbox/libm/sqrtf.c
[ 65%]: cache compiling.release src/tbox/libm/isnanf.c
[ 66%]: cache compiling.release src/tbox/libm/acos.c
[ 67%]: cache compiling.release src/tbox/libm/sincos.c
[ 67%]: cache compiling.release src/tbox/libm/powf.c
[ 67%]: cache compiling.release src/tbox/libm/log2.c
[ 67%]: cache compiling.release src/tbox/libm/asin.c
[ 67%]: cache compiling.release src/tbox/libm/expif.c
[ 67%]: cache compiling.release src/tbox/libm/isfin.c
[ 68%]: cache compiling.release src/tbox/libm/fmod.c
[ 68%]: cache compiling.release src/tbox/libm/exp1f.c
[ 68%]: cache compiling.release src/tbox/libm/isfinf.c
[ 68%]: cache compiling.release src/tbox/libm/asinf.c
[ 69%]: cache compiling.release src/tbox/libm/isnan.c
[ 69%]: cache compiling.release src/tbox/libm/tanf.c
[ 69%]: cache compiling.release src/tbox/libm/tan.c
[ 70%]: cache compiling.release src/tbox/libm/atan2f.c
[ 70%]: cache compiling.release src/tbox/libm/cosf.c
[ 70%]: cache compiling.release src/demo/demo.c
[ 71%]: cache compiling.release src/demo/libc/wchar.c
[ 71%]: cache compiling.release src/demo/libc/mbstowcs.c
[ 72%]: cache compiling.release src/demo/libc/string.c
[ 72%]: cache compiling.release src/demo/libc/wcstombs.c
[ 72%]: cache compiling.release src/demo/libc/stdlib.c
[ 72%]: cache compiling.release src/demo/libc/time.c
[ 72%]: cache compiling.release src/demo/libm/integer.c
[ 72%]: cache compiling.release src/demo/math/random.c
[ 73%]: cache compiling.release src/demo/utils/url.c
[ 73%]: cache compiling.release src/demo/utils/base32.c
[ 73%]: cache compiling.release src/demo/utils/bits.c
[ 73%]: cache compiling.release src/demo/utils/dump.c
[ 74%]: cache compiling.release src/demo/utils/base64.c
[ 74%]: cache compiling.release src/demo/other/test.c
[ 74%]: cache compiling.release src/demo/string/static_string.c
[ 70%]: cache compiling.release src/demo/other/test.cpp
[ 75%]: cache compiling.release src/demo/string/string.c
[ 75%]: cache compiling.release src/demo/memory/small_allocator.c
[ 75%]: cache compiling.release src/demo/memory/impl/static_fixed_pool.c
[ 75%]: cache compiling.release src/demo/memory/buffer.c
[ 76%]: cache compiling.release src/demo/memory/default_allocator.c
[ 76%]: cache compiling.release src/demo/memory/string_pool.c
[ 76%]: cache compiling.release src/demo/memory/check.c
[ 76%]: cache compiling.release src/demo/memory/static_buffer.c
[ 77%]: cache compiling.release src/demo/memory/queue_buffer.c
[ 77%]: cache compiling.release src/demo/memory/fixed_pool.c
[ 77%]: cache compiling.release src/demo/memory/large_pool.c
[ 77%]: cache compiling.release src/demo/memory/memops.c
[ 78%]: cache compiling.release src/demo/platform/thread.c
[ 78%]: cache compiling.release src/demo/platform/directory.c
[ 78%]: cache compiling.release src/demo/platform/pipe_pair.c
[ 79%]: cache compiling.release src/demo/platform/poller_server.c
[ 79%]: cache compiling.release src/demo/platform/timer.c
[ 79%]: cache compiling.release src/demo/platform/process.c
[ 80%]: cache compiling.release src/demo/platform/sched.c
[ 80%]: cache compiling.release src/demo/platform/filelock.c
[ 80%]: cache compiling.release src/demo/platform/poller_fwatcher.c
[ 80%]: cache compiling.release src/demo/platform/stdfile.c
[ 80%]: cache compiling.release src/demo/platform/hostname.c
[ 81%]: cache compiling.release src/demo/platform/poller_process.c
[ 81%]: cache compiling.release src/demo/platform/ltimer.c
[ 81%]: cache compiling.release src/demo/platform/atomic.c
[ 81%]: cache compiling.release src/demo/platform/atomic64.c
[ 82%]: cache compiling.release src/demo/platform/ifaddrs.c
[ 82%]: cache compiling.release src/demo/platform/addrinfo.c
[ 82%]: cache compiling.release src/demo/platform/utils.c
[ 82%]: cache compiling.release src/demo/platform/semaphore.c
[ 83%]: cache compiling.release src/demo/platform/event.c
[ 83%]: cache compiling.release src/demo/platform/backtrace.c
[ 83%]: cache compiling.release src/demo/platform/path.c
[ 84%]: cache compiling.release src/demo/platform/named_pipe.c
[ 84%]: cache compiling.release src/demo/platform/file.c
[ 84%]: cache compiling.release src/demo/platform/lock.c
[ 84%]: cache compiling.release src/demo/platform/thread_local.c
[ 85%]: cache compiling.release src/demo/platform/atomic32.c
[ 85%]: cache compiling.release src/demo/platform/cache_time.c
[ 85%]: cache compiling.release src/demo/platform/thread_pool.c
[ 85%]: cache compiling.release src/demo/platform/environment.c
[ 86%]: cache compiling.release src/demo/platform/poller_pipe.c
[ 86%]: cache compiling.release src/demo/platform/poller_client.c
[ 86%]: cache compiling.release src/demo/platform/fwatcher.c
[ 86%]: cache compiling.release src/demo/container/list.c
[ 87%]: cache compiling.release src/demo/container/single_list_entry.c
[ 87%]: cache compiling.release src/demo/container/heap.c
[ 87%]: cache compiling.release src/demo/container/stack.c
[ 88%]: cache compiling.release src/demo/container/vector.c
[ 88%]: cache compiling.release src/demo/container/single_list.c
[ 88%]: cache compiling.release src/demo/container/list_entry.c
[ 88%]: cache compiling.release src/demo/container/queue.c
[ 89%]: cache compiling.release src/demo/container/hash_set.c
[ 89%]: cache compiling.release src/demo/container/circle_queue.c
[ 89%]: cache compiling.release src/demo/container/bloom_filter.c
[ 89%]: cache compiling.release src/demo/container/hash_map.c
[ 90%]: cache compiling.release src/demo/algorithm/sort.c
[ 90%]: cache compiling.release src/demo/algorithm/find.c
[ 90%]: cache compiling.release src/demo/stream/stream.c
[ 90%]: cache compiling.release src/demo/stream/stream/zip.c
[ 91%]: cache compiling.release src/demo/stream/stream/charset.c
[ 91%]: cache compiling.release src/demo/stream/stream/cache.c
[ 91%]: cache compiling.release src/demo/stream/stream/null.c
[ 92%]: cache compiling.release src/demo/network/url.c
[ 92%]: cache compiling.release src/demo/network/impl/date.c
[ 92%]: cache compiling.release src/demo/network/hwaddr.c
[ 92%]: cache compiling.release src/demo/network/whois.c
[ 93%]: cache compiling.release src/demo/network/dns.c
[ 93%]: cache compiling.release src/demo/network/cookies.c
[ 93%]: cache compiling.release src/demo/network/unix_echo_client.c
[ 93%]: cache compiling.release src/demo/network/ipv6.c
[ 94%]: cache compiling.release src/demo/network/ping.c
[ 94%]: cache compiling.release src/demo/network/unix_echo_server.c
[ 94%]: cache compiling.release src/demo/network/http.c
[ 94%]: cache compiling.release src/demo/network/unixaddr.c
[ 95%]: cache compiling.release src/demo/network/ipv4.c
[ 95%]: cache compiling.release src/demo/network/ipaddr.c
[ 95%]: cache compiling.release src/demo/math/fixed.c
[ 96%]: cache compiling.release src/demo/libm/float.c
[ 96%]: cache compiling.release src/demo/libm/double.c
[ 98%]: archiving.release libtbox.a
[ 99%]: linking.release demo
[100%]: build ok, spent 11.6s
da-liii commented 1 year ago

I reproduce the bug using xmake 2.8.2. I guess @waruqi is using the dev version of xmake.

pan93412 commented 1 year ago

So actually it is blocked by xmake?

da-liii commented 1 year ago

From the CI, tbox is always using dev branch of xmake.

waruqi commented 1 year ago

I have fixed it, try it again.

da-liii commented 1 year ago

Verified, works fine now!