From fa807b737b4b6b3004cccafc0dfdfdd66fcdce2d Mon Sep 17 00:00:00 2001 From: wuzhenqing Date: Mon, 4 May 2026 11:15:50 +0000 Subject: feat(ascendc): add Huawei Ascend C toolchain support Add toolchain, language, rules, and compiler modules for the bisheng compiler driver from CANN (Compute Architecture for Neural Networks) toolkit. Supports .asc (Ascend C kernel) and .aicpu (AI-CPU operator) source kinds with binary/static/shared target types. - Toolchain: SDK auto-detection via ASCEND_HOME_PATH env or --sdk - Compiler: bisheng module inherits from clang, adds add_sourceflags for explicit sourcekind overrides - Rules: ascendc.env (default C++17), npuarchs (--npu-arch), build - Language: check_main detection, add_ascnpuarchs API - Tests: unit tests for check_main, project tests for libs/mixed Fixes #7506 --- xmake/core/tool/toolchain.lua | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'xmake/core/tool/toolchain.lua') diff --git a/xmake/core/tool/toolchain.lua b/xmake/core/tool/toolchain.lua index f6704cf28..3bca7e37a 100644 --- a/xmake/core/tool/toolchain.lua +++ b/xmake/core/tool/toolchain.lua @@ -514,6 +514,10 @@ function _instance:_description(toolkind) cu = "the cuda compiler", culd = "the cuda linker", cuccbin = "the cuda host c++ compiler", + asc = "the ascend c compiler", + aicpu = "the ascend c ai-cpu compiler", + ascld = "the ascend c linker", + ascsh = "the ascend c shared library linker", nc = "the nim compiler", ncld = "the nim linker", ncsh = "the nim shared library linker", -- cgit v1.3.1