| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- @echo off
- if "%1"=="/?" goto :showhelp
- if "%1"=="-?" goto :showhelp
- if "%1"=="-help" goto :showhelp
- if "%1"=="--help" goto :showhelp
- setlocal ENABLEDELAYEDEXPANSION
- set X86_DBG=1
- set X86_REL=1
- set X86_TST=1
- set X64_DBG=1
- set X64_REL=1
- set X64_TST=1
- set ARM64_DBG=1
- set ARM64_REL=1
- set ARM64_TST=0
- set ANALYZE=-analyze
- set FV_FLAG=
- set CV_FLAG=
- if "%1"=="-short" (
- echo Building / testing fewer versions.
- set X86_DBG=0
- set X86_REL=1
- set X86_TST=0
- set X64_DBG=1
- set X64_REL=0
- set X64_TST=1
- set ARM64_DBG=1
- set ARM64_REL=0
- set ARM64_TST=0
- set ANALYZE=
- shift /1
- )
- if "%1"=="-fv" (
- echo Fixed version flag set for lab verification.
- set FV_FLAG=-fv
- shift /1
- )
- if "%1"=="-cv" (
- echo Setting the CLANG_VENDOR value.
- set CV_FLAG=-cv %2
- shift /1
- shift /1
- )
- if "%HLSL_SRC_DIR%"=="" (
- echo Missing source directory.
- if exist %~dp0..\..\LLVMBuild.txt (
- set HLSL_SRC_DIR=%~dp0..\..
- echo Source directory deduced to be %~dp0..\..
- ) else (
- exit /b 1
- )
- )
- if "%1"=="-buildoutdir" (
- echo Build output directory set to %2
- set HLSL_BLD_DIR=%2
- shift /1
- shift /1
- )
- rem Build all supported architectures (x86, x64, ARM64)
- call :verify_arch x86 %X86_TST% %X86_DBG% %X86_REL%
- if errorlevel 1 (
- echo Failed to verify for x86.
- exit /b 1
- )
- call :verify_arch x64 %X64_TST% %X64_DBG% %X64_REL%
- if errorlevel 1 (
- echo Failed to verify for x64.
- exit /b 1
- )
- rem Set path to x86 tblgen tools for the ARM64 build
- if "%BUILD_TBLGEN_PATH%" == "" (
- set BUILD_TBLGEN_PATH=%HLSL_BLD_DIR%\x86\Release\bin
- )
- call :verify_arch arm64 %ARM64_TST% %ARM64_DBG% %ARM64_REL%
- if errorlevel 1 (
- echo Failed to verify for arm64.
- exit /b 1
- )
- endlocal
- exit /b 0
- :showhelp
- echo Runs the verification steps for a lab configuration.
- echo.
- echo Usage:
- echo hctlabverify [-short] [-fv] [-buildOutDir dir]
- echo.
- echo Options:
- echo -short builds fewer components
- echo -fv fixes version information
- echo -buildOutDir sets the base output directory
- echo.
- goto :eof
- :verify_arch
- rem Performs a per-architecture build and test.
- rem 1 - architecture
- rem 2 - '1' to run tests, 0 otherwise
- rem 3 - '1' to build debug, 0 to skip
- rem 4 - '1' to build release, 0 to skip
- setlocal
- set HLSL_BLD_DIR=%HLSL_BLD_DIR%\%1
- mkdir %HLSL_BLD_DIR%
- rem Build the solution.
- call :announce Building solution files for %1
- call %HLSL_SRC_DIR%\utils\hct\hctbuild.cmd -s %FV_FLAG% %CV_FLAG% -%1
- if errorlevel 1 (
- echo Failed to create solution for architecture %1
- exit /b 1
- )
- rem Build debug.
- if "%3"=="1" (
- call :announce Debug build - %1
- call %HLSL_SRC_DIR%\utils\hct\hctbuild.cmd -b -%1
- if errorlevel 1 (
- echo Failed to build for architecture %1
- exit /b 1
- )
- );
- rem Build retail.
- if "%4"=="1" (
- call :announce Retail build - %1
- call %HLSL_SRC_DIR%\utils\hct\hctbuild.cmd -b %ANALYZE% -rel -%1
- if errorlevel 1 (
- echo Failed to build for architecture %1 in release
- exit /b 1
- )
- )
- rem Run tests.
- if "%2"=="1" (
- call :announce Starting tests
- rem Pick Debug if available, retail otherwise.
- if "%3"=="1" (
- call %HLSL_SRC_DIR%\utils\hct\hcttest.cmd
- ) else (
- call %HLSL_SRC_DIR%\utils\hct\hcttest.cmd -rel
- )
- ) else (
- echo Skipping tests.
- )
- endlocal
- exit /b 0
- :announce
- echo -------------------------------------------------------------------------
- echo.
- echo %*
- echo.
- echo -------------------------------------------------------------------------
- exit /b 0
|