Phase1 与 BuildPipeline 各自把 PYI_BUF_SIZE 声明为模块级全局,模块级全局走裸名符号(类 C extern 全局语义),两模块各发一份强定义 @PYI_BUF_SIZE,llvm-link 报 symbol multiply defined 并回退到单独编译。改为编译期宏 define PYI_BUF_SIZE = 262144(与同文件 define SRC_BUF_SIZE 同口径,不产生符号),同步更新引用该符号的非 CDefine 示例注释。project.vpj 移除 -Wl,--allow-multiple-definition 兜底。验证:跨模块内联优化完成,最终链接无该 flag 成功(161.70s);TransPyV 自举产物顺序回归 77/77 全通过。
47 lines
1.4 KiB
Plaintext
47 lines
1.4 KiB
Plaintext
{
|
|
"$schema": "https://raw.githubusercontent.com/TermiNexus/TransPyC/main/schemas/project-schema.json",
|
|
"name": "TransPyV",
|
|
"version": "1.0.0",
|
|
"source_dir": "./App",
|
|
"build_dir": "./.tpv_build",
|
|
"compiler": {
|
|
"cmd": "llc",
|
|
"flags": [
|
|
"-filetype=obj",
|
|
"-relocation-model=pic",
|
|
"-O0"
|
|
]
|
|
},
|
|
"linker": {
|
|
"cmd": "D:/msys64/mingw64/bin/clang++.exe",
|
|
"flags": [
|
|
"-fuse-ld=lld",
|
|
"-lmsvcrt",
|
|
"-lucrt",
|
|
"-lpthread",
|
|
"-lmingwex",
|
|
"-lkernel32",
|
|
"-Wl,--stack,0x1000000",
|
|
"-Wl,--no-insert-timestamp",
|
|
"-Wl,--export-all-symbols",
|
|
"-g"
|
|
],
|
|
"static_libs": [
|
|
"D:/msys64/clang64/lib/clang/22/lib/windows/libclang_rt.asan_dynamic-x86_64.dll.a",
|
|
"D:/msys64/clang64/lib/clang/22/lib/windows/libclang_rt.asan_dynamic_runtime_thunk-x86_64.a"
|
|
],
|
|
"output": "TransPyV.exe"
|
|
},
|
|
"includes": [
|
|
"../includes"
|
|
],
|
|
"target": {
|
|
"triple": "x86_64-pc-windows-gnu",
|
|
"datalayout": "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
|
|
},
|
|
"options": {
|
|
"slice_level": 3,
|
|
"sha1_slice_level": 1,
|
|
"strict_mode": true
|
|
}
|
|
} |