Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[build] Fix and extend build scripting
a) Fixed various syntax issues, e.g. unquoted variables b) Unwrapped nested IF statements to ensure no jumping out of loops c) Extended colour pallette to stdout d) Introduced environment variable SKIP_SDV_ACTUAL to skip Static Driver Verifier (SDV) during analysis builds. CodeQL, Code Analysis (CA) and DVL operations are still executed. Default is to perform the SDV build (unchanged behaviour). e) Make actual SDV build conditional (Win10_SDV only) f) Introduced managed CodeQL package cache and test suite versioning control. If the CodeQL binary is detected at CODEQL_BIN a CodeQL build commences, otherwise it is skipped (unchanged behaviour). The package cache versions are set in the :config_ql_whcp function (new). Test suite versioning is via git hash of the WDK Developer Supplemental Tools repository (new, depends on git). The versions are determined by the value of the WHCP_LEVEL variable, which can be either WHCP_LEGACY or WHCP_24H2. Provision for future WHCP versions is templated as WHCP_NEXT. g) Introduced environment variable CODEQL_OFFLINE_ONLY to perform package cache and suite version checking but NOT download any needed updates. Exits on error expecting resolution. Requires git. h) Introduced environment variable CODEQL_RUN_BLIND to retain legacy behaviour and perform no package cache or suite version checking. It presumes the prerequisites are present. Removes git dependency. i) Pre-builds x86 viosock libraries when building virtio-win.sln or viosock.sln for amd64 in the circumstances the required x86 libraries do not already exist. j) If running in a Germanium EWDK environment, the script will instantiate a Cobalt EWDK environment to build Win10 SDV operations, and will return to Germanium EWDK when done. k) Use Germanium EWDK to sign Win11 drivers. l) Enforce echo off after calling SetupBuildEnv.cmd m) Provide some extra EWDK details when EnterpriseWDK=True n) Prettify last leg of build and provide SUCCESS / FAIL feedback. Signed-off-by: benyamin-codez <[email protected]>
- Loading branch information