save current

This commit is contained in:
KingKDot
2026-07-06 20:19:38 -05:00
parent f7e9da26f8
commit 04b04831da
13 changed files with 426 additions and 145 deletions
+11 -1
View File
@@ -9,6 +9,7 @@ if not defined ENABLE_PERSISTENCE set ENABLE_PERSISTENCE=false
if not defined OBFUSCATE set OBFUSCATE=false
if not defined HIDE_CONSOLE set HIDE_CONSOLE=false
if not defined NO_PRINTING set NO_PRINTING=false
if not defined DISABLE_CGO set DISABLE_CGO=false
set "GARBLE_FLAGS="
@@ -83,7 +84,16 @@ pushd "%CLIENT_DIR%"
echo == Building agent for windows amd64 ==
set GOOS=windows
set GOARCH=amd64
set CGO_ENABLED=0
if /I "%DISABLE_CGO%"=="true" (
set CGO_ENABLED=0
) else (
set CGO_ENABLED=1
if not exist "%CLIENT_DIR%\third_party\nvcodec\nvEncodeAPI.h" (
echo Missing NVENC header: "%CLIENT_DIR%\third_party\nvcodec\nvEncodeAPI.h"
echo Run scripts\vendor-nvcodec-headers.bat from the repo root or set DISABLE_CGO=true.
goto :err
)
)
%BUILD_CMD% %BUILD_TAGS% -ldflags="%LDFLAGS% %WIN_LDFLAGS%" -o "%OUT_DIR%\agent-windows-amd64.exe" ./cmd/agent
if errorlevel 1 goto :err
+50
View File
@@ -0,0 +1,50 @@
@echo off
setlocal
set "SCRIPT_DIR=%~dp0"
for %%I in ("%SCRIPT_DIR%..") do set "ROOT_DIR=%%~fI"
set "DEST_DIR=%ROOT_DIR%\Overlord-Client\third_party\nvcodec"
set "DEST_HEADER=%DEST_DIR%\nvEncodeAPI.h"
if "%NV_CODEC_HEADERS_REPO%"=="" set "NV_CODEC_HEADERS_REPO=https://github.com/FFmpeg/nv-codec-headers.git"
if "%NV_CODEC_HEADERS_REF%"=="" set "NV_CODEC_HEADERS_REF=master"
set "FORCE=%FORCE_NV_CODEC_HEADERS%"
if /I "%~1"=="--force" set "FORCE=1"
if exist "%DEST_HEADER%" if not "%FORCE%"=="1" (
echo nvEncodeAPI.h already exists: "%DEST_HEADER%"
echo Use --force or set FORCE_NV_CODEC_HEADERS=1 to refresh it.
exit /b 0
)
where git >nul 2>&1
if errorlevel 1 (
echo git is required to vendor nv-codec-headers
exit /b 1
)
set "TMP_DIR=%DEST_DIR%\.nv-codec-headers.tmp"
if exist "%TMP_DIR%" rd /s /q "%TMP_DIR%"
if not exist "%DEST_DIR%" mkdir "%DEST_DIR%"
echo Cloning %NV_CODEC_HEADERS_REPO% (%NV_CODEC_HEADERS_REF%)...
git clone --depth 1 --branch "%NV_CODEC_HEADERS_REF%" "%NV_CODEC_HEADERS_REPO%" "%TMP_DIR%"
if errorlevel 1 goto :err
set "SRC_HEADER=%TMP_DIR%\include\ffnvcodec\nvEncodeAPI.h"
if not exist "%SRC_HEADER%" (
echo Expected header not found: "%SRC_HEADER%"
goto :err
)
copy /y "%SRC_HEADER%" "%DEST_HEADER%" >nul
if errorlevel 1 goto :err
rd /s /q "%TMP_DIR%"
echo Vendored "%DEST_HEADER%"
exit /b 0
:err
if exist "%TMP_DIR%" rd /s /q "%TMP_DIR%"
echo Failed to vendor nv-codec-headers
exit /b 1
+44
View File
@@ -0,0 +1,44 @@
#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ROOT_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)"
DEST_DIR="${ROOT_DIR}/Overlord-Client/third_party/nvcodec"
DEST_HEADER="${DEST_DIR}/nvEncodeAPI.h"
REPO_URL="${NV_CODEC_HEADERS_REPO:-https://github.com/FFmpeg/nv-codec-headers.git}"
REF="${NV_CODEC_HEADERS_REF:-master}"
FORCE="${FORCE_NV_CODEC_HEADERS:-0}"
if [[ "${1:-}" == "--force" ]]; then
FORCE=1
fi
if [[ -s "${DEST_HEADER}" && "${FORCE}" != "1" ]]; then
echo "nvEncodeAPI.h already exists: ${DEST_HEADER}"
echo "Use --force or FORCE_NV_CODEC_HEADERS=1 to refresh it."
exit 0
fi
command -v git >/dev/null 2>&1 || {
echo "git is required to vendor nv-codec-headers" >&2
exit 1
}
TMP_DIR="${DEST_DIR}/.nv-codec-headers.tmp"
rm -rf "${TMP_DIR}"
mkdir -p "${DEST_DIR}"
echo "Cloning ${REPO_URL} (${REF})..."
git clone --depth 1 --branch "${REF}" "${REPO_URL}" "${TMP_DIR}"
SRC_HEADER="${TMP_DIR}/include/ffnvcodec/nvEncodeAPI.h"
if [[ ! -s "${SRC_HEADER}" ]]; then
echo "Expected header not found: ${SRC_HEADER}" >&2
rm -rf "${TMP_DIR}"
exit 1
fi
cp "${SRC_HEADER}" "${DEST_HEADER}"
rm -rf "${TMP_DIR}"
echo "Vendored ${DEST_HEADER}"