LLVM 15 отдельно (VS без libclang), robust LIBCLANG_PATH, bash-путь форвард-слэшами
VS BuildTools содержит только clang-format/tidy без libclang.dll -> ставим LLVM 15.0.6 в S:\dev\LLVM; LIBCLANG_PATH выбирается из кандидатов. preconfigure получает POSIX-путь (git-bash не любит backslash). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+3
-2
@@ -57,8 +57,9 @@ Flutter 3.24.5, NDK r28c, cargo-ndk 3.1.2, Rust android-таргеты, vcpkg an
|
||||
vcpkg.exe тоже качали вручную через IWR (bootstrap не смог) — лежит в `S:\dev\vcpkg\vcpkg.exe` (tool 2025-07-21).
|
||||
|
||||
## Тулчейн (фактические пути на GUSIK-PC)
|
||||
Flutter: `S:\dev\flutter` · vcpkg: `S:\dev\vcpkg` (VCPKG_ROOT) · libclang: из VS BuildTools
|
||||
`...\VC\Tools\Llvm\x64\bin` · Rust 1.75 (rustup override в клоне) · MSVC 14.44 из vcvars64.
|
||||
Flutter: `S:\dev\flutter` · vcpkg: `S:\dev\vcpkg` (VCPKG_ROOT) · **LLVM 15.0.6: `S:\dev\LLVM`**
|
||||
(VS-бандл содержит только clang-format/tidy, БЕЗ libclang.dll — ставили LLVM отдельно, LIBCLANG_PATH=`S:\dev\LLVM\bin`) ·
|
||||
Rust 1.75 (rustup override в клоне) · MSVC 14.44 из vcvars64.
|
||||
|
||||
## Секреты в CI (gitea Actions)
|
||||
`RUSTDESK_SERVER`, `RUSTDESK_PUB_KEY`, (опц.) `RUSTDESK_API_SERVER`. Префикс имён — не `GITHUB_`/`GITEA_`
|
||||
|
||||
@@ -53,7 +53,9 @@ foreach ($p in 'HTTP_PROXY','HTTPS_PROXY','NO_PROXY','ALL_PROXY','http_proxy','h
|
||||
# --- env тулчейна на сессию ---
|
||||
$env:VCPKG_ROOT = $VcpkgRoot
|
||||
$env:VCPKGRS_TRIPLET = $TRIPLET # для vcpkg-rs крейтов (статик-триплет)
|
||||
$env:LIBCLANG_PATH = Join-Path $vsPath 'VC\Tools\Llvm\x64\bin' # bindgen (libclang из VS)
|
||||
# libclang для bindgen: VS-бандл его НЕ содержит -> ставим LLVM отдельно (S:\dev\LLVM).
|
||||
$clangCands = @('S:\dev\LLVM\bin','C:\Program Files\LLVM\bin', (Join-Path $vsPath 'VC\Tools\Llvm\x64\bin'))
|
||||
$env:LIBCLANG_PATH = ($clangCands | Where-Object { Test-Path (Join-Path $_ 'libclang.dll') } | Select-Object -First 1)
|
||||
$env:PATH = "$FlutterHome\bin;$VcpkgRoot;$env:PATH"
|
||||
|
||||
# --- preflight ---
|
||||
@@ -67,7 +69,7 @@ $all = (Check "rust $($pins['RUST_VERSION'])" ([bool]((rustup toolchain list) -m
|
||||
$all = (Check 'flutter' (Test-Path "$FlutterHome\bin\flutter.bat") "Flutter в $FlutterHome") -and $all
|
||||
$all = (Check 'vcpkg' (Test-Path "$VcpkgRoot\vcpkg.exe") "vcpkg в $VcpkgRoot") -and $all
|
||||
$all = (Check 'cl.exe' ([bool](Get-Command cl.exe -EA SilentlyContinue)) 'MSVC из vcvars') -and $all
|
||||
$all = (Check 'libclang' (Test-Path (Join-Path $env:LIBCLANG_PATH 'libclang.dll')) "нет libclang.dll в $($env:LIBCLANG_PATH)") -and $all
|
||||
$all = (Check 'libclang' ([bool]$env:LIBCLANG_PATH -and (Test-Path (Join-Path $env:LIBCLANG_PATH 'libclang.dll'))) 'нет libclang.dll — установи LLVM 15 в S:\dev\LLVM') -and $all
|
||||
if (-not $all) { throw "Тулчейн неполный — см. docs\CODEMAP.md." }
|
||||
|
||||
# --- клон/сброс до пина ---
|
||||
@@ -84,7 +86,9 @@ Push-Location $src; rustup override set $pins['RUST_VERSION'] | Out-Null; Pop-Lo
|
||||
|
||||
# --- preconfigure: вшить сервер+ключ ---
|
||||
Write-Host "Preconfigure (сервер+ключ)..." -ForegroundColor Cyan
|
||||
& $BashExe "$root/scripts/preconfigure.sh" "$src"
|
||||
$srcBash = $src -replace '\\','/' # git-bash не любит backslash в [ -f ... ]
|
||||
$preBash = ("$root/scripts/preconfigure.sh") -replace '\\','/'
|
||||
& $BashExe $preBash $srcBash
|
||||
if ($LASTEXITCODE) { throw "preconfigure.sh упал ($LASTEXITCODE)" }
|
||||
if ($SkipBuild) { Write-Host "SkipBuild — стоп после preconfigure." -ForegroundColor Yellow; return }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user