🔥 A cross-platform build utility based on Lua

Overview

xmake

A cross-platform build utility based on Lua
Modern C/C++ build tools, Simple, Fast, Powerful dependency package integration

Supporting the project

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. 🙏

Introduction (中文)

Xmake is a lightweight cross-platform build utility based on Lua.

It is very lightweight and has no dependencies because it has a built-in Lua runtime.

It uses xmake.lua to maintain project builds and its configuration syntax is very simple and readable.

We can use it to build project directly like Make/Ninja, or generate project files like CMake/Meson, and it also has a built-in package management system to help users solve the integrated use of C/C++ dependent libraries.

Xmake = Build backend + Project Generator + Package Manager

If you want to know more, please refer to: Documents, Github and Gitee and also welcome to join our community.

Installation

via curl

bash <(curl -fsSL https://xmake.io/shget.text)

via wget

bash <(wget https://xmake.io/shget.text -O -)

via powershell

Invoke-Expression (Invoke-Webrequest 'https://xmake.io/psget.text' -UseBasicParsing).Content

Simple description

Package dependences

An official xmake package repository: xmake-repo

Build project

$ xmake

Run target

$ xmake run console

Debug target

$ xmake run -d console

Configure platform

$ xmake f -p [windows|linux|macosx|android|iphoneos ..] -a [x86|arm64 ..] -m [debug|release]
$ xmake

Menu configuration

$ xmake f --menu

Build as fast as ninja

The test project: xmake-core

Multi-task parallel compilation

buildsystem Termux (8core/-j12) buildsystem MacOS (8core/-j12)
xmake 24.890s xmake 12.264s
ninja 25.682s ninja 11.327s
cmake(gen+make) 5.416s+28.473s cmake(gen+make) 1.203s+14.030s
cmake(gen+ninja) 4.458s+24.842s cmake(gen+ninja) 0.988s+11.644s

Single task compilation

buildsystem Termux (-j1) buildsystem MacOS (-j1)
xmake 1m57.707s xmake 39.937s
ninja 1m52.845s ninja 38.995s
cmake(gen+make) 5.416s+2m10.539s cmake(gen+make) 1.203s+41.737s
cmake(gen+ninja) 4.458s+1m54.868s cmake(gen+ninja) 0.988s+38.022s

Package management

Download and build

Processing architecture

Supported package repositories

  • Official package repository xmake-repo (tbox >1.6.1)
  • Official package manager Xrepo
  • User-built repositories
  • Conan (conan::openssl/1.1.1g)
  • Conda (conda::libpng 1.3.67)
  • Vcpkg (vcpkg:ffmpeg)
  • Homebrew/Linuxbrew (brew::pcre2/libpcre2-8)
  • Pacman on archlinux/msys2 (pacman::libcurl)
  • Apt on ubuntu/debian (apt::zlib1g-dev)
  • Clib (clib::clibs/[email protected])
  • Dub (dub::log 0.4.3)
  • Portage on Gentoo/Linux (portage::libhandy)
  • Nimble for nimlang (nimble::zip >1.3)
  • Cargo for rust (cargo::base64 0.13.0)

Package management features

  • The official repository provides nearly 500+ packages, one-click compilation on all platforms
  • Full platform package support, support for cross-compiled dependent package integration
  • Support package virtual environment, xrepo env shell
  • Precompiled package acceleration for windows
  • Support self-built package repositories, private repository deployment
  • Third-party package repository support, such as: vcpkg, conan, conda, etc.
  • Support to pull using remote toolchain automatically
  • Support to lock package dependency

Supported platforms

  • Windows (x86, x64)
  • macOS (i386, x86_64, arm64)
  • Linux (i386, x86_64, cross-toolchains ..)
  • *BSD (i386, x86_64)
  • Android (x86, x86_64, armeabi, armeabi-v7a, arm64-v8a)
  • iOS (armv7, armv7s, arm64, i386, x86_64)
  • WatchOS (armv7k, i386)
  • AppleTVOS (armv7, arm64, i386, x86_64)
  • MSYS (i386, x86_64)
  • MinGW (i386, x86_64, arm, arm64)
  • Cygwin (i386, x86_64)
  • Wasm (wasm32)
  • Cross (cross-toolchains ..)

Supported toolchains

$ xmake show -l toolchains
xcode         Xcode IDE
msvc          Microsoft Visual C/C++ Compiler
yasm          The Yasm Modular Assembler
clang         A C language family frontend for LLVM
go            Go Programming Language Compiler
dlang         D Programming Language Compiler
gfortran      GNU Fortran Programming Language Compiler
zig           Zig Programming Language Compiler
sdcc          Small Device C Compiler
cuda          CUDA Toolkit
ndk           Android NDK
rust          Rust Programming Language Compiler
llvm          A collection of modular and reusable compiler and toolchain technologies
cross         Common cross compilation toolchain
nasm          NASM Assembler
gcc           GNU Compiler Collection
mingw         Minimalist GNU for Windows
gnu-rm        GNU Arm Embedded Toolchain
envs          Environment variables toolchain
fasm          Flat Assembler
tinycc        Tiny C Compiler
emcc          A toolchain for compiling to asm.js and WebAssembly
icc           Intel C/C++ Compiler
ifort         Intel Fortran Compiler
muslcc        The musl-based cross-compilation toolchain
fpc           Free Pascal Programming Language Compiler
wasi          WASI-enabled WebAssembly C/C++ toolchain
nim           Nim Programming Language Compiler
circle        A new C++20 compiler
armcc         ARM Compiler Version 5 of Keil MDK
armclang      ARM Compiler Version 6 of Keil MDK

Supported Languages

  • C
  • C++
  • Objective-C and Objective-C++
  • Swift
  • Assembly
  • Golang
  • Rust
  • Dlang
  • Fortran
  • Cuda
  • Zig
  • Vala
  • Pascal
  • Nim

Supported Features

  • The configuration grammar is simple and easy to use
  • Quick installation, without any dependencies
  • One-click compilation for all platforms
  • Support cross compilation, intelligent analysis of cross tool chain information
  • Extremely fast, multi-task parallel compilation support
  • C++20 Module support
  • Support cross-platform C/C++ dependency package quick integration, built-in package manager
  • Multi-language mixed compilation support
  • Rich plug-in support, providing various project generators, such as: vs/makefile/cmakelists/compile_commands to generate plugins
  • REPL interactive execution support
  • Incremental compilation support, automatic analysis of header files
  • Quick switching and customization support of tool chain
  • A large number of expansion modules support

Supported Projects

  • Static Library
  • Shared Library
  • Console
  • Cuda Program
  • Qt Application
  • WDK Driver (umdf/kmdf/wdm)
  • WinSDK Application
  • MFC Application
  • iOS/MacOS Application (Support .metal)
  • Framework and Bundle Program (iOS/MacOS)
  • SWIG Modules (Lua, python, ...)
  • Luarocks Modules
  • Protobuf Program
  • Lex/yacc program
  • C++20 Modules
  • Linux Kernel Driver Modules

More Examples

Debug and release modes

add_rules("mode.debug", "mode.release")

target("console")
    set_kind("binary")
    add_files("src/*.c")
    if is_mode("debug") then
        add_defines("DEBUG")
    end

Custom scripts

target("test")
    set_kind("binary")
    add_files("src/*.c")
    after_build(function (target)
        print("hello: %s", target:name())
        os.exec("echo %s", target:targetfile())
    end)

Automatic integration of dependent packages

Download and use packages in xmake-repo or third-party repositories:

add_requires("tbox >1.6.1", "libuv master", "vcpkg::ffmpeg", "brew::pcre2/libpcre2-8")
add_requires("conan::openssl/1.1.1g", {alias = "openssl", optional = true, debug = true})
target("test")
    set_kind("binary")
    add_files("src/*.c")
    add_packages("tbox", "libuv", "vcpkg::ffmpeg", "brew::pcre2/libpcre2-8", "openssl")

In addition, we can also use the xrepo command to quickly install dependent packages.

Qt QuickApp Program

target("test")
    add_rules("qt.quickapp")
    add_files("src/*.cpp")
    add_files("src/qml.qrc")

Cuda Program

target("test")
    set_kind("binary")
    add_files("src/*.cu")
    add_cugencodes("native")
    add_cugencodes("compute_35")

WDK/UMDF Driver Program

target("echo")
    add_rules("wdk.driver", "wdk.env.umdf")
    add_files("driver/*.c")
    add_files("driver/*.inx")
    add_includedirs("exe")

target("app")
    add_rules("wdk.binary", "wdk.env.umdf")
    add_files("exe/*.cpp")

More wdk driver program examples (umdf/kmdf/wdm), please see WDK Program Examples

iOS/MacOS Application

target("test")
    add_rules("xcode.application")
    add_files("src/*.m", "src/**.storyboard", "src/*.xcassets")
    add_files("src/Info.plist")

Framework and Bundle Program (iOS/MacOS)

target("test")
    add_rules("xcode.framework") -- or xcode.bundle
    add_files("src/*.m")
    add_files("src/Info.plist")

OpenMP Program

add_requires("libomp", {optional = true})
target("loop")
    set_kind("binary")
    add_files("src/*.cpp")
    add_rules("c++.openmp")
    add_packages("libomp")

Zig Program

target("test")
    set_kind("binary")
    add_files("src/main.zig")

Automatically fetch remote toolchain

fetch the special version of llvm

We use clang in llvm-10 to compile the project.

add_requires("llvm 10.x", {alias = "llvm-10"})
target("test")
    set_kind("binary")
    add_files("src/*.c)
    set_toolchains("[email protected]-10")

Fetch cross-compilation toolchain

We can also pull the specified cross-compilation tool chain to compile the project.

add_requires("muslcc")
target("test")
    set_kind("binary")
    add_files("src/*.c)
    set_toolchains("@muslcc")

Fetch toolchain and packages

We can also use the specified muslcc cross-compilation toolchain to compile and integrate all dependent packages

add_requires("muslcc")
add_requires("zlib", "libogg", {system = false})

set_toolchains("@muslcc")

target("test")
    set_kind("binary")
    add_files("src/*.c")
    add_packages("zlib", "libogg")

Plugins

Generate IDE project file plugin(makefile, vs2002 - vs2022 .. )

$ xmake project -k vsxmake -m "debug,release" # New vsproj generator (Recommended)
$ xmake project -k vs -m "debug,release"
$ xmake project -k cmake
$ xmake project -k ninja
$ xmake project -k compile_commands

Run the custom lua script plugin

$ xmake l ./test.lua
$ xmake l -c "print('hello xmake!')"
$ xmake l lib.detect.find_tool gcc
$ xmake l
> print("hello xmake!")
> {1, 2, 3}
< {
    1,
    2,
    3
  }

More builtin plugins, please see: Builtin plugins

Please download and install more other plugins from the plugins repository xmake-plugins.

IDE/Editor Integration

XMake Gradle Plugin (JNI)

We can uses xmake-gradle plugin to compile JNI library in gradle.

plugins {
  id 'org.tboox.gradle-xmake-plugin' version '1.1.5'
}

android {
    externalNativeBuild {
        xmake {
            path "jni/xmake.lua"
        }
    }
}

The xmakeBuild will be injected to assemble task automatically if the gradle-xmake-plugin has been applied.

$ ./gradlew app:assembleDebug
> Task :nativelib:xmakeConfigureForArm64
> Task :nativelib:xmakeBuildForArm64
>> xmake build
[ 50%]: ccache compiling.debug nativelib.cc
[ 75%]: linking.debug libnativelib.so
[100%]: build ok!
>> install artifacts to /Users/ruki/projects/personal/xmake-gradle/nativelib/libs/arm64-v8a
> Task :nativelib:xmakeConfigureForArmv7
> Task :nativelib:xmakeBuildForArmv7
>> xmake build
[ 50%]: ccache compiling.debug nativelib.cc
[ 75%]: linking.debug libnativelib.so
[100%]: build ok!
>> install artifacts to /Users/ruki/projects/personal/xmake-gradle/nativelib/libs/armeabi-v7a
> Task :nativelib:preBuild
> Task :nativelib:assemble
> Task :app:assembleDebug

Technical Support

We also provide paid technical support to help users quickly solve related problems. For details, please click the image link below:

Or you can also consider sponsoring us to get technical support services, [Become a sponsor]

Who is using Xmake?

Please click User List to view the complete user list.

If you are using xmake, welcome to submit the information to the above list through PR, so that let more users can known how many users are using xmake.

Ihis also let users to use xmake more confidently, and we will also have more motivation to maintain it continuously, so that the xmake project and the community will grow stronger.

Contacts

Thanks

This project exists thanks to all the people who have contributed:

  • TitanSnow: provide the xmake logo and install scripts
  • uael: provide the semantic versioning library sv
  • OpportunityLiu: improve cuda, tests and ci
  • xq144: Improve xrepo env shell, and contribute a lot of packages to the xmake-repo repository.
Comments
  • quickapp_qt 模板產生出來的專案,編譯成功後,執行失敗

    quickapp_qt 模板產生出來的專案,編譯成功後,執行失敗

    產生專案的指令:

    $ xmake create -l c++ -t quickapp_qt qt5_app
    $ xmake f --qt=D:\Qt5\5.9.3
    $ xmake project -k vs2015
    

    無論是直接xmake或是開啟.sln,編譯成功後,執行時都會出現錯誤訊息:

    QQmlApplicationEngine failed to load component
    qrc:/main.qml:-1 No such file or directory
    

    後來嘗試把自動生成的 .qt\qrc\qt5_app\qml.cpp 強制加入專案一起編譯,才可以正常運作。

    • 請問沒有自動把qml.cpp加入編譯是否為預期中的行為? 使用者得自行加入?
    discussion feature request 
    opened by orzuk-lmj 118
  • 增加头目录及库目录提供出错

    增加头目录及库目录提供出错

    add_rules("mode.debug", "mode.release") target("native-lib") set_kind("shared") add_option_includedirs("libs\x86\include") add_option_linkdirs("libs") add_files("native-lib.cpp")

    (试过add_option_includedirs("libs/x86/include")也是一样)

    .\xmake.lua:4: attempt to call global 'add_option_includedirs' (a nil value)

    opened by hsav20 102
  • Remote package management

    Remote package management

    A package manager or package management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer's operating system in a consistent manner.

    A package manager deals with packages, distributions of software and data in archive files. Packages contain metadata, such as the software's name, description of its purpose, version number, vendor, checksum, and a list of dependencies necessary for the software to run properly. Upon installation, metadata is stored in a local package database. Package managers typically maintain a database of software dependencies and version information to prevent software mismatches and missing prerequisites. They work closely with software repositories, binary repository managers, and app stores.

    Source: package manager

    Remote package management roadmap:

    • [x] detect tools and environment and wrap them
      • [x] git
      • [x] curl
      • [x] wget
      • [x] unzip/tar/7z/gzip
      • [x] ping (test speed)
    • [x] Extractor wrapper
      • [x] tar
      • [x] unzip
      • [x] gzip
      • [x] 7z
    • [x] Cache management
    • [x] semver
      • [x] parse
      • [x] satisfies
      • [x] select
    • [ ] Multi language
      • [x] asm/c/c++
      • [x] objc/c++
      • [x] swift
      • [x] rust
      • [x] dlang
    • [x] Multi platform
      • [x] linux
      • [x] macOS
      • [x] windows
        • [x] git
        • [x] downloader (http[s], ftp ..)
        • [x] extractor (zip, tar.gz, 7z .. )
    • [x] Command line tools
      • [x] require task
        • [x] install
          • [x] parse require info
          • [x] parse and load packages from repositories
          • [x] download package
            • [x] optimization: select the fastest url if exists multiple urls
          • [x] extract package
          • [x] build package
            • [x] xmake.lua
              • [x] linux/macos
              • [x] windows
            • [x] makefile
              • [x] linux/macos
              • [x] windows
            • [x] configure/make
              • [x] linux/macos
            • [x] cmakelists.txt
              • [x] linux/macos
              • [x] windows (in progress ..)
            • [x] *.vcproj
              • [x] windows
          • [x] install package
          • [x] install basic dependent tools (git, curl, unzip ...)
        • [x] search
        • [x] clear
        • [x] remove
        • [x] list
      • [x] repo task
        • [x] add repository
        • [x] remove repository
        • [x] list all repositories
        • [x] clear all repositories and cache
        • [x] global or local repositories
    • [x] xmake lua api
      • [x] add_requires: add package require info
      • [x] add_repositories: add repository url
      • [x] add_packages: add package dependencies to target
      • [x] package: package definition
        • [x] set_urls
        • [x] add_versions
        • [x] set_homepage
        • [x] set_description
        • [x] add_deps
        • [x] [on|before|after]_load: custom load script
        • [x] [on|before|after]_install: custom install script
        • [x] [on|before|after]_test: custom test script
        • [x] add_patches
        • [x] add_links
        • [x] add_defines
        • [x] add_includedirs
    discussion feature request 
    opened by uael 85
  • vs2015编译报错缺少qt的ui_***Lib.h文件

    vs2015编译报错缺少qt的ui_***Lib.h文件

    Describe the bug

    • 正常编译生成vs2015项目
    D:\GitLab\sd-cpp\sdSocketKey_win_http>xmake project -k vs2015 -m "debug,release"
    checking for the debug.x86 ...
    checking for the debug.x64 ...
    checking for the release.x86 ...
    checking for the release.x64 ...
    create ok!
    
    • sdUi是qt编译生成的界面dll文件 image
    • 这里链接进来.qt的少了build-qt-ui的 如何添加?感觉可以解决报错 image

    报错如下

    错误	C1083	无法打开包括文件: “ui_sdUiLib.h”: No such file or directory	sdUi	D:\GitLab\sd-cpp\sdSocketKey_win_http\sdUi\sdUiLib.cpp	2	
    
    • 直接命令行编译是正常的,用vs编译就出现这个报错
    improvement 
    opened by jiagushuai 71
  • Support call xmake from msbuild

    Support call xmake from msbuild

    Ref: #257 #174

    
    │  xmake.lua
    ├─.xmake            
    ├─build
    ├─src
    │  │  
    │  ├─demo
    │  │  │  xmake.lua
    │  │  └─ ...
    │  ├─lcurses    
    │  │  │  xmake.lua
    │  │  └─ ...
    │  ├─luajit
    │  │  │  xmake.lua
    │  │  └─ ...
    │  ├─pdcurses
    │  │  │  xmake.lua
    │  │  └─ ...
    │  ├─tbox
    │  │  │  xmake.lua
    │  │  └─ ...           
    │  └─xmake
    │     │  xmake.lua
    │     └─ ...    
    └─vsxmake
        │  vsxmake.sln
        │  Xmake.Custom.props
        │  Xmake.Custom.targets
        │      
        ├─demo
        │      demo.vcxproj
        │      demo.vcxproj.filters
        │      demo.vcxproj.user
        │      Xmake.Custom.props
        │      Xmake.Custom.targets
        │      
        ├─lcurses
        │      lcurses.vcxproj
        │      lcurses.vcxproj.filters
        │      lcurses.vcxproj.user
        │      Xmake.Custom.props
        │      Xmake.Custom.targets
        │      
        ├─luajit
        │      luajit.vcxproj
        │      luajit.vcxproj.filters
        │      luajit.vcxproj.user
        │      Xmake.Custom.props
        │      Xmake.Custom.targets
        │      
        ├─pdcurses
        │      pdcurses.vcxproj
        │      pdcurses.vcxproj.filters
        │      pdcurses.vcxproj.user
        │      Xmake.Custom.props
        │      Xmake.Custom.targets
        │      
        ├─sv
        │      sv.vcxproj
        │      sv.vcxproj.filters
        │      sv.vcxproj.user
        │      Xmake.Custom.props
        │      Xmake.Custom.targets
        │      
        ├─tbox
        │      tbox.vcxproj
        │      tbox.vcxproj.filters
        │      tbox.vcxproj.user
        │      Xmake.Custom.props
        │      Xmake.Custom.targets
        │      
        └─xmake
                Xmake.Custom.props
                Xmake.Custom.targets
                xmake.vcxproj
                xmake.vcxproj.filters
                xmake.vcxproj.user
    
    feature request 
    opened by OpportunityLiu 70
  • 设置工具链为clang遇到的问题

    设置工具链为clang遇到的问题

    使用命令行配置: xmake f -v --cc=clang --cxx=clang++ --ld=clang++ -m debug 可以正确保存工具链为clang,正确编译代码

    但是我希望能在xmake.lua里直接设置工具链,不用再执行配置指令,这么写的: set_tools("cc", "/usr/bin/clang") set_tools("cxx", "/usr/bin/clang++") set_tools("ld", "/usr/bin/clang++")

    add_rules("mode.debug", "mode.release")

    -- add target target("hello") -- 之前set_tools放在这里,也不能生效

    -- set kind
    set_kind("binary")
    
    -- add files
    add_files("src/*.cpp") 
    

    直接执行xmake,会默认使用gcc编译,clang++来链接。为什么不是使用clang++编译呢?

    请问是不是我设置错了,要如何设置才能在不用调用xmake f配置的情况下,直接可以编译呢?

    输出结果: checking for the architecture ... x86_64 configure { plat = linux arch = x86_64 ccache = true kind = static buildir = build host = linux mode = release ndk_stdcxx = true } checking for the gcc ... /usr/bin/gcc checking for the c++ compiler (cxx) ... gcc checking for the /usr/bin/gcc ... ok checking for the flags (-O3) ... ok checking for the ccache ... no [ 0%]: compiling.release src/main.cpp /usr/bin/gcc -c -fvisibility=hidden -O3 -m64 -I/usr/local/include -I/usr/include -o build/.objs/hello/linux/x86_64/release/src/main.cpp.o src/main.cpp checking for the flags (-MMD -MF) ... ok [100%]: linking.release hello clang++ -o build/linux/x86_64/release/hello build/.objs/hello/linux/x86_64/release/src/main.cpp.o -s -fvisibility=hidden -m64 -L/usr/local/lib -L/usr/lib

    improvement 
    opened by owllyi 64
  • Automatic Inference of `MinGW` SDK Directory

    Automatic Inference of `MinGW` SDK Directory

    The code in:

    https://github.com/xmake-io/xmake/blob/c1f1db8e3358255e95afb22b5f16da683ec696e2/xmake/modules/detect/sdks/find_mingw.lua#L30-L43

    Supports only macOS and Linux. On top of this, it doesn't check for existence, it only sets directories (Which might not exist).

    I suggest the following assuming MinGW platform was defined (-p mingw):

    1. If on Windows, Look for Environment Variables GCC_BIN_PATH or GCC_LIB_PATH.
    2. In case they exist define minGwSdk = GCC_BIN_PATH/.. or minGwSdk = GCC_LIB_PATH/.. with priority for the BIN folder.
    3. If not on Windows, do as the code above deines.
    4. Check for existence of minGwSdk. If it doesn't exist return an error.

    Step (4) is in case the existence isn't in a later step in the program.

    feature request improvement 
    opened by RoyiAvital 58
  • android 平台集成 jpeg-turbo 库问题

    android 平台集成 jpeg-turbo 库问题

    xmake f -p android --ndk=E:\Android\sdk\ndk\21.0.6113669 -a x86 --ndk_sdkver=21 --ndk_cxxstl=c++_static 在.xmake下面生成安卓对应平台的内容。

    checking for Android SDK directory ... E:\Android\sdk checking for Build Tools Version of Android SDK ... 30.0.3 checking for NDK directory ... E:\Android\sdk\ndk\21.0.6113669 checking for SDK version of NDK ... 21 checking for toolchains version of NDK ... 4.9****

    但在.xmake下面生成的是windows的平台的内容。

    bug 
    opened by dsp2000 52
  • Cannot move source.tmp when installing package from git

    Cannot move source.tmp when installing package from git

    Xmake Version

    v2.7.1

    Operating System Version and Architecture

    Windows 11 22H2

    Describe Bug

    image

    error: cannot move source.tmp to source Permission denied

    Expected Behavior

    Deps installed successfully.

    Project Configuration

    No response

    Additional Information and Error Logs

    No response

    bug 
    opened by Cutano 50
  • 交叉编译偶发检测不到相应工具链

    交叉编译偶发检测不到相应工具链

    Xmake 版本

    xmake v2.7.1+HEAD.0162040

    操作系统版本和架构

    Linux paste 5.15.34-amd64-desktop #2 SMP Mon May 16 16:31:30 CST 2022 x86_64 GNU/Linux

    描述问题

    使用远程交叉编译链交叉编译,每次修改 xmake.lua 过后,有几率导致交叉编译 gcc 找不到从而使用了 宿主机 的 gcc,但是链接时 g++ 是正常的,更新到 dev 及 回退到 2.6.9、 2.6.8 版本 皆能重现

    以下是最小可复现例子 cross_exception.zip

    重现步骤: 改动 xmake.lua xmake f -a arm -cvD xmake -rvD

    有个自动化脚本 auto.sh, 直接调用就可以循环测试,报错时会自动中止退出(有时候不好复现,可能要跑一段时间,如果在跑 auto.sh 的时候外部再 touch xmake.lua 似乎相对比较好复现)

    这是我手动敲的时候复现时的日志:

    ☁  cross_exception xmake f -a arm -cvD
    
    checking for platform ... linux
    checking for gcc ... /usr/bin/gcc
    checkinfo: cannot runv(dmd --version), No such file or directory
    checking for dmd ... no
    checkinfo: cannot runv(ldc2 --version), No such file or directory
    checking for ldc2 ... no
    checkinfo: cannot runv(gdc --version), No such file or directory
    checking for gdc ... no
    checkinfo: cannot runv(zig version), No such file or directory
    checking for zig ... no
    checkinfo: cannot runv(zig version), No such file or directory
    checking for zig ... no
    checking for unzip ... /usr/bin/unzip
    checking for git ... /usr/bin/git
    checking for gzip ... /usr/bin/gzip
    checking for tar ... /usr/bin/tar
    /usr/bin/git rev-parse HEAD
    checking for muslcc ... no
    configure
    {
        ndk_stdcxx = true
        arch = arm
        buildir = build
        plat = linux
        ccache = true
        theme = default
        pkg_searchdirs = 
        mode = release
        clean = true
        network = private
        proxy_pac = pac.lua
        kind = static
        target_os = linux
        host = linux
    }
    ☁  cross_exception xmake -rvD         
    checking for the c compiler (cc: arm-linux-musleabi-gcc) ... no
    checking for the c compiler (cc: arm-linux-musleabi-clang) ... no
    checking for the c compiler (cc) ... gcc
    checking for flags (-O3) ... ok
    > gcc "-O3"
    checking for flags (-DNDEBUG) ... ok
    > gcc "-DNDEBUG"
    [ 62%]: cache compiling.release hello.c
    /usr/bin/gcc -c -fvisibility=hidden -O3 -DNDEBUG -o build/.objs/test/linux/arm/release/hello.c.o hello.c
    checking for flags (-MMD -MF) ... ok
    > gcc "-MMD" "-MF" "/dev/null"
    checking for flags (-fdiagnostics-color=always) ... ok
    > gcc "-fdiagnostics-color=always"
    checking for arm-linux-musleabi-g++ ... /home/paste/.config/.xmake/packages/m/muslcc/20210202/b64bd5ff453d47d9a5a1b81427a6c9b1/bin/arm-linux-musleabi-g++
    checking for the linker (ld) ... arm-linux-musleabi-g++
    checking for /home/paste/.config/.xmake/packages/m/muslcc/20210202/b64bd5ff453d47d9a5a1b81427a6c9b1/bin/arm-linux-musleabi-g++ ... ok
    checking for flags (-fPIC) ... ok
    > arm-linux-musleabi-g++ "-fPIC"
    [ 75%]: linking.release test
    /home/paste/.config/.xmake/packages/m/muslcc/20210202/b64bd5ff453d47d9a5a1b81427a6c9b1/bin/arm-linux-musleabi-g++ -o build/linux/arm/release/test build/.objs/test/linux/arm/release/hello.c.o -s
    error: @programdir/modules/private/async/runjobs.lua:256: @programdir/actions/build/kinds/binary.lua:74: @programdir/core/sandbox/modules/os.lua:267: build/.objs/test/linux/arm/release/hello.c.o: file not recognized: file format not recognized
    collect2: error: ld returned 1 exit status
    
    stack traceback:
        [C]: in function 'error'
        [@programdir/core/base/os.lua:882]:
        [@programdir/core/sandbox/modules/os.lua:267]: in function 'runv'
        [@programdir/modules/core/tools/gcc.lua:377]:
        [C]: in function 'xpcall'
        [@programdir/core/base/utils.lua:280]:
        [@programdir/actions/build/kinds/binary.lua:74]: in function 'callback'
        [@programdir/modules/core/project/depend.lua:193]: in function 'on_changed'
        [@programdir/actions/build/kinds/binary.lua:55]: in function '_do_link_target'
        [@programdir/actions/build/kinds/binary.lua:102]:
        [@programdir/actions/build/kinds/binary.lua:129]: in function '_link_target'
        [@programdir/actions/build/kinds/binary.lua:157]: 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:121]: in function 'try'
        [@programdir/modules/private/async/runjobs.lua:218]: in function 'cotask'
        [@programdir/core/base/scheduler.lua:388]:
    
    stack traceback:
            [C]: in function 'error'
            @programdir/core/base/os.lua:882: in function 'os.raiselevel'
            (...tail calls...)
            @programdir/modules/private/async/runjobs.lua:256: in field 'catch'
            @programdir/core/sandbox/modules/try.lua:127: in global 'try'
            @programdir/modules/private/async/runjobs.lua:218: in upvalue 'cotask'
            @programdir/core/base/scheduler.lua:388: in function <@programdir/core/base/scheduler.lua:385>
    ☁  cross_exception xmake f -a arm -cvD
    
    checking for platform ... linux
    checking for gcc ... /usr/bin/gcc
    checkinfo: cannot runv(dmd --version), No such file or directory
    checking for dmd ... no
    checkinfo: cannot runv(ldc2 --version), No such file or directory
    checking for ldc2 ... no
    checkinfo: cannot runv(gdc --version), No such file or directory
    checking for gdc ... no
    checkinfo: cannot runv(zig version), No such file or directory
    checking for zig ... no
    checkinfo: cannot runv(zig version), No such file or directory
    checking for zig ... no
    checking for unzip ... /usr/bin/unzip
    checking for git ... /usr/bin/git
    checking for gzip ... /usr/bin/gzip
    checking for tar ... /usr/bin/tar
    /usr/bin/git rev-parse HEAD
    checking for muslcc ... no
    configure
    {
        target_os = linux
        pkg_searchdirs = 
        buildir = build
        arch = arm
        network = private
        theme = default
        proxy_pac = pac.lua
        plat = linux
        kind = static
        clean = true
        ccache = true
        host = linux
        mode = release
        ndk_stdcxx = true
    }
    ☁  cross_exception xmake -rvD         
    checking for arm-linux-musleabi-gcc ... /home/paste/.config/.xmake/packages/m/muslcc/20210202/b64bd5ff453d47d9a5a1b81427a6c9b1/bin/arm-linux-musleabi-gcc
    checking for the c compiler (cc) ... arm-linux-musleabi-gcc
    checking for /home/paste/.config/.xmake/packages/m/muslcc/20210202/b64bd5ff453d47d9a5a1b81427a6c9b1/bin/arm-linux-musleabi-gcc ... ok
    checking for flags (-fPIC) ... ok
    > arm-linux-musleabi-gcc "-fPIC"
    checking for flags (-O3) ... ok
    > arm-linux-musleabi-gcc "-O3"
    checking for flags (-DNDEBUG) ... ok
    > arm-linux-musleabi-gcc "-DNDEBUG"
    [ 62%]: cache compiling.release hello.c
    /home/paste/.config/.xmake/packages/m/muslcc/20210202/b64bd5ff453d47d9a5a1b81427a6c9b1/bin/arm-linux-musleabi-gcc -c -fvisibility=hidden -O3 -DNDEBUG -o build/.objs/test/linux/arm/release/hello.c.o hello.c
    checking for flags (-MMD -MF) ... ok
    > arm-linux-musleabi-gcc "-MMD" "-MF" "/dev/null"
    checking for flags (-fdiagnostics-color=always) ... ok
    > arm-linux-musleabi-gcc "-fdiagnostics-color=always"
    checking for arm-linux-musleabi-g++ ... /home/paste/.config/.xmake/packages/m/muslcc/20210202/b64bd5ff453d47d9a5a1b81427a6c9b1/bin/arm-linux-musleabi-g++
    checking for the linker (ld) ... arm-linux-musleabi-g++
    checking for /home/paste/.config/.xmake/packages/m/muslcc/20210202/b64bd5ff453d47d9a5a1b81427a6c9b1/bin/arm-linux-musleabi-g++ ... ok
    checking for flags (-fPIC) ... ok
    > arm-linux-musleabi-g++ "-fPIC"
    [ 75%]: linking.release test
    /home/paste/.config/.xmake/packages/m/muslcc/20210202/b64bd5ff453d47d9a5a1b81427a6c9b1/bin/arm-linux-musleabi-g++ -o build/linux/arm/release/test build/.objs/test/linux/arm/release/hello.c.o -s
    
    build cache stats:
    cache directory: build/.build_cache
    cache hit rate: 100%
    cache hit: 1
    cache miss: 0
    new cached files: 0
    remote cache hit: 0
    remote new cached files: 0
    preprocess failed: 0
    compile fallback count: 0
    
    [100%]: build ok!
    

    期待的结果

    能正常检测 交叉编译 gcc

    工程配置

    No response

    附加信息和错误日志

    No response

    bug 
    opened by OuYangPaste 48
  • xmake turbojpeg 安卓armeabi-v7a不正常

    xmake turbojpeg 安卓armeabi-v7a不正常

    Note: If it is a 'bug report' or 'feature request', please select the corresponding issue template, otherwise this issue will be not replied.

    Describe the problem details

    Please describe your problem details here.

    xmake turbojpeg 编译到x86可以使用,但在 安卓armeabi-v7a不正常,生成的so加载不成功。去掉 add_packages("libjpeg-turbo")后可以的

    另外,没有生成turbojpeg的include文件。

    这个可以单独生成*.a文件吗?现在是直接回到项目的,也不知*.a及一些临时文件放在哪里。

    opened by dsp2000 45
  • XMake无法自动发现MSVC编译工具

    XMake无法自动发现MSVC编译工具

    Xmake 版本

    xmake v2.7.4+dev.c8d4a72a6

    操作系统版本和架构

    Windows 11 专业版 22H2

    描述问题

    系统已经安装了如下版本的VS2022

    • Microsoft Visual Studio Enterprise 2022 (64-bit) - Current
    • Version 17.4.3

    但是在xmake/core目录下执行,以下两条命令

    xmake g -c
    xmake f -c
    

    都无法发现VS版本

    期待的结果

    能够找到VS2022,并可以在windows 下,直接 msvc 编译出XMake.exe

    工程配置

    xmake/core目录下的xmake.lua脚本

    -- project
    set_project("xmake")
    
    -- version
    set_version("2.7.4", {build = "%Y%m%d%H%M"})
    
    -- set xmake min version
    set_xmakever("2.2.3")
    
    -- set warning all as error
    set_warnings("all", "error")
    
    -- set language: c99, c++11
    set_languages("c99", "cxx11")
    
    -- add release and debug modes
    add_rules("mode.release", "mode.debug")
    if is_mode("release") then
        set_optimize("smallest")
        if is_plat("windows") then
            add_ldflags("/LTCG")
        end
    end
    
    -- disable some compiler errors
    add_cxflags("-Wno-error=deprecated-declarations", "-fno-strict-aliasing", "-Wno-error=nullability-completeness", "-Wno-error=parentheses-equality")
    
    -- add defines
    add_defines("_GNU_SOURCE=1", "_FILE_OFFSET_BITS=64", "_LARGEFILE_SOURCE")
    
    -- add vectorexts
    --[[
    if is_arch("x86", "x64", "i386", "x86_64") then
        add_vectorexts("sse", "sse2", "sse3", "avx", "avx2")
    elseif is_arch("arm.*") then
        add_vectorexts("neon")
    end]]
    
    -- for the windows platform (msvc)
    if is_plat("windows") then
        add_cxflags("-MT")
        add_ldflags("-nodefaultlib:msvcrt.lib")
        add_links("kernel32", "user32", "gdi32")
    end
    
    -- for mode coverage
    if is_mode("coverage") then
        add_ldflags("-coverage", "-fprofile-arcs", "-ftest-coverage")
    end
    
    -- the runtime option
    option("runtime")
        set_showmenu(true)
        set_default("lua")
        set_description("Use luajit or lua runtime")
        set_values("luajit", "lua")
    option_end()
    
    -- the readline option
    option("readline")
        set_showmenu(true)
        set_description("Enable or disable readline library")
        add_links("readline")
        add_cincludes("readline/readline.h")
        add_cfuncs("readline")
        add_defines("XM_CONFIG_API_HAVE_READLINE")
    option_end()
    
    -- the curses option
    option("curses")
        set_showmenu(true)
        set_description("Enable or disable curses library")
        add_links("curses")
        add_cincludes("curses.h")
        add_defines("XM_CONFIG_API_HAVE_CURSES")
    option_end()
    
    -- the pdcurses option
    option("pdcurses")
        set_default(true)
        set_showmenu(true)
        set_description("Enable or disable pdcurses library")
        add_defines("PDCURSES")
        add_defines("XM_CONFIG_API_HAVE_CURSES")
    option_end()
    
    -- only build xmake libraries for development?
    option("onlylib")
        set_default(false)
        set_showmenu(true)
        set_description("Only build xmake libraries for development")
    option_end()
    
    -- suppress warnings
    if is_plat("windows") then
        add_defines("_CRT_SECURE_NO_WARNINGS")
        add_cxflags("/utf-8")
    end
    
    -- add projects
    includes("src/lua-cjson", "src/sv", "src/lz4", "src/tbox", "src/xmake", "src/demo")
    if is_config("runtime", "luajit") then
        includes("src/luajit")
    else
        includes("src/lua")
    end
    if is_plat("windows") then
        includes("src/pdcurses")
    end
    
    

    附加信息和错误日志

    图片

    PS D:\Code\code_server\GitHub\xmake\core> xmake g -c;xmake f -c -vD;
    configure
    {
        network = public
        proxy_pac = pac.lua
        clean = true
        theme = default
    }
    checking for platform ... windows
    checking for architecture ... x64
    checking for vswhere.exe ... C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe
    checking for Microsoft Visual Studio (x64) version ... no
    checking for clang ... ok
    checkinfo: cannot runv(dmd.exe --version), No such file or directory
    checking for dmd ... no
    checkinfo: cannot runv(ldc2.exe --version), No such file or directory
    checking for ldc2 ... no
    checkinfo: cannot runv(gdc.exe --version), No such file or directory
    checking for gdc ... no
    checkinfo: cannot runv(zig.exe version), No such file or directory
    checking for zig ... no
    checkinfo: cannot runv(zig.exe version), No such file or directory
    checking for zig ... no
    checking for clang ... ok
    checking for the c compiler (cc) ... clang
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_11D5BA8D8E134370808AED6BEB82FCB0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_CB5F49BA6D594E80BA9E60D09E1BB5FA.c
    checking for the c compiler (cc) ... clang
    checking for the c compiler (cc) ... clang
    checking for the c compiler (cc) ... clang
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_A62413F2AF49433088E521138F462360.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_FDD7E7C3137C4899A59187CA9492B0A3.c
    checking for the c compiler (cc) ... clang
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_9D97D799873D4E4081CDC2EEBD14B3A0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_2F8339D9679641C1A803DE1853E2A6D1.c
    checking for the c compiler (cc) ... clang
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_397DF6B7B78E4550816D8955D337F460.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_91DA54EFC28840FEABBF5DA338B488D4.c
    checking for the c compiler (cc) ... clang
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_3E8AE71B20504B608003BA08A10F5680.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_11715FC5AC114841AF3D1220A4CE758B.c
    checking for the c compiler (cc) ... clang
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_2DB5A82F387C4E108EAC0FD1475D0B50.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_84654220105544399AD0129C1F737B1E.c
    checking for the c compiler (cc) ... clang
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_A607F79C7E34456084632D5CB7715B70.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_C81055F1658F46ED9CB32BF57EAACEC4.c
    checking for the c compiler (cc) ... clang
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_BB78DE9B54074E0083DE3A3AA3263E10.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_218B61C80C5B483994E3AA0A24114B33.c
    checking for the c compiler (cc) ... clang
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_D04C0731356F46508A893D3926C47A80.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_217FD8E280244CB9AF0853BB7655D636.c
    checking for the c compiler (cc) ... clang
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_DCE65053FBBE480087A2444B30B52530.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_C04055ABBB3B4A18A79C8EFE4536A045.c
    checking for the c compiler (cc) ... clang
    checking for the c compiler (cc) ... clang
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_DDB12FF9FC3B4F608590C79E6C7FEAC0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_D0CFC1D403074D9893004F72319FEEF2.c
    checking for the c compiler (cc) ... clang
    checking for the c compiler (cc) ... clang
    checking for the c compiler (cc) ... clang
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_D3FF6F1DC31C4730882DE3FB95B3B6B0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_1E1B92EFF36C4152BA76FE18AD57EE4F.c
    checking for the c compiler (cc) ... clang
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_CE206D47275C406084DC6CD5DFF91F80.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_40E9A4DD26504A708E0576634B3F792C.c
    checking for the c compiler (cc) ... clang
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_DDFCA7ABBE4445208A5857ABD3BA9550.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_4D934ACD359743CC96BDE1547BE6307D.c
    checking for the c compiler (cc) ... clang
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_103C6D61AF8942408AE71F002F68F3B0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_027E6671FFC1404EA86C920610B23DB9.c
    checking for the c compiler (cc) ... clang
    checking for the c compiler (cc) ... clang
    checking for the c compiler (cc) ... clang
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_3E2F1CBD3CDC4B508396DEDAF160FF60.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_D7057FC01BC4484286EE7A8490E8EDB7.c
    checking for the c compiler (cc) ... clang
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_81775F97F23144508C41C33B64813860.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_9315C020459341BF88D4441F8C998C66.c
    checking for the c compiler (cc) ... clang
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_8DA0C08B699C486084E66AC0E1B974B0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_49A6F85B6DC64869AF0668BFED13D89A.c
    checking for the c compiler (cc) ... clang
    checking for the c compiler (cc) ... clang
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_4B7A1A4014F1485084FA35E65E3B8170.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_C8264FB7025344DC986991ABFE488883.c
    checking for the c compiler (cc) ... clang
    > clang -c -Qunused-arguments -m64 -std=c99 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_ACFE00700CEA463089645450A9099670.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_AA0EB580531F437CA371BFA8F15E4F33.c
    checking for the c compiler (cc) ... clang
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_8F1A7BF1F49946008BBF2FB1A9A69A20.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_EE95C81D64A54D538EA5C885BAE17F77.c
    checking for the c compiler (cc) ... clang
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_857AA45249354470861EF59836F745E0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_AACC15E0D4B94DBAB5D4BC6D272B3CE8.c
    checking for the c compiler (cc) ... clang
    checking for the c compiler (cc) ... clang
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_ABBE39C4B1BA4E508AAED5F4BCCF5260.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_C96BF75A73CD4D929A24CA0B8B2CB4E1.c
    checking for the c compiler (cc) ... clang
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_08A45B7884AF4F00869E7932612C9B40.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_0ECA27C8B189489FA37494915321E7C2.c
    checking for the c compiler (cc) ... clang
    checking for flags (-fdiagnostics-color=always) ... ok
    > clang "-fdiagnostics-color=always" "-Qunused-arguments" "-m64"
    checking for flags (-WX -W3) ... ok
    > clang "-WX" "-W3" "-Qunused-arguments" "-m64"
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_7E46F6F66C2447608AABF13F7994EE60.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_9D06393C5E454377BA9BEE92C665F586.c
    checking for flags (-fdiagnostics-color=always) ... ok
    > clang "-fdiagnostics-color=always" "-Qunused-arguments" "-m64"
    checking for flags (-WX -W3) ... ok
    > clang "-WX" "-W3" "-Qunused-arguments" "-m64"
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_FFDE623FBE5040008826715173BF7260.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_2E32ABC9E6E8421790170EC0B724AEDA.c
    checking for flags (-fdiagnostics-color=always) ... ok
    > clang "-fdiagnostics-color=always" "-Qunused-arguments" "-m64"
    checking for flags (-WX -W3) ... ok
    > clang "-WX" "-W3" "-Qunused-arguments" "-m64"
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_B7E32E71620748608014940ECDC9DC60.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_7EB4AD38484D4BF7B4308C7CE8235413.c
    checking for flags (-fdiagnostics-color=always) ... ok
    > clang "-fdiagnostics-color=always" "-Qunused-arguments" "-m64"
    checking for flags (-WX -W3) ... ok
    > clang "-WX" "-W3" "-Qunused-arguments" "-m64"
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_4796D2BBA10A4B4087798EB6CF5DBAA0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_BD5F166AAC6641EDA5722CAC9944AD95.c
    checking for flags (-fdiagnostics-color=always) ... ok
    > clang "-fdiagnostics-color=always" "-Qunused-arguments" "-m64"
    checking for flags (-WX -W3) ... ok
    > clang "-WX" "-W3" "-Qunused-arguments" "-m64"
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_9FA0B25228464960896655522F34EFA0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_76425BF6DD414BC9BA3B4B00B6DDB869.c
    checking for flags (-fdiagnostics-color=always) ... ok
    > clang "-fdiagnostics-color=always" "-Qunused-arguments" "-m64"
    checking for flags (-WX -W3) ... ok
    > clang "-WX" "-W3" "-Qunused-arguments" "-m64"
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_884238FCDE8D46708465236C55E851D0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_120D053D8A4F454DB729CE4928404A6E.c
    checking for flags (-fdiagnostics-color=always) ... ok
    > clang "-fdiagnostics-color=always" "-Qunused-arguments" "-m64"
    checking for flags (-WX -W3) ... ok
    > clang "-WX" "-W3" "-Qunused-arguments" "-m64"
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_DBB5079B61B84520879A49F80DB8DA70.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_95E670D807864AC7AF9896679AD78064.c
    checking for flags (-WX -W3) ... ok
    > clang "-WX" "-W3" "-Qunused-arguments" "-m64"
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_66BE25FF07474030834740484C6C1070.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_8C952DDB896C414DA04B03AEBED551E9.c
    checking for flags (-fdiagnostics-color=always) ... ok
    > clang "-fdiagnostics-color=always" "-Qunused-arguments" "-m64"
    checking for flags (-fdiagnostics-color=always) ... ok
    > clang "-fdiagnostics-color=always" "-Qunused-arguments" "-m64"
    checking for flags (-WX -W3) ... ok
    > clang "-WX" "-W3" "-Qunused-arguments" "-m64"
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_19C211C2BE13485088CBA22609A11670.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_213FA507D82640639026CF4C2C4D1FE6.c
    checking for flags (-fdiagnostics-color=always) ... ok
    > clang "-fdiagnostics-color=always" "-Qunused-arguments" "-m64"
    checking for flags (-WX -W3) ... ok
    > clang "-WX" "-W3" "-Qunused-arguments" "-m64"
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_D9838D6D714A43008B1D8B7D3A63CE20.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_2EE7EEF8C0984FBCB60C7E7062BBD6B4.c
    checking for flags (-fdiagnostics-color=always) ... ok
    > clang "-fdiagnostics-color=always" "-Qunused-arguments" "-m64"
    > checking for c includes(string.h, stdlib.h)
    > checking for c funcs(strnlen)
    checking for libc_strnlen ... ok
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_9D06393C5E454377BA9BEE92C665F586.c:6:19: warning: '_InterlockedOr8_acq' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Wignored-pragma-intrinsic]
    #pragma intrinsic(_InterlockedOr8_acq)
                      ^
    3 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8_ACQ)
    checking for windows__InterlockedOr8_acq ... ok
    > checking for c includes(wchar.h, stdlib.h)
    > checking for c funcs(wcslen)
    checking for libc_wcslen ... ok
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_2E32ABC9E6E8421790170EC0B724AEDA.c:6:19: warning: '_InterlockedCompareExchange_rel' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Wignored-pragma-intrinsic]
    #pragma intrinsic(_InterlockedCompareExchange_rel)
                      ^
    3 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE_REL)
    checking for windows__InterlockedCompareExchange_rel ... ok
    > checking for c includes(stdio.h)
    > checking for c funcs(fgets)
    checking for libc_fgets ... ok
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_7EB4AD38484D4BF7B4308C7CE8235413.c:6:19: warning: '_InterlockedExchangeAdd_nf' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Wignored-pragma-intrinsic]
    #pragma intrinsic(_InterlockedExchangeAdd_nf)
                      ^
    3 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD_NF)
    checking for windows__InterlockedExchangeAdd_nf ... ok
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    2 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8)
    checking for windows__InterlockedOr8 ... ok
    > checking for c includes(stdio.h)
    > checking for c funcs(fputs)
    checking for libc_fputs ... ok
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_76425BF6DD414BC9BA3B4B00B6DDB869.c:6:19: warning: '_InterlockedCompareExchange64_nf' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Wignored-pragma-intrinsic]
    #pragma intrinsic(_InterlockedCompareExchange64_nf)
                      ^
    3 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64_NF)
    checking for windows__InterlockedCompareExchange64_nf ... ok
    > checking for c includes(string.h, stdlib.h)
    > checking for c funcs(memcpy)
    checking for libc_memcpy ... ok
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    2 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64)
    checking for windows__InterlockedCompareExchange64 ... ok
    > checking for c includes(math.h)
    > checking for c funcs(acosf)
    checking for libm_acosf ... ok
    > checking for c includes(math.h)
    > checking for c funcs(acos)
    checking for libm_acos ... ok
    > checking for c includes(stdio.h)
    > checking for c funcs(fread)
    checking for libc_fread ... ok
    > checking for c includes(math.h)
    > checking for c funcs(atanf)
    checking for libm_atanf ... ok
    > checking for c includes(math.h)
    > checking for c funcs(atan2f)
    checking for libm_atan2f ... ok
    > checking for c includes(math.h)
    > checking for c funcs(atan)
    checking for libm_atan ... ok
    > checking for c includes(string.h, stdlib.h)
    > checking for c funcs(memmove)
    checking for libc_memmove ... ok
    > checking for c includes(string.h, stdlib.h)
    > checking for c funcs(memcmp)
    checking for libc_memcmp ... ok
    > checking for c includes(signal.h, setjmp.h)
    > checking for c funcs(signal)
    checking for libc_signal ... ok
    > checking for c includes(locale.h)
    > checking for c funcs(setlocale)
    checking for libc_setlocale ... ok
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_95E670D807864AC7AF9896679AD78064.c:6:19: warning: '_InterlockedExchangeAdd64_acq' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Wignored-pragma-intrinsic]
    #pragma intrinsic(_InterlockedExchangeAdd64_acq)
                      ^
    3 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64_ACQ)
    checking for windows__InterlockedExchangeAdd64_acq ... ok
    > checking for c includes(math.h)
    > checking for c funcs(sqrtf)
    checking for libm_sqrtf ... ok
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_8C952DDB896C414DA04B03AEBED551E9.c:6:19: warning: '_InterlockedExchange8_nf' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Wignored-pragma-intrinsic]
    #pragma intrinsic(_InterlockedExchange8_nf)
                      ^
    3 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8_NF)
    checking for windows__InterlockedExchange8_nf ... ok
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_BC979280B41A4A4085D894434F7B5B60.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_CA3475F3A9934FA8B2535EA0A3A6F7ED.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_04A4058A8EFA46508CD1873F0200ABC0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_A5979AF5C8394D5B8BE0EF3D30063BCA.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_B885C3C9B8D5436082EBB52996887990.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_14E07FDEFB044C6BB47ACEE10021C960.c
    > clang -c -Qunused-arguments -m64 -std=c99 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_FE82205C96494C108A18C5778FB4DF80.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_64E7E18CE776477989E0D790937B751C.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_55A3605D43484E408DE5988E5E0F39B0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_E4D8F00BA8D148A69BC6674DF7FD06BB.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_C729D9E54FA84D10880B6D55CB375490.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_D0E5F96DD3AB4E9D86B10975235CE9F8.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_5A34D44EBC6C46508E60F83E3B781A50.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_4C590D8D260E424CABD2F588C039DFF9.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_3FDB84564033413087B18023E46BBB40.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_4107745B110741E2AA85FAE9C190B4AF.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_9CDF1162CBF04660801642D643ECE0A0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_F4C824DE2C3643A7BE8D5D845401198E.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_C111E756B4294F0085E5E91092F1BA50.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_067BD70DEDB54E05857A9512A122D022.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_371889C3792642108C10A80F80FEF470.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_71FF92B8C36D4E629DF09BCFEDCEFE3A.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_EF3C4C439DC74C708CE56C400710D4D0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_08517E3AB3B54A6D89C81AEBEC86691C.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_10F1741E60EF42008E069F1FE77F3210.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_765AFF0B48824DB0A8E6EB3350E6E3C2.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_BF9A1E9EF52B4E608373BE8E8910D9A0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_F4D0BC22E4204DFBB20CE410AD7902B2.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_82CEA06F3F9B4600871EBC4F7A5F8F20.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_A070192BC6754DC28A6EC9B406440CC9.c
    > clang -c -Qunused-arguments -m64 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_1BB117AFACF54C108B4D3A62642A1B40.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_CBE74A28487345B486C44F2A5F52A38D.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_C461957CF4E346408B3829D732253270.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_17885FC5CBE548C99CF25C0565AD9503.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_2907A9BA980B4C6088A9362FB01ABAE0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_FB7AED3AED3140DFB5BFB1AC5FE692DA.c
    > checking for c includes(stdio.h)
    > checking for c funcs(fputc)
    checking for libc_fputc ... ok
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_213FA507D82640639026CF4C2C4D1FE6.c:6:19: warning: '_InterlockedCompareExchange64_acq' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Wignored-pragma-intrinsic]
    #pragma intrinsic(_InterlockedCompareExchange64_acq)
                      ^
    3 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64_ACQ)
    checking for windows__InterlockedCompareExchange64_acq ... ok
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_2EE7EEF8C0984FBCB60C7E7062BBD6B4.c:6:19: warning: '_InterlockedOr8_rel' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Wignored-pragma-intrinsic]
    #pragma intrinsic(_InterlockedOr8_rel)
                      ^
    3 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8_REL)
    checking for windows__InterlockedOr8_rel ... ok
    checking for clang++ ... ok
    checking for the linker (ld) ... clang++
    > clang++ -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_ACFE00700CEA463089645450A9099670.b C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_ACFE00700CEA463089645450A9099670.o -m64 -lpthread
    > checking for c includes(math.h)
    > checking for c funcs(tan)
    checking for libm_tan ... ok
    checking for flags (-WX -W3) ... ok
    > clang "-WX" "-W3" "-Qunused-arguments" "-m64"
    LINK : fatal error LNK1181: cannot open input file 'pthread.lib'
    clang++: error: linker command failed with exit code 1181 (use -v to see invocation)
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_11F635EC52014E608A5BF22EB9C9B090.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_D395997C91514BB498DB8C6ABA611781.c
    > checking for c includes(math.h)
    > checking for c funcs(sqrt)
    checking for libm_sqrt ... ok
    > clang++ -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_FE82205C96494C108A18C5778FB4DF80.b C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_FE82205C96494C108A18C5778FB4DF80.o -m64 -lpthread
    > checking for c includes(math.h)
    > checking for c funcs(sin)
    checking for libm_sin ... ok
    LINK : fatal error LNK1181: cannot open input file 'pthread.lib'
    clang++: error: linker command failed with exit code 1181 (use -v to see invocation)
    > checking for c includes(math.h)
    > checking for c funcs(asin)
    checking for libm_asin ... ok
    > checking for c includes(math.h)
    > checking for c funcs(tanf)
    checking for libm_tanf ... ok
    > checking for c includes(wchar.h, stdlib.h)
    > checking for c funcs(wcsncmp)
    checking for libc_wcsncmp ... ok
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_4B68EABA626C4C608647EFD1153B32C0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_BA53848FBBF0406C97047A2362E2169F.c
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_D309995932014F20836A29E1D09ABC50.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_C8F6E65E5F7241919A6A7D321ABC3E0A.c
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_35F9DCE1CC8E4D4089F89DE534C429C0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_231DAC3D5C974DA7B20A47B0FE21ACCB.c
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_257B1B68620F41208546EE75A8228820.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_C5312D0B15E5436E94DE06A5F8E18CC7.c
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_C46A77635DC143408B8DF01DB9460970.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_5C114AE0BB69449AA3BF37DCBFAEC881.c
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_288C3DCEEE4C483085D826B94024A9A0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_BA77FDD635E645C08620A8D7EC627FB6.c
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_CE7BD265A7C04A008B841B430411F070.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_92BD9F2415084C3D9D36558C20CE4AC0.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_95BAEB013E4945708003D87547A662D0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_405B26E1CC3F4FEE85C4C954E216674F.c
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_96805E40C3944D00885D736814139240.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_15FF726F5BFE4238961B377DAA12E3C7.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_43D85DB4032542108D47B6E06F311530.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_DC4CB329C5B54BA49B0FB2B6EE33E457.c
    > clang -c -Qunused-arguments -m64 -DXM_CONFIG_API_HAVE_CURSES -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_6A0F0DDB7EE44C408B0B788D8C3D1DA0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_5FB43531620541A4926EECBFA003E8D5.c
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_3755878AFE4F4840884CDDD1C6F0A8A0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_DE2221B2FB5F454381B39F245AA13FCC.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_1FE5F4D47CC74800886E94033FC3C630.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_97E8A18EEDA94E9483D48C4F73C1BF6E.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_B84C10CCED264F408ABBDB8619711D60.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_08FBE6903B4D415BB829DA9DA04A1B12.c
    > checking for c includes(math.h)
    > checking for c funcs(cos)
    checking for libm_cos ... ok
    > checking for c includes(math.h)
    > checking for c funcs(expf)
    checking for libm_expf ... ok
    > checking for c includes(stdlib.h)
    > checking for c funcs(srandom)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_217FD8E280244CB9AF0853BB7655D636.c:8:39: error: use of undeclared identifier 'srandom'; did you mean 'psrandom'?
        volatile void* psrandom = (void*)&srandom;;
                                          ^~~~~~~
                                          psrandom
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_217FD8E280244CB9AF0853BB7655D636.c:8:20: note: 'psrandom' declared here
        volatile void* psrandom = (void*)&srandom;;
                       ^
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_srandom ... no
    > checking for c includes(wchar.h, stdlib.h)
    > checking for c funcs(wcscasecmp)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_C04055ABBB3B4A18A79C8EFE4536A045.c:9:42: error: use of undeclared identifier 'wcscasecmp'; did you mean 'pwcscasecmp'?
        volatile void* pwcscasecmp = (void*)&wcscasecmp;;
                                             ^~~~~~~~~~
                                             pwcscasecmp
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_C04055ABBB3B4A18A79C8EFE4536A045.c:9:20: note: 'pwcscasecmp' declared here
        volatile void* pwcscasecmp = (void*)&wcscasecmp;;
                       ^
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_wcscasecmp ... no
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_5325C6932BDA43608AEEAA34444EB070.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_E904A04956A544019995FBB89DCF8B9D.c
    > clang -c -Qunused-arguments -m64 -std=c99 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_9732D0EEF6D84A40857A486290283B40.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_EB161F944D3B48EE945FA320E4F36C7B.c
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_8594B78D4D29424089391DCD90B09980.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_EDA7A2AA10B242078F6C905A65AD2220.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_74C9C050FCE54010884A21200E368E80.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_26F6FED279E748388B2C9D8965780EED.c
    > checking for c links(pthread)
    > checking for c snippet(TB_CONFIG_KEYWORD_HAVE_Thread_local)
    checkinfo: ...gramdir\core\sandbox\modules\import\core\tool\linker.lua:75: @programdir\core\sandbox\modules\os.lua:372: execv(clang++ -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_ACFE00700CEA463089645450A9099670.b C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_ACFE00700CEA463089645450A9099670.o -m64 -lpthread) failed(1181)
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\core\sandbox\modules\os.lua:372]: in function 'execv'
        [@programdir\modules\core\tools\gcc.lua:398]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...gramdir\core\sandbox\modules\import\core\tool\linker.lua:73]: in function 'link'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:223]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 keyword_thread_local ... no
    > checking for c includes(string.h, stdlib.h)
    > checking for c funcs(strcasecmp)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_C81055F1658F46ED9CB32BF57EAACEC4.c:9:42: error: use of undeclared identifier 'strcasecmp'; did you mean 'pstrcasecmp'?
        volatile void* pstrcasecmp = (void*)&strcasecmp;;
                                             ^~~~~~~~~~
                                             pstrcasecmp
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_C81055F1658F46ED9CB32BF57EAACEC4.c:9:20: note: 'pstrcasecmp' declared here
        volatile void* pstrcasecmp = (void*)&strcasecmp;;
                       ^
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_strcasecmp ... no
    > checking for c includes(wchar.h, stdlib.h)
    > checking for c funcs(wcsncasecmp)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_9315C020459341BF88D4441F8C998C66.c:9:43: error: use of undeclared identifier 'wcsncasecmp'; did you mean 'pwcsncasecmp'?
        volatile void* pwcsncasecmp = (void*)&wcsncasecmp;;
                                              ^~~~~~~~~~~
                                              pwcsncasecmp
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_9315C020459341BF88D4441F8C998C66.c:9:20: note: 'pwcsncasecmp' declared here
        volatile void* pwcsncasecmp = (void*)&wcsncasecmp;;
                       ^
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_wcsncasecmp ... no
    > checking for c includes(wchar.h, stdlib.h)
    > checking for c funcs(mbstowcs)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_91DA54EFC28840FEABBF5DA338B488D4.c:9:40: error: 'mbstowcs' is deprecated: This function or variable may be unsafe. Consider using mbstowcs_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. [-Werror,-Wdeprecated-declarations]
        volatile void* pmbstowcs = (void*)&mbstowcs;;
                                           ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h:924:1: note: 'mbstowcs' has been explicitly marked deprecated here
    __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_SIZE(
    ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:891:5: note: expanded from macro '__DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_SIZE'
        __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_SIZE_EX(_DeclSpec, _FuncName, _FuncName##_s, _DstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
        ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:1962:17: note: expanded from macro '__DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_SIZE_EX'
                    _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec size_t __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2);
                    ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:355:55: note: expanded from macro '_CRT_INSECURE_DEPRECATE'
            #define _CRT_INSECURE_DEPRECATE(_Replacement) _CRT_DEPRECATE_TEXT(    \
                                                          ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:345:47: note: expanded from macro '_CRT_DEPRECATE_TEXT'
    #define _CRT_DEPRECATE_TEXT(_Text) __declspec(deprecated(_Text))
                                                  ^
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_mbstowcs ... no
    > checking for c links(pthread)
    > checking for c snippet(TB_CONFIG_KEYWORD_HAVE__thread)
    checkinfo: ...gramdir\core\sandbox\modules\import\core\tool\linker.lua:75: @programdir\core\sandbox\modules\os.lua:372: execv(clang++ -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_FE82205C96494C108A18C5778FB4DF80.b C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_FE82205C96494C108A18C5778FB4DF80.o -m64 -lpthread) failed(1181)
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\core\sandbox\modules\os.lua:372]: in function 'execv'
        [@programdir\modules\core\tools\gcc.lua:398]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...gramdir\core\sandbox\modules\import\core\tool\linker.lua:73]: in function 'link'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:223]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 keyword_thread ... no
    > checking for c includes(time.h)
    > checking for c funcs(mktime)
    checking for libc_mktime ... ok
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_D1C84FE2E34C4A108ED40C52886F3860.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_6FC0AF22D3784AFD9C67AB317CF662CB.c
    > clang -c -Qunused-arguments -m64 -DXM_CONFIG_API_HAVE_READLINE -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_F5DC1CBEEF0B4D408C4ADCC6F2062E80.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_2AA3EA6E441547A4AA66B416BFCE638C.c
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_49A0D663B88F4C108BA5CC938D412540.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_037B6F8E825640C9B64087A6B02E0353.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_82A29E6994BF4640896E4F4586C9A780.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_A2E91B842ED247FF9A2B9929FB438B0E.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_7E7805F9613744208BE4AF7BFD872070.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_BC80AFFCC4954CE195A13FF4FF15EA1F.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_C072BC454E714D40819B6CC86F756F40.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_9CD032C2CC9A4116A9F493D18291D116.c
    > checking for c includes(math.h)
    > checking for c funcs(sincosf)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_1E1B92EFF36C4152BA76FE18AD57EE4F.c:8:39: error: use of undeclared identifier 'sincosf'; did you mean 'psincosf'?
        volatile void* psincosf = (void*)&sincosf;;
                                          ^~~~~~~
                                          psincosf
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_1E1B92EFF36C4152BA76FE18AD57EE4F.c:8:20: note: 'psincosf' declared here
        volatile void* psincosf = (void*)&sincosf;;
                       ^
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libm_sincosf ... no
    > checking for c snippet(TB_CONFIG_FEATURE_HAVE_ANONYMOUS_UNION)
    checking for feature_anonymous_union ... ok
    > checking for c includes(math.h)
    > checking for c funcs(fmodf)
    checking for libm_fmodf ... ok
    > checking for c includes(time.h)
    > checking for c funcs(localtime)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_4107745B110741E2AA85FAE9C190B4AF.c:8:41: error: 'localtime' is deprecated: This function or variable may be unsafe. Consider using localtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. [-Werror,-Wdeprecated-declarations]
        volatile void* plocaltime = (void*)&localtime;;
                                            ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\time.h:494:9: note: 'localtime' has been explicitly marked deprecated here
            _CRT_INSECURE_DEPRECATE(localtime_s)
            ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:355:55: note: expanded from macro '_CRT_INSECURE_DEPRECATE'
            #define _CRT_INSECURE_DEPRECATE(_Replacement) _CRT_DEPRECATE_TEXT(    \
                                                          ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:345:47: note: expanded from macro '_CRT_DEPRECATE_TEXT'
    #define _CRT_DEPRECATE_TEXT(_Text) __declspec(deprecated(_Text))
                                                  ^
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_localtime ... no
    > checking for c includes(math.h)
    > checking for c funcs(sincos)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_E4D8F00BA8D148A69BC6674DF7FD06BB.c:8:38: error: use of undeclared identifier 'sincos'; did you mean 'psincos'?
        volatile void* psincos = (void*)&sincos;;
                                         ^~~~~~
                                         psincos
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_E4D8F00BA8D148A69BC6674DF7FD06BB.c:8:20: note: 'psincos' declared here
        volatile void* psincos = (void*)&sincos;;
                       ^
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libm_sincos ... no
    > checking for c includes(curses.h)
    > checking for c links(curses)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_5FB43531620541A4926EECBFA003E8D5.c:2:10: fatal error: 'curses.h' file not found
    #include <curses.h>
             ^~~~~~~~~~
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 curses ... no
    > checking for c includes(string.h, stdlib.h)
    > checking for c funcs(strncat)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_A5979AF5C8394D5B8BE0EF3D30063BCA.c:9:39: error: 'strncat' is deprecated: This function or variable may be unsafe. Consider using strncat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. [-Werror,-Wdeprecated-declarations]
        volatile void* pstrncat = (void*)&strncat;;
                                          ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\string.h:262:1: note: 'strncat' has been explicitly marked deprecated here
    __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX(
    ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:1935:17: note: expanded from macro '__DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX'
                    _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2);
                    ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:355:55: note: expanded from macro '_CRT_INSECURE_DEPRECATE'
            #define _CRT_INSECURE_DEPRECATE(_Replacement) _CRT_DEPRECATE_TEXT(    \
                                                          ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:345:47: note: expanded from macro '_CRT_DEPRECATE_TEXT'
    #define _CRT_DEPRECATE_TEXT(_Text) __declspec(deprecated(_Text))
                                                  ^
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_strncat ... no
    > checking for c includes(string.h, stdlib.h)
    > checking for c funcs(strcat)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_4C590D8D260E424CABD2F588C039DFF9.c:9:38: error: 'strcat' is deprecated: This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. [-Werror,-Wdeprecated-declarations]
        volatile void* pstrcat = (void*)&strcat;;
                                         ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\string.h:91:5: note: 'strcat' has been explicitly marked deprecated here
        __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1(
        ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:835:5: note: expanded from macro '__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1'
        __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _FuncName##_s, _DstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1)
        ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:1894:17: note: expanded from macro '__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX'
                    _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1);
                    ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:355:55: note: expanded from macro '_CRT_INSECURE_DEPRECATE'
            #define _CRT_INSECURE_DEPRECATE(_Replacement) _CRT_DEPRECATE_TEXT(    \
                                                          ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:345:47: note: expanded from macro '_CRT_DEPRECATE_TEXT'
    #define _CRT_DEPRECATE_TEXT(_Text) __declspec(deprecated(_Text))
                                                  ^
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_strcat ... no
    > checking for c types(wchar_t)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_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:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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
    > checking for c includes(string.h, stdlib.h)
    > checking for c funcs(strncpy)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_067BD70DEDB54E05857A9512A122D022.c:9:39: error: 'strncpy' is deprecated: This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. [-Werror,-Wdeprecated-declarations]
        volatile void* pstrncpy = (void*)&strncpy;;
                                          ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\string.h:334:1: note: 'strncpy' has been explicitly marked deprecated here
    __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX(
    ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:1935:17: note: expanded from macro '__DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX'
                    _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2);
                    ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:355:55: note: expanded from macro '_CRT_INSECURE_DEPRECATE'
            #define _CRT_INSECURE_DEPRECATE(_Replacement) _CRT_DEPRECATE_TEXT(    \
                                                          ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:345:47: note: expanded from macro '_CRT_DEPRECATE_TEXT'
    #define _CRT_DEPRECATE_TEXT(_Text) __declspec(deprecated(_Text))
                                                  ^
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_strncpy ... no
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_D395997C91514BB498DB8C6ABA611781.c:6:19: warning: '_InterlockedCompareExchange_nf' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Wignored-pragma-intrinsic]
    #pragma intrinsic(_InterlockedCompareExchange_nf)
                      ^
    3 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE_NF)
    checking for windows__InterlockedCompareExchange_nf ... ok
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_31A8DCF683394B1089ABC5C2722C7A70.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_A59D0667E3C44E94958F63FA57AB4EDA.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_DD4DA52F91DA45308CDBBE4D83C66A40.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_73EDD960586C4FFE9A172935143B1A84.c
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_2DBF35DAEB3D4F7086FDFAC7398732F0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_628869C0DE4548C3ACF6E1250D63AB3C.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_ACA0A73AB0374B3086D13243AF253BB0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_2E5A3C9383D3482994C5E92B184A36C9.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_C1B5FE1BBD7B46208C05BDB24DC87F20.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_55EC3557F4F8477C93B812A8AB1BC58A.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_40229F01C87345508CB9232DD4C09660.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_ABE3866E678E4DE9A86C22AF62F86771.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_F9212987CE644D508F2089A6F2F3A560.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_50B513CA0E434A7EB5FBE55484A939A3.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_14BE612A2E1B432089164910FED82290.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_FA3BFA851F044D69AAD8516819237000.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_A2B7D4F528584C70898B611CC056A1F0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_3428C9825F3948848D9BD0151352F09D.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_FED42F450A004C50893649AFE70A04C0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_BAA773396073484B8AA1449516D7C81D.c
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_397E7FC7648E4A008290BF0D6CFDBC70.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_D5169B9B52D64907A7393335EC1CA128.c
    > checking for c includes(string.h, stdlib.h)
    > checking for c funcs(strcasestr)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_765AFF0B48824DB0A8E6EB3350E6E3C2.c:9:42: error: use of undeclared identifier 'strcasestr'; did you mean 'pstrcasestr'?
        volatile void* pstrcasestr = (void*)&strcasestr;;
                                             ^~~~~~~~~~
                                             pstrcasestr
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_765AFF0B48824DB0A8E6EB3350E6E3C2.c:9:20: note: 'pstrcasestr' declared here
        volatile void* pstrcasestr = (void*)&strcasestr;;
                       ^
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_strcasestr ... no
    > checking for c includes(math.h)
    > checking for c funcs(exp)
    checking for libm_exp ... ok
    > checking for c includes(stdio.h)
    > checking for c funcs(fgetc)
    checking for libc_fgetc ... ok
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_BA53848FBBF0406C97047A2362E2169F.c:6:19: warning: '_InterlockedExchange_acq' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Wignored-pragma-intrinsic]
    #pragma intrinsic(_InterlockedExchange_acq)
                      ^
    3 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE_ACQ)
    checking for windows__InterlockedExchange_acq ... ok
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_231DAC3D5C974DA7B20A47B0FE21ACCB.c:6:19: warning: '_InterlockedExchange_nf' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Wignored-pragma-intrinsic]
    #pragma intrinsic(_InterlockedExchange_nf)
                      ^
    3 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE_NF)
    checking for windows__InterlockedExchange_nf ... ok
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_BA77FDD635E645C08620A8D7EC627FB6.c:6:19: warning: '_InterlockedExchangeAdd64_nf' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Wignored-pragma-intrinsic]
    #pragma intrinsic(_InterlockedExchangeAdd64_nf)
                      ^
    3 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64_NF)
    checking for windows__InterlockedExchangeAdd64_nf ... ok
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    2 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE)
    checking for windows__InterlockedExchange ... ok
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_C8F6E65E5F7241919A6A7D321ABC3E0A.c:6:19: warning: '_InterlockedCompareExchange_acq' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Wignored-pragma-intrinsic]
    #pragma intrinsic(_InterlockedCompareExchange_acq)
                      ^
    3 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE_ACQ)
    checking for windows__InterlockedCompareExchange_acq ... ok
    > checking for c includes(wchar.h, stdlib.h)
    > checking for c funcs(wcscasestr)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_F4D0BC22E4204DFBB20CE410AD7902B2.c:9:42: error: use of undeclared identifier 'wcscasestr'; did you mean 'pwcscasestr'?
        volatile void* pwcscasestr = (void*)&wcscasestr;;
                                             ^~~~~~~~~~
                                             pwcscasestr
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_F4D0BC22E4204DFBB20CE410AD7902B2.c:9:20: note: 'pwcscasestr' declared here
        volatile void* pwcscasestr = (void*)&wcscasestr;;
                       ^
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_wcscasestr ... no
    > checking for c includes(wchar.h, stdlib.h)
    > checking for c funcs(wcslcpy)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_A070192BC6754DC28A6EC9B406440CC9.c:9:39: error: use of undeclared identifier 'wcslcpy'
        volatile void* pwcslcpy = (void*)&wcslcpy;;
                                          ^
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_A070192BC6754DC28A6EC9B406440CC9.c:9:39: error: 'wcsncpy' is deprecated: This function or variable may be unsafe. Consider using wcsncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. [-Werror,-Wdeprecated-declarations]
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt_wstring.h:200:1: note: 'wcsncpy' has been explicitly marked deprecated here
    __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX(
    ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:1935:17: note: expanded from macro '__DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX'
                    _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2);
                    ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:355:55: note: expanded from macro '_CRT_INSECURE_DEPRECATE'
            #define _CRT_INSECURE_DEPRECATE(_Replacement) _CRT_DEPRECATE_TEXT(    \
                                                          ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:345:47: note: expanded from macro '_CRT_DEPRECATE_TEXT'
    #define _CRT_DEPRECATE_TEXT(_Text) __declspec(deprecated(_Text))
                                                  ^
    2 errors generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_wcslcpy ... no
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    2 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8)
    checking for windows__InterlockedExchange8 ... ok
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_92BD9F2415084C3D9D36558C20CE4AC0.c:6:19: warning: '_InterlockedExchange8_rel' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Wignored-pragma-intrinsic]
    #pragma intrinsic(_InterlockedExchange8_rel)
                      ^
    3 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8_REL)
    checking for windows__InterlockedExchange8_rel ... ok
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_15FF726F5BFE4238961B377DAA12E3C7.c:6:19: warning: '_InterlockedOr8_nf' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Wignored-pragma-intrinsic]
    #pragma intrinsic(_InterlockedOr8_nf)
                      ^
    3 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8_NF)
    checking for windows__InterlockedOr8_nf ... ok
    > checking for c includes(signal.h, setjmp.h)
    > checking for c funcs(sigsetjmp)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_08FBE6903B4D415BB829DA9DA04A1B12.c:9:5: error: unknown type name 'sigjmp_buf'; did you mean 'jmp_buf'?
        sigjmp_buf buf; sigsetjmp(buf, 0);;
        ^~~~~~~~~~
        jmp_buf
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\setjmp.h:148:21: note: 'jmp_buf' declared here
        typedef _JBTYPE jmp_buf[_JBLEN];
                        ^
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_08FBE6903B4D415BB829DA9DA04A1B12.c:9:21: error: call to undeclared function 'sigsetjmp'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration]
        sigjmp_buf buf; sigsetjmp(buf, 0);;
                        ^
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_08FBE6903B4D415BB829DA9DA04A1B12.c:9:21: note: did you mean '_setjmp'?
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\setjmp.h:160:13: note: '_setjmp' declared here
    int __cdecl setjmp(
                ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\setjmp.h:154:20: note: expanded from macro 'setjmp'
        #define setjmp _setjmp
                       ^
    2 errors generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_sigsetjmp ... no
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    2 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD)
    checking for windows__InterlockedExchangeAdd ... ok
    > checking for c includes(wchar.h, stdlib.h)
    > checking for c funcs(wcscat)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_405B26E1CC3F4FEE85C4C954E216674F.c:9:38: error: 'wcscat' is deprecated: This function or variable may be unsafe. Consider using wcscat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. [-Werror,-Wdeprecated-declarations]
        volatile void* pwcscat = (void*)&wcscat;;
                                         ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt_wstring.h:100:5: note: 'wcscat' has been explicitly marked deprecated here
        __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1(
        ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:835:5: note: expanded from macro '__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1'
        __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _FuncName##_s, _DstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1)
        ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:1894:17: note: expanded from macro '__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX'
                    _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1);
                    ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:355:55: note: expanded from macro '_CRT_INSECURE_DEPRECATE'
            #define _CRT_INSECURE_DEPRECATE(_Replacement) _CRT_DEPRECATE_TEXT(    \
                                                          ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:345:47: note: expanded from macro '_CRT_DEPRECATE_TEXT'
    #define _CRT_DEPRECATE_TEXT(_Text) __declspec(deprecated(_Text))
                                                  ^
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_wcscat ... no
    > checking for c includes(string.h, stdlib.h)
    > checking for c funcs(strlcpy)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_97E8A18EEDA94E9483D48C4F73C1BF6E.c:9:39: error: use of undeclared identifier 'strlcpy'
        volatile void* pstrlcpy = (void*)&strlcpy;;
                                          ^
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_97E8A18EEDA94E9483D48C4F73C1BF6E.c:9:39: error: 'strncpy' is deprecated: This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. [-Werror,-Wdeprecated-declarations]
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\string.h:334:1: note: 'strncpy' has been explicitly marked deprecated here
    __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX(
    ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:1935:17: note: expanded from macro '__DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX'
                    _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2);
                    ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:355:55: note: expanded from macro '_CRT_INSECURE_DEPRECATE'
            #define _CRT_INSECURE_DEPRECATE(_Replacement) _CRT_DEPRECATE_TEXT(    \
                                                          ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:345:47: note: expanded from macro '_CRT_DEPRECATE_TEXT'
    #define _CRT_DEPRECATE_TEXT(_Text) __declspec(deprecated(_Text))
                                                  ^
    2 errors generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_strlcpy ... no
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_7891F98F57FE42108A22978906EAAE80.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_34C344B2B4CB42C8B4825AC3E14B0064.c
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_61852C5B51A4444081EDBA513479E840.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_11CA091CAD1642EEB04332452CB6BF7B.c
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_A35087BBB63F4E308FBEA70FC89A7AB0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_B39376EC0ADF4EA5A7066C3BE02D6C12.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_A4AE858CF3544E608D2A13C76AB0DE70.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_C86331682E424259AE17ABBEFBDB695C.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_0E9B3FFAF94D4E4082668DA11D270AC0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_4CFF4EE286534852A005E00795C6D6B7.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_3C4EA8C84E644730899A5E2E7625D850.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_72430FD136B24B2298C37234B072F43E.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_84EEA60560054D20807755A2DAB07B60.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_18E931E980D64B2C8EE6157D6F7D8CBC.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_8C1BFDF90DAA4830872D2713012F57B0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_FC518BCBB96A4EDCA0D1B0E287DD70B1.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_32ACA71E19A146208D211E273FF4D750.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_C58989525E444E37A2670DE3E5BAE933.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_FF42DBBC0D394F308A3D1095B485DA90.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_9962E886F1B04E5DAC1AE52C1A3AA6A0.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_784C3463358E4C508DC403D8A1B21690.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_177788B3934E4F57B81E9979C917F6E7.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_F2C3DFE7492446608E058FE3CDCFF6A0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_FAD82F9CF9E743CEB05AA04E96006C6E.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_E5AF15852C8C4F30877F1E28DDCEC470.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_B45B611B26024717B7357F3BC42701EC.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_763F8322CB014970897D58D5EA884380.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_9669D8F683C6400F9BE3C24BC75955E4.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_EF0FB6ABD63E4B408316C6D8CBFAFF70.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_4E9F112D0B96448194AB269E0A9E8DE6.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_AD0137DC3558464088E05E6C95B44C90.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_72366670DD8D433683C0E57A1E141799.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_1958F4F9286F45608A1A17B6C1929C60.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_B0CD58A9A6C144F19CAA87F1B2606BB6.c
    > checking for c includes(string.h, stdlib.h)
    > checking for c funcs(strcmp)
    checking for libc_strcmp ... ok
    > checking for c includes(math.h)
    > checking for c funcs(log2)
    checking for libm_log2 ... ok
    > checking for c includes(math.h)
    > checking for c funcs(cosf)
    checking for libm_cosf ... ok
    > checking for c includes(math.h)
    > checking for c funcs(powf)
    checking for libm_powf ... ok
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_EDA7A2AA10B242078F6C905A65AD2220.c:6:19: warning: '_InterlockedExchangeAdd_rel' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Wignored-pragma-intrinsic]
    #pragma intrinsic(_InterlockedExchangeAdd_rel)
                      ^
    3 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD_REL)
    checking for windows__InterlockedExchangeAdd_rel ... ok
    > checking for c includes(readline/readline.h)
    > checking for c funcs(readline)
    > checking for c links(readline)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_2AA3EA6E441547A4AA66B416BFCE638C.c:2:10: fatal error: 'readline/readline.h' file not found
    #include <readline/readline.h>
             ^~~~~~~~~~~~~~~~~~~~~
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 readline ... no
    > checking for c includes(string.h, stdlib.h)
    > checking for c funcs(memset)
    checking for libc_memset ... ok
    > checking for c includes(wchar.h, stdlib.h)
    > checking for c funcs(wcsstr)
    checking for libc_wcsstr ... ok
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    2 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64)
    checking for windows__InterlockedExchangeAdd64 ... ok
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_037B6F8E825640C9B64087A6B02E0353.c:6:19: warning: '_InterlockedCompareExchange64_rel' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Wignored-pragma-intrinsic]
    #pragma intrinsic(_InterlockedCompareExchange64_rel)
                      ^
    3 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64_REL)
    checking for windows__InterlockedCompareExchange64_rel ... ok
    > checking for c includes(wchar.h, stdlib.h)
    > checking for c funcs(wcscpy)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_26F6FED279E748388B2C9D8965780EED.c:9:38: error: 'wcscpy' is deprecated: This function or variable may be unsafe. Consider using wcscpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. [-Werror,-Wdeprecated-declarations]
        volatile void* pwcscpy = (void*)&wcscpy;;
                                         ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt_wstring.h:119:1: note: 'wcscpy' has been explicitly marked deprecated here
    __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1(
    ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:835:5: note: expanded from macro '__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1'
        __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _FuncName##_s, _DstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1)
        ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:1894:17: note: expanded from macro '__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX'
                    _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1);
                    ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:355:55: note: expanded from macro '_CRT_INSECURE_DEPRECATE'
            #define _CRT_INSECURE_DEPRECATE(_Replacement) _CRT_DEPRECATE_TEXT(    \
                                                          ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:345:47: note: expanded from macro '_CRT_DEPRECATE_TEXT'
    #define _CRT_DEPRECATE_TEXT(_Text) __declspec(deprecated(_Text))
                                                  ^
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_wcscpy ... no
    > checking for c includes(math.h)
    > checking for c funcs(atan2)
    checking for libm_atan2 ... ok
    > checking for c includes(string.h, stdlib.h)
    > checking for c funcs(strlen)
    checking for libc_strlen ... ok
    > checking for c includes(wchar.h, stdlib.h)
    > checking for c funcs(wcscmp)
    checking for libc_wcscmp ... ok
    > checking for c includes(math.h)
    > checking for c funcs(fmod)
    checking for libm_fmod ... ok
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_C365854488A74C608EA4142E50D2F3C0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_1774ED763C0441148BE63413AD34DFB4.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_0865BC4519304A00846C7A9F314AC620.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_574D491843094989B87F6A4F9E1C5FF9.c
    > clang -c -Qunused-arguments -m64 -std=c99 -D_GNU_SOURCE=1 -WX -W3 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_3312DBF4BC92465086757F0384E53360.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_9A84172259184BED87C5FD3E8CC59A7C.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_7F02A9F378D745008780B18E0D78F260.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_892A629365714E12B210672E20CC77E1.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_14A8F7DD9354477088D69C6B7BB28E80.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_92E97B14B38643C1AB41E3740AC15E8E.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_6FC639D6B7C94C60856BF5128A27F1C0.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_D58F757BBEC643C0884E2DA4FD6BB2EB.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_355FD53FA7D642708343779F7A69DA80.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_33348E3A796A46D79BDBC3DC18B2A564.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_E4B48E7283524C70853717D82D9ED280.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_4E10342AF9EE49CCA96871C36B01ABDC.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_1D0D8833141C42308B0984FD3055CC60.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_6DFA479004E04E94B1744F9446C06442.c
    > clang -c -Qunused-arguments -m64 -Werror -std=c99 -D_GNU_SOURCE=1 -o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_02073A82180042508AC1AC43A2376190.o C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_CF2E5B717B984956909FF8218C47E9AD.c
    > checking for c includes(math.h)
    > checking for c funcs(asinf)
    checking for libm_asinf ... ok
    > checking for c includes(wchar.h, stdlib.h)
    > checking for c funcs(wcsnlen)
    checking for libc_wcsnlen ... ok
    > checking for c includes(math.h)
    > checking for c funcs(log2f)
    checking for libm_log2f ... ok
    > checking for c includes(math.h)
    > checking for c funcs(pow)
    checking for libm_pow ... ok
    > checking for c includes(stdio.h)
    > checking for c funcs(ungetc)
    checking for libc_ungetc ... ok
    > checking for c includes(string.h, stdlib.h)
    > checking for c funcs(strchr)
    checking for libc_strchr ... ok
    > checking for c includes(stdio.h)
    > checking for c funcs(fwrite)
    checking for libc_fwrite ... ok
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_628869C0DE4548C3ACF6E1250D63AB3C.c:6:19: warning: '_InterlockedExchangeAdd_acq' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Wignored-pragma-intrinsic]
    #pragma intrinsic(_InterlockedExchangeAdd_acq)
                      ^
    3 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD_ACQ)
    checking for windows__InterlockedExchangeAdd_acq ... ok
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_D5169B9B52D64907A7393335EC1CA128.c:6:19: warning: '_InterlockedExchange8_acq' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Wignored-pragma-intrinsic]
    #pragma intrinsic(_InterlockedExchange8_acq)
                      ^
    3 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8_ACQ)
    checking for windows__InterlockedExchange8_acq ... ok
    > checking for c includes(wchar.h, stdlib.h)
    > checking for c funcs(wcstombs)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_A2E91B842ED247FF9A2B9929FB438B0E.c:9:40: error: 'wcstombs' is deprecated: This function or variable may be unsafe. Consider using wcstombs_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. [-Werror,-Wdeprecated-declarations]
        volatile void* pwcstombs = (void*)&wcstombs;;
                                           ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h:1012:1: note: 'wcstombs' has been explicitly marked deprecated here
    __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_SIZE(
    ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:891:5: note: expanded from macro '__DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_SIZE'
        __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_SIZE_EX(_DeclSpec, _FuncName, _FuncName##_s, _DstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
        ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:1962:17: note: expanded from macro '__DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_SIZE_EX'
                    _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec size_t __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2);
                    ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:355:55: note: expanded from macro '_CRT_INSECURE_DEPRECATE'
            #define _CRT_INSECURE_DEPRECATE(_Replacement) _CRT_DEPRECATE_TEXT(    \
                                                          ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:345:47: note: expanded from macro '_CRT_DEPRECATE_TEXT'
    #define _CRT_DEPRECATE_TEXT(_Text) __declspec(deprecated(_Text))
                                                  ^
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_wcstombs ... no
    > checking for c includes(time.h)
    > checking for c funcs(gmtime)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_2E5A3C9383D3482994C5E92B184A36C9.c:8:38: error: 'gmtime' is deprecated: This function or variable may be unsafe. Consider using gmtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. [-Werror,-Wdeprecated-declarations]
        volatile void* pgmtime = (void*)&gmtime;;
                                         ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\time.h:487:24: note: 'gmtime' has been explicitly marked deprecated here
            _Check_return_ _CRT_INSECURE_DEPRECATE(gmtime_s)
                           ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:355:55: note: expanded from macro '_CRT_INSECURE_DEPRECATE'
            #define _CRT_INSECURE_DEPRECATE(_Replacement) _CRT_DEPRECATE_TEXT(    \
                                                          ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:345:47: note: expanded from macro '_CRT_DEPRECATE_TEXT'
    #define _CRT_DEPRECATE_TEXT(_Text) __declspec(deprecated(_Text))
                                                  ^
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_gmtime ... no
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_11CA091CAD1642EEB04332452CB6BF7B.c:6:19: warning: '_InterlockedExchange_rel' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Wignored-pragma-intrinsic]
    #pragma intrinsic(_InterlockedExchange_rel)
                      ^
    3 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE_REL)
    checking for windows__InterlockedExchange_rel ... ok
    > checking for c includes(signal.h, setjmp.h)
    > checking for c funcs(setjmp)
    checking for libc_setjmp ... ok
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    2 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE)
    checking for windows__InterlockedCompareExchange ... ok
    > checking for c includes(string.h, stdlib.h)
    > checking for c funcs(strncmp)
    checking for libc_strncmp ... ok
    > checking for c includes(math.h)
    > checking for c funcs(sinf)
    checking for libm_sinf ... ok
    > checking for c includes(string.h, stdlib.h)
    > checking for c funcs(strrchr)
    checking for libc_strrchr ... ok
    > checking for c includes(string.h, stdlib.h)
    > checking for c funcs(strstr)
    checking for libc_strstr ... ok
    > checking for c includes(valgrind/valgrind.h)
    > checking for c funcs(VALGRIND_STACK_REGISTER)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_B0CD58A9A6C144F19CAA87F1B2606BB6.c:2:10: fatal error: 'valgrind/valgrind.h' file not found
    #include <valgrind/valgrind.h>
             ^~~~~~~~~~~~~~~~~~~~~
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 valgrind_VALGRIND_STACK_REGISTER ... no
    > checking for c includes(string.h, stdlib.h)
    > checking for c funcs(strncasecmp)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_BAA773396073484B8AA1449516D7C81D.c:9:43: error: use of undeclared identifier 'strncasecmp'; did you mean 'pstrncasecmp'?
        volatile void* pstrncasecmp = (void*)&strncasecmp;;
                                              ^~~~~~~~~~~
                                              pstrncasecmp
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_BAA773396073484B8AA1449516D7C81D.c:9:20: note: 'pstrncasecmp' declared here
        volatile void* pstrncasecmp = (void*)&strncasecmp;;
                       ^
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_strncasecmp ... no
    > checking for c includes(signal.h, setjmp.h)
    > checking for c funcs(kill)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_FC518BCBB96A4EDCA0D1B0E287DD70B1.c:9:36: error: use of undeclared identifier 'kill'; did you mean 'pkill'?
        volatile void* pkill = (void*)&kill;;
                                       ^~~~
                                       pkill
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_FC518BCBB96A4EDCA0D1B0E287DD70B1.c:9:20: note: 'pkill' declared here
        volatile void* pkill = (void*)&kill;;
                       ^
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_kill ... no
    > checking for c includes(execinfo.h)
    > checking for c funcs(backtrace)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_1774ED763C0441148BE63413AD34DFB4.c:2:10: fatal error: 'execinfo.h' file not found
    #include <execinfo.h>
             ^~~~~~~~~~~~
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_backtrace ... no
    > checking for c includes(wchar.h, stdlib.h)
    > checking for c funcs(wcsncat)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_A59D0667E3C44E94958F63FA57AB4EDA.c:9:39: error: 'wcsncat' is deprecated: This function or variable may be unsafe. Consider using wcsncat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. [-Werror,-Wdeprecated-declarations]
        volatile void* pwcsncat = (void*)&wcsncat;;
                                          ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt_wstring.h:178:1: note: 'wcsncat' has been explicitly marked deprecated here
    __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX(
    ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:1935:17: note: expanded from macro '__DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX'
                    _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2);
                    ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:355:55: note: expanded from macro '_CRT_INSECURE_DEPRECATE'
            #define _CRT_INSECURE_DEPRECATE(_Replacement) _CRT_DEPRECATE_TEXT(    \
                                                          ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:345:47: note: expanded from macro '_CRT_DEPRECATE_TEXT'
    #define _CRT_DEPRECATE_TEXT(_Text) __declspec(deprecated(_Text))
                                                  ^
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_wcsncat ... no
    > checking for c includes(sys/time.h)
    > checking for c funcs(gettimeofday)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_574D491843094989B87F6A4F9E1C5FF9.c:2:10: fatal error: 'sys/time.h' file not found
    #include <sys/time.h>
             ^~~~~~~~~~~~
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_gettimeofday ... no
    > checking for c includes(string.h, stdlib.h)
    > checking for c funcs(strcpy)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_C86331682E424259AE17ABBEFBDB695C.c:9:38: error: 'strcpy' is deprecated: This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. [-Werror,-Wdeprecated-declarations]
        volatile void* pstrcpy = (void*)&strcpy;;
                                         ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\string.h:130:1: note: 'strcpy' has been explicitly marked deprecated here
    __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1(
    ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:835:5: note: expanded from macro '__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1'
        __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _FuncName##_s, _DstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1)
        ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:1894:17: note: expanded from macro '__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX'
                    _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1);
                    ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:355:55: note: expanded from macro '_CRT_INSECURE_DEPRECATE'
            #define _CRT_INSECURE_DEPRECATE(_Replacement) _CRT_DEPRECATE_TEXT(    \
                                                          ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:345:47: note: expanded from macro '_CRT_DEPRECATE_TEXT'
    #define _CRT_DEPRECATE_TEXT(_Text) __declspec(deprecated(_Text))
                                                  ^
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_strcpy ... no
    > checking for c includes(string.h, stdlib.h)
    > checking for c funcs(memmem)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_72430FD136B24B2298C37234B072F43E.c:9:38: error: use of undeclared identifier 'memmem'; did you mean 'pmemmem'?
        volatile void* pmemmem = (void*)&memmem;;
                                         ^~~~~~
                                         pmemmem
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_72430FD136B24B2298C37234B072F43E.c:9:20: note: 'pmemmem' declared here
        volatile void* pmemmem = (void*)&memmem;;
                       ^
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_memmem ... no
    > checking for c includes(stdlib.h)
    > checking for c funcs(random)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_892A629365714E12B210672E20CC77E1.c:8:38: error: use of undeclared identifier 'random'; did you mean 'prandom'?
        volatile void* prandom = (void*)&random;;
                                         ^~~~~~
                                         prandom
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_892A629365714E12B210672E20CC77E1.c:8:20: note: 'prandom' declared here
        volatile void* prandom = (void*)&random;;
                       ^
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_random ... no
    warning: unknown warning option '-WX' [-Wunknown-warning-option]
    warning: unknown warning option '-W3' [-Wunknown-warning-option]
    C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_9A84172259184BED87C5FD3E8CC59A7C.c:6:19: warning: '_InterlockedExchangeAdd64_rel' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Wignored-pragma-intrinsic]
    #pragma intrinsic(_InterlockedExchangeAdd64_rel)
                      ^
    3 warnings generated.
    > checking for c includes(windows.h)
    > checking for c snippet(TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64_REL)
    checking for windows__InterlockedExchangeAdd64_rel ... ok
    > checking for c includes(wchar.h, stdlib.h)
    > checking for c funcs(wcsncpy)
    checkinfo: ...amdir\core\sandbox\modules\import\core\tool\compiler.lua:84: @programdir\modules\core\tools\gcc.lua:709: C:\Users\Jack\AppData\Local\Temp\.xmake\221230\_33348E3A796A46D79BDBC3DC18B2A564.c:9:39: error: 'wcsncpy' is deprecated: This function or variable may be unsafe. Consider using wcsncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. [-Werror,-Wdeprecated-declarations]
        volatile void* pwcsncpy = (void*)&wcsncpy;;
                                          ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt_wstring.h:200:1: note: 'wcsncpy' has been explicitly marked deprecated here
    __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX(
    ^
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:1935:17: note: expanded from macro '__DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX'
                    _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2);
                    ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:355:55: note: expanded from macro '_CRT_INSECURE_DEPRECATE'
            #define _CRT_INSECURE_DEPRECATE(_Replacement) _CRT_DEPRECATE_TEXT(    \
                                                          ^
    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\include\vcruntime.h:345:47: note: expanded from macro '_CRT_DEPRECATE_TEXT'
    #define _CRT_DEPRECATE_TEXT(_Text) __declspec(deprecated(_Text))
                                                  ^
    1 error generated.
    stack traceback:
        [C]: in function 'error'
        [@programdir\core\base\os.lua:897]:
        [@programdir\modules\core\tools\gcc.lua:709]: in function 'catch'
        [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
        [@programdir\modules\core\tools\gcc.lua:650]:
        [C]: in function 'xpcall'
        [@programdir\core\base\utils.lua:280]:
        [...amdir\core\sandbox\modules\import\core\tool\compiler.lua:82]: in function 'compile'
        [@programdir\modules\lib\detect\check_cxsnippets.lua:218]:
        [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:212]:
        [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:231]:
        [@programdir\core\project\option.lua:279]: in function '_check'
        [@programdir\core\project\option.lua:336]: 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 libc_wcsncpy ... no
    generating src\tbox\tbox\src\tbox\tbox.config.h.in to build\windows\x64\release\tbox.config.h ..
    checking for git ... ok
      > replace VERSION -> 1.7.1
      > replace VERSION_MAJOR -> 1
      > replace VERSION_MINOR -> 7
      > replace VERSION_ALTER -> 1
      > replace VERSION_BUILD -> 202212300849
      > replace OS -> WINDOWS
      > 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 -> #define TB_CONFIG_FORCE_UTF8 1
      > 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 -> #define TB_CONFIG_FEATURE_HAVE_ANONYMOUS_UNION 1
      > 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 -> #define TB_CONFIG_MODULE_HAVE_HASH 1
      > 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 -> #define TB_CONFIG_MODULE_HAVE_CHARSET 1
      > 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 -> #define TB_CONFIG_LIBC_HAVE_MEMCPY 1
      > replace TB_CONFIG_LIBC_HAVE_MEMSET -> #define TB_CONFIG_LIBC_HAVE_MEMSET 1
      > replace TB_CONFIG_LIBC_HAVE_MEMMOVE -> #define TB_CONFIG_LIBC_HAVE_MEMMOVE 1
      > replace TB_CONFIG_LIBC_HAVE_MEMCMP -> #define TB_CONFIG_LIBC_HAVE_MEMCMP 1
      > 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 -> #define TB_CONFIG_LIBC_HAVE_STRLEN 1
      > replace TB_CONFIG_LIBC_HAVE_STRNLEN -> #define TB_CONFIG_LIBC_HAVE_STRNLEN 1
      > replace TB_CONFIG_LIBC_HAVE_STRCHR -> #define TB_CONFIG_LIBC_HAVE_STRCHR 1
      > replace TB_CONFIG_LIBC_HAVE_STRRCHR -> #define TB_CONFIG_LIBC_HAVE_STRRCHR 1
      > replace TB_CONFIG_LIBC_HAVE_STRSTR -> #define TB_CONFIG_LIBC_HAVE_STRSTR 1
      > replace TB_CONFIG_LIBC_HAVE_STRCASESTR -> /* #undef TB_CONFIG_LIBC_HAVE_STRCASESTR */
      > replace TB_CONFIG_LIBC_HAVE_STRCMP -> #define TB_CONFIG_LIBC_HAVE_STRCMP 1
      > replace TB_CONFIG_LIBC_HAVE_STRCASECMP -> /* #undef TB_CONFIG_LIBC_HAVE_STRCASECMP */
      > replace TB_CONFIG_LIBC_HAVE_STRNCMP -> #define TB_CONFIG_LIBC_HAVE_STRNCMP 1
      > 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 -> #define TB_CONFIG_LIBC_HAVE_WCSLEN 1
      > replace TB_CONFIG_LIBC_HAVE_WCSNLEN -> #define TB_CONFIG_LIBC_HAVE_WCSNLEN 1
      > replace TB_CONFIG_LIBC_HAVE_WCSSTR -> #define TB_CONFIG_LIBC_HAVE_WCSSTR 1
      > replace TB_CONFIG_LIBC_HAVE_WCSCASESTR -> /* #undef TB_CONFIG_LIBC_HAVE_WCSCASESTR */
      > replace TB_CONFIG_LIBC_HAVE_WCSCMP -> #define TB_CONFIG_LIBC_HAVE_WCSCMP 1
      > replace TB_CONFIG_LIBC_HAVE_WCSCASECMP -> /* #undef TB_CONFIG_LIBC_HAVE_WCSCASECMP */
      > replace TB_CONFIG_LIBC_HAVE_WCSNCMP -> #define TB_CONFIG_LIBC_HAVE_WCSNCMP 1
      > 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 -> #define TB_CONFIG_LIBC_HAVE_MKTIME 1
      > 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 -> #define TB_CONFIG_LIBC_HAVE_SIGNAL 1
      > replace TB_CONFIG_LIBC_HAVE_SETJMP -> #define TB_CONFIG_LIBC_HAVE_SETJMP 1
      > 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 -> #define TB_CONFIG_LIBC_HAVE_SETLOCALE 1
      > replace TB_CONFIG_LIBC_HAVE_FPUTC -> #define TB_CONFIG_LIBC_HAVE_FPUTC 1
      > replace TB_CONFIG_LIBC_HAVE_FGETC -> #define TB_CONFIG_LIBC_HAVE_FGETC 1
      > replace TB_CONFIG_LIBC_HAVE_UNGETC -> #define TB_CONFIG_LIBC_HAVE_UNGETC 1
      > replace TB_CONFIG_LIBC_HAVE_FPUTS -> #define TB_CONFIG_LIBC_HAVE_FPUTS 1
      > replace TB_CONFIG_LIBC_HAVE_FGETS -> #define TB_CONFIG_LIBC_HAVE_FGETS 1
      > replace TB_CONFIG_LIBC_HAVE_FREAD -> #define TB_CONFIG_LIBC_HAVE_FREAD 1
      > replace TB_CONFIG_LIBC_HAVE_FWRITE -> #define TB_CONFIG_LIBC_HAVE_FWRITE 1
      > 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 -> #define TB_CONFIG_LIBM_HAVE_LOG2 1
      > replace TB_CONFIG_LIBM_HAVE_LOG2F -> #define TB_CONFIG_LIBM_HAVE_LOG2F 1
      > replace TB_CONFIG_LIBM_HAVE_SQRT -> #define TB_CONFIG_LIBM_HAVE_SQRT 1
      > replace TB_CONFIG_LIBM_HAVE_SQRTF -> #define TB_CONFIG_LIBM_HAVE_SQRTF 1
      > replace TB_CONFIG_LIBM_HAVE_ACOS -> #define TB_CONFIG_LIBM_HAVE_ACOS 1
      > replace TB_CONFIG_LIBM_HAVE_ACOSF -> #define TB_CONFIG_LIBM_HAVE_ACOSF 1
      > replace TB_CONFIG_LIBM_HAVE_ASIN -> #define TB_CONFIG_LIBM_HAVE_ASIN 1
      > replace TB_CONFIG_LIBM_HAVE_ASINF -> #define TB_CONFIG_LIBM_HAVE_ASINF 1
      > replace TB_CONFIG_LIBM_HAVE_POW -> #define TB_CONFIG_LIBM_HAVE_POW 1
      > replace TB_CONFIG_LIBM_HAVE_POWF -> #define TB_CONFIG_LIBM_HAVE_POWF 1
      > replace TB_CONFIG_LIBM_HAVE_FMOD -> #define TB_CONFIG_LIBM_HAVE_FMOD 1
      > replace TB_CONFIG_LIBM_HAVE_FMODF -> #define TB_CONFIG_LIBM_HAVE_FMODF 1
      > replace TB_CONFIG_LIBM_HAVE_TAN -> #define TB_CONFIG_LIBM_HAVE_TAN 1
      > replace TB_CONFIG_LIBM_HAVE_TANF -> #define TB_CONFIG_LIBM_HAVE_TANF 1
      > replace TB_CONFIG_LIBM_HAVE_ATAN -> #define TB_CONFIG_LIBM_HAVE_ATAN 1
      > replace TB_CONFIG_LIBM_HAVE_ATANF -> #define TB_CONFIG_LIBM_HAVE_ATANF 1
      > replace TB_CONFIG_LIBM_HAVE_ATAN2 -> #define TB_CONFIG_LIBM_HAVE_ATAN2 1
      > replace TB_CONFIG_LIBM_HAVE_ATAN2F -> #define TB_CONFIG_LIBM_HAVE_ATAN2F 1
      > replace TB_CONFIG_LIBM_HAVE_COS -> #define TB_CONFIG_LIBM_HAVE_COS 1
      > replace TB_CONFIG_LIBM_HAVE_COSF -> #define TB_CONFIG_LIBM_HAVE_COSF 1
      > replace TB_CONFIG_LIBM_HAVE_SIN -> #define TB_CONFIG_LIBM_HAVE_SIN 1
      > replace TB_CONFIG_LIBM_HAVE_SINF -> #define TB_CONFIG_LIBM_HAVE_SINF 1
      > replace TB_CONFIG_LIBM_HAVE_EXP -> #define TB_CONFIG_LIBM_HAVE_EXP 1
      > replace TB_CONFIG_LIBM_HAVE_EXPF -> #define TB_CONFIG_LIBM_HAVE_EXPF 1
      > 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 -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE_NF -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE_NF 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE_ACQ -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE_ACQ 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE_REL -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE_REL 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8 -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8_NF -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8_NF 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8_ACQ -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8_ACQ 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8_REL -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8_REL 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8 -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8_NF -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8_NF 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8_ACQ -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8_ACQ 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8_REL -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8_REL 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD_NF -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD_NF 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD_ACQ -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD_ACQ 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD_REL -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD_REL 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64 -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64_NF -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64_NF 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64_ACQ -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64_ACQ 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64_REL -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64_REL 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE_NF -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE_NF 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE_ACQ -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE_ACQ 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE_REL -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE_REL 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64 -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64_NF -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64_NF 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64_ACQ -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64_ACQ 1
      > replace TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64_REL -> #define TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64_REL 1
      > 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\src\tbox\tbox.config.h.in ... ok
    generating src\xmake\xmake.config.h.in to build\windows\x64\release\xmake.config.h ..
      > replace VERSION -> 2.7.4
      > replace VERSION_MAJOR -> 2
      > replace VERSION_MINOR -> 7
      > replace VERSION_ALTER -> 4
      > replace VERSION_BUILD -> 202212300849
      > replace GIT_BRANCH -> master
      > replace GIT_COMMIT -> 784ffcfa4
    generating src\xmake\xmake.config.h.in ... ok
    configure
    {
        float = true
        kind = static
        pcre = false
        mbedtls = false
        openssl = false
        clean = true
        pdcurses = true
        ccache = true
        demo = false
        runtime = lua
        mode = release
        charset = true
        zlib = false
        database = false
        mysql = false
        pcre2 = false
        sqlite3 = false
        coroutine = false
        proxy_pac = pac.lua
        info = false
        exception = false
        force-utf8 = true
        theme = default
        wchar = false
        regex = false
        arch = x64
        onlylib = false
        object = false
        curses = false
        hash = true
        ndk_stdcxx = true
        readline = false
        buildir = build
        network = public
        small = true
        host = windows
        plat = windows
        zip = false
        xml = false
        polarssl = false
        deprecated = false
        micro = false
    }
    
    bug 
    opened by lanjackg2003 7
  • Add support of importing modules from packages

    Add support of importing modules from packages

    This is a Proof of concepts, may need a lot of optimisation / refinements

    the module distribution files are based on https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2473r1.pdf

    opened by Arthapz 3
  • Source release configuration directory handling completely broken

    Source release configuration directory handling completely broken

    Xmake Version

    2.7.4

    Operating System Version and Architecture

    Source tarball, extracted on Linux

    Describe Bug

    There are several issues with the source tarball and included configure script shipped in v2.7.4. This seems like a GNU Autotools style configure script, but it doesn't actually work in any of the standard ways. As a downstream packager I would appreciate if it was fixed so the expected functions work as in autotools. If you need help doing this right I may be able to help setup the tooling.

    Here are some of the issues:

    1. The sources don't extract with a top level directory. This makes a huge mess because the tar has no root directory. Sources build with make dist will always have the version number in the name and extract to a matching top level directory.

    2. The configure script does not accept ./configure --prefix=.... This is standard usage for distro packagers that don't use the usual /usr/local defaults and want to set /usr or similar instead.

    3. The make install DESTDIR="..." does not function to accept a base director. This is also standard usage. This and no 2 only work if bundled together as make install PREFIX="/base/prefix", but this is broken non-standard usage.

    There may be more, I gave up trying to use it at all when I discovered the prefix and destination handling was cross wired.

    Expected Behavior

    A top level directory in the source tarball, a --prefix configure flag that works, a DESTDIR install target that works.

    Project Configuration

    No response

    Additional Information and Error Logs

    No response

    bug 
    opened by alerque 7
  • Sometimes xmake fails without message on windows

    Sometimes xmake fails without message on windows

    Xmake Version

    2.7.3

    Operating System Version and Architecture

    Windows 11

    Describe Bug

    Sometimes when xmake fails to link (because of a link error) on Windows, it displays an empty message:

    [email protected]:/mnt/c/Projets/Perso/NazaraNext/NazaraEngine$ xmake.exe build Physics2DDemo
    [ 68%]: compiling.debug src\Nazara\Graphics\BakedFrameGraph.cpp
    [ 69%]: compiling.debug src\Nazara\Graphics\DebugDrawPipelinePass.cpp
    [ 69%]: compiling.debug src\Nazara\Graphics\DepthPipelinePass.cpp
    [ 69%]: compiling.debug src\Nazara\Graphics\DirectionalLight.cpp
    [ 69%]: compiling.debug src\Nazara\Graphics\ElementRenderer.cpp
    [ 69%]: compiling.debug src\Nazara\Graphics\ElementRendererRegistry.cpp
    [ 69%]: compiling.debug src\Nazara\Graphics\Formats\TextureLoader.cpp
    [ 69%]: compiling.debug src\Nazara\Graphics\ForwardFramePipeline.cpp
    [ 69%]: compiling.debug src\Nazara\Graphics\ForwardPipelinePass.cpp
    [ 69%]: compiling.debug src\Nazara\Graphics\FrameGraph.cpp
    [ 70%]: compiling.debug src\Nazara\Graphics\FramePipeline.cpp
    [ 70%]: compiling.debug src\Nazara\Graphics\GraphicalMesh.cpp
    [ 70%]: compiling.debug src\Nazara\Graphics\Graphics.cpp
    [ 70%]: compiling.debug src\Nazara\Graphics\GuillotineTextureAtlas.cpp
    [ 70%]: compiling.debug src\Nazara\Graphics\Light.cpp
    [ 71%]: compiling.debug src\Nazara\Graphics\LinearSlicedSprite.cpp
    [ 71%]: compiling.debug src\Nazara\Graphics\Material.cpp
    [ 71%]: compiling.debug src\Nazara\Graphics\MaterialInstance.cpp
    [ 71%]: compiling.debug src\Nazara\Graphics\MaterialPipeline.cpp
    [ 71%]: compiling.debug src\Nazara\Graphics\MaterialSettings.cpp
    [ 71%]: compiling.debug src\Nazara\Graphics\Model.cpp
    [ 71%]: compiling.debug src\Nazara\Graphics\PointLight.cpp
    [ 71%]: compiling.debug src\Nazara\Graphics\PointLightShadowData.cpp
    [ 71%]: compiling.debug src\Nazara\Graphics\PredefinedMaterials.cpp
    [ 71%]: compiling.debug src\Nazara\Graphics\PredefinedShaderStructs.cpp
    [ 71%]: compiling.debug src\Nazara\Graphics\PropertyHandler\OptionValuePropertyHandler.cpp
    [ 71%]: compiling.debug src\Nazara\Graphics\PropertyHandler\TexturePropertyHandler.cpp
    [ 71%]: compiling.debug src\Nazara\Graphics\PropertyHandler\UniformValuePropertyHandler.cpp
    [ 71%]: compiling.debug src\Nazara\Graphics\RenderBufferPool.cpp
    [ 71%]: compiling.debug src\Nazara\Graphics\RenderElement.cpp
    [ 72%]: compiling.debug src\Nazara\Graphics\ShadowViewer.cpp
    [ 72%]: compiling.debug src\Nazara\Graphics\SkeletonInstance.cpp
    [ 72%]: compiling.debug src\Nazara\Graphics\SlicedSprite.cpp
    [ 72%]: compiling.debug src\Nazara\Graphics\SpotLight.cpp
    [ 72%]: compiling.debug src\Nazara\Graphics\SpotLightShadowData.cpp
    [ 73%]: compiling.debug src\Nazara\Graphics\Sprite.cpp
    [ 73%]: compiling.debug src\Nazara\Graphics\SpriteChainRenderer.cpp
    [ 73%]: compiling.debug src\Nazara\Graphics\SubmeshRenderer.cpp
    [ 73%]: compiling.debug src\Nazara\Graphics\Systems\RenderSystem.cpp
    [ 74%]: compiling.debug src\Nazara\Graphics\TextSprite.cpp
    [ 74%]: compiling.debug src\Nazara\Graphics\TextureSamplerCache.cpp
    [ 74%]: compiling.debug src\Nazara\Graphics\Tilemap.cpp
    [ 75%]: compiling.debug src\Nazara\Graphics\UberShader.cpp
    [ 75%]: compiling.debug src\Nazara\Graphics\ViewerInstance.cpp
    [ 76%]: compiling.debug src\Nazara\Graphics\WorldInstance.cpp
    [ 77%]: compiling.debug src\Nazara\Renderer\DebugDrawer.cpp
    [ 78%]: compiling.debug src\Nazara\Renderer\RenderBuffer.cpp
    [ 78%]: compiling.debug src\Nazara\Renderer\RenderDevice.cpp
    [ 79%]: compiling.debug src\Nazara\Renderer\Renderer.cpp
    [ 79%]: compiling.debug src\Nazara\Renderer\RendererImpl.cpp
    [ 80%]: compiling.debug src\Nazara\Renderer\RenderPassCache.cpp
    [ 80%]: compiling.debug src\Nazara\Renderer\RenderPipeline.cpp
    [ 82%]: compiling.debug src\Nazara\Renderer\RenderWindow.cpp
    [ 82%]: compiling.debug src\Nazara\Renderer\RenderWindowImpl.cpp
    [ 83%]: compiling.debug src\Nazara\Renderer\Texture.cpp
    [ 83%]: compiling.debug src\Nazara\Renderer\TextureSampler.cpp
    [ 94%]: linking.debug NazaraUtility-d.dll
    error:
    [email protected]:/mnt/c/Projets/Perso/NazaraNext/NazaraEngine$
    

    It happens only on link error, and I've noticed it at multiple places:

    • on my computer
    • on some of my student computers
    • in visual studio (from a vsxmake solution)

    I don't know how to reproduce it, as it seems random and always happens with link errors, but it's been more than a year than I've seen it happening there and there.

    Restarting the compilation prints the error:

    [email protected]:/mnt/c/Projets/Perso/NazaraNext/NazaraEngine$ xmake.exe build Physics2DDemo
    [ 94%]: linking.debug NazaraUtility-d.dll
    error:    Création de la bibliothèque bin\windows_x64_debug\NazaraUtility-d.lib et de l'objet bin\windows_x64_debug\NazaraUtility-d.exp
    GuillotineImageAtlas.cpp.obj : error LNK2019: symbole externe non résolu "public: __cdecl Nz::Rect<unsigned int>::Rect<unsigned int>(class Nz::Vector2<unsigned int> const &,class Nz::Vector2<unsigned int> const &)" ([email protected]@Nz@@[email protected][email protected]@[email protected]@Z) référencé dans la fonction "protected: virtual class std::shared_ptr<class Nz::AbstractImage> __cdecl Nz::GuillotineImageAtlas::ResizeImage(class std::shared_ptr<class Nz::AbstractImage> const &,class Nz::Vector2<unsigned int> const &)const " ([email protected]@Nz@@[email protected]@Nz@@@std@@[email protected]?$Vecto[email protected]@2@@Z)
    bin\windows_x64_debug\NazaraUtility-d.dll : fatal error LNK1120: 1 externes non résolus
    [email protected]:/mnt/c/Projets/Perso/NazaraNext/NazaraEngine$
    

    I'm opening this issue to raise awareness about this problem and to centralize informations about this issue, to know if it only happens on Windows, if someone know how to reproduce it.

    Expected Behavior

    That it always print link errors.

    Project Configuration

    No response

    Additional Information and Error Logs

    No response

    bug 
    opened by SirLynix 1
  • CMAKE_SYSTEM_PROCESSOR is missing when building packages on mingw

    CMAKE_SYSTEM_PROCESSOR is missing when building packages on mingw

    Xmake 版本

    2.7.3

    操作系统版本和架构

    Windows 10

    描述问题

    xmake在mingw上构建cmake包的时候会指定-DCMAKE_SYSTEM_NAME=Windows,但未指定CMAKE_SYSTEM_PROCESSOR

    https://github.com/xmake-io/xmake/blob/cdd00fc9212627ff21ddd531145cc02092e1b84b/xmake/modules/package/tools/cmake.lua#L450

    这会导致cmake认为在交叉编译,但CMAKE_SYSTEM_PROCESSOR为空 https://blog.csdn.net/10km/article/details/83106740#:~:text=%E5%A6%82%E6%9E%9C%E5%9C%A8%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%AA%E6%98%AF%E5%AE%9A%E4%B9%89%E4%BA%86%20CMAKE_SYSTEM_NAME%2C%E5%B0%B1%E4%BC%9A%E5%87%BA%E7%8E%B0%20CMAKE_SYSTEM_PROCESSOR%20%E4%B8%BA%E7%A9%BA%E8%BF%99%E7%A7%8D%E5%A5%87%E6%80%AA%E7%9A%84%E9%97%AE%E9%A2%98%E3%80%82%20%E5%8F%A6%E5%A4%96%E7%BB%8F%E6%B5%8B%E8%AF%95%E5%A6%82%E6%9E%9C%E5%9C%A8,CMakeLists.txt%20%E8%84%9A%E6%9C%AC%E4%B8%AD%E7%94%A8set%E5%91%BD%E4%BB%A4%E8%AE%BE%E7%BD%AE%20CMAKE_SYSTEM_NAME%20%E7%9A%84%E5%80%BC%2C%E5%B9%B6%E4%B8%8D%E4%BC%9A%E5%BD%B1%E5%93%8D%20CMAKE_SYSTEM_PROCESSOR%20%E7%9A%84%E5%80%BC%EF%BC%9A

    从而引起一些包故障,例如tbb

    https://github.com/oneapi-src/oneTBB/blob/66c6d8e3305363642d6284410881fda82f5c9c96/cmake/compilers/GNU.cmake#L39-L41

    期待的结果

    方案一:去掉-DCMAKE_SYSTEM_NAME=Windows设置,让cmake来自动处理mingw上的编译而不是作为交叉编译; 方案二:同时加上-DCMAKE_SYSTEM_PROCESSOR=AMD64/x86/ARM64

    工程配置

    No response

    附加信息和错误日志

    No response

    bug 
    opened by xq114 22
  • 请加入grpc cpp编译规则支持

    请加入grpc cpp编译规则支持

    你在什么场景下需要该功能?

    希望 xmake支持 grpc.cpp编译规则

    grpc 用protoc除了生成protobuf的2个文件,还会生成另外两个文件.grpc.pb.h和.grpc.pb.cc 下面是目前我加在before_build(function (target)

    os.execv("protoc --grpc_out=$(projectdir)/ --plugin=protoc-gen-grpc=/usr/local/bin/grpc_cpp_plugin -I $(projectdir)/proto/ xxx.proto")

    描述可能的解决方案

    类似protobuf 一样支持生成xxx.grpc.pb.h和xx.grpc.pb.cc

    描述你认为的候选方案

    No response

    其他信息

    No response

    feature request 
    opened by gooker 0
Releases(v2.7.4)
Owner
xmake-io
🔥 Xmake is a cross-platform build utility based on Lua
xmake-io
A cross-platform,lightweight,scalable game server framework written in C++, and support Lua Script

Current building status Moon Moon is a lightweight online game server framework implement with multithread and multi-luaVM. One thread may have 1-N lu

Bruce 467 Dec 29, 2022
A cross-platform,lightweight,scalable game server framework written in C++, and support Lua Script

hive Distributed game server framework based on CPP 17 && LUA 5.4 框架(hive)+逻辑(server) 支持跨平台开发(windows,linux,mac) oop模式的lua开发,支持lua热更新 protobuf协议 pbc修改

toney 82 Jan 1, 2023
The Lua development repository, as seen by the Lua team. Mirrored irregularly

The Lua development repository, as seen by the Lua team. Mirrored irregularly

Lua 6.4k Jan 5, 2023
A dependency free, embeddable debugger for Lua in a single file (.lua or .c)

debugger.lua A simple, embedabble debugger for Lua 5.x, and LuaJIT 2.x. debugger.lua is a simple, single file, pure Lua debugger that is easy to integ

Scott Lembcke 600 Dec 31, 2022
The Leap Motion cross-format, cross-platform declarative serialization library

Introduction to LeapSerial LeapSerial is a cross-format, declarative, serialization and deserialization library written and maintained by Leap Motion.

Leap Motion (Ultraleap) 15 Jan 17, 2022
FFF is a decentralized blockchain based on IPFS/RIPPLE, which integrates lua virtual machine-based smart contracts.

FFF is a decentralized blockchain based on IPFS/RIPPLE, which integrates lua virtual machine-based smart contracts. It is also a software platform designed to help coordinate voluntary free market operations amongst a set of social actors.

gen2600 6 Oct 24, 2022
A cross platform shader language with multi-threaded offline compilation or platform shader source code generation

A cross platform shader language with multi-threaded offline compilation or platform shader source code generation. Output json reflection info and c++ header with your shaders structs, fx-like techniques and compile time branch evaluation via (uber-shader) "permutations".

Alex Dixon 286 Dec 14, 2022
A modern port of Turbo Vision 2.0, the classical framework for text-based user interfaces. Now cross-platform and with Unicode support.

Turbo Vision A modern port of Turbo Vision 2.0, the classical framework for text-based user interfaces. Now cross-platform and with Unicode support. I

null 1.4k Dec 31, 2022
🎮 Cross platform development kit for Z80 and SM83 based consoles.

cdk ?? Cross platform development kit for Z80 and SM83 based consoles. Platform We planned to support the following consoles: Nintendo Game Boy Ninten

Micro Console 4 Jan 10, 2022
Wgeo, or "wi-fi geolocator", is a cross-platform C/C++ library for wifi-based device geolocation, utilising public wireless access point location databases

wgeo Wgeo, or "wi-fi geolocator", is a cross-platform C/C++ library for wifi-based device geolocation, utilising public wireless access point location

Xavier Maruff 2 Dec 23, 2022
Lua Client based on C++ for Polaris

Polaris Lua 中文文档 1. Project Introduction Based on the existing C++ sdk polaris-cpp project of Polaris, this project implements the Lua layer encapsula

Polarismesh 2 Apr 2, 2022
Signed - a 3D modeling and construction language based on Lua and SDFs. Signed will be available for macOS and iOS and is heavily optimized for Metal.

Signed - A 3D modeling language Abstract Signed is a Lua based 3D modeling language, it provides a unique way to create high quality 3D content for yo

Markus Moenig 90 Nov 21, 2022
PNPASSIST: A “SMART” BUILD PLATFORM FOR MANUAL PCB ASSEMBLY

PnPAssist Description The PnPAssist is an open source innovative CNC table that position the next SMT component with a proper orientation for you to m

MakerStorage 38 Dec 12, 2022
My build of dwm based on dwm-flexipatch.

This dwm 6.2 (67d76bd, 2021-03-29) side project has a different take on dwm patching. It uses preprocessor directives to decide whether or not to incl

Utkarsh Verma 3 Oct 20, 2022
LEDE build for NanoPi R4S.Based on Lean’s LEDE.

NanoPi-R4S-LEDE English FAQ 基于Lean的源码编译,适用于Friendly Elec. NanoPi R4S 使用说明: images内为镜像,下载后使用gzip解压就可刷入了。文件系统一般推荐ext4 默认登录地址为192.168.2.1,密码为password 特性:

IFV 1 Jan 1, 2022
CMake-based build system for node.js native modules

Node CMake A CMake-based build system for Node.js native modules, for CMake >= v3.1. Newly rewritten for 2.0! New Features Drop-in execution compatibi

Colin Taylor 77 Dec 14, 2022
A custom distribution of FreeImage, with a CMake-based build system. Used by the Athena Game Framework.

This is a custom distribution of FreeImage, version 3.13.1, with a XMake-based build system. License ------- FreeImage's license is unchanged: this

Philip Abbet 51 Apr 6, 2022
Cross-platform C++11 header-only library for memory mapped file IO

mio An easy to use header-only cross-platform C++11 memory mapping library with an MIT license. mio has been created with the goal to be easily includ

null 1.4k Jan 9, 2023
Cross-platform, Serial Port library written in C++

Serial Communication Library (Linux and OS X) (Windows) This is a cross-platform library for interfacing with rs-232 serial like ports written in C++.

William Woodall 1.7k Dec 30, 2022