зеркало из https://github.com/microsoft/msquic.git
76 строки
3.6 KiB
PowerShell
76 строки
3.6 KiB
PowerShell
<#
|
|
|
|
.SYNOPSIS
|
|
This packages up all code and binaries needed to create a VPack package to
|
|
ingest into the Windows OS build.
|
|
|
|
.EXAMPLE
|
|
prepare-package.ps1
|
|
|
|
#>
|
|
|
|
Set-StrictMode -Version 'Latest'
|
|
$PSDefaultParameterValues['*:ErrorAction'] = 'Stop'
|
|
|
|
# Root directory of the project.
|
|
$RootDir = Split-Path $PSScriptRoot -Parent
|
|
|
|
# Artifacts directory.
|
|
$ArtifactsDir = Join-Path $RootDir "artifacts"
|
|
|
|
# Output directory for all package files.
|
|
$PackageDir = Join-Path $ArtifactsDir "package"
|
|
|
|
$Configs = [System.Tuple]::Create("Debug","chk"), [System.Tuple]::Create("Release","fre")
|
|
$Archs = [System.Tuple]::Create("ARM","arm","arm"), [System.Tuple]::Create("ARM64","arm64","arm64"), `
|
|
[System.Tuple]::Create("Win32","x86","x86"), [System.Tuple]::Create("x64","x64","amd64")
|
|
|
|
$SkipKernelArchs = @("Win32", "ARM")
|
|
|
|
function Force-Copy($Source, $Destination) {
|
|
New-Item -Path $Destination -ItemType Directory -Force | Out-Null
|
|
Copy-Item $Source $Destination -Force | Out-Null
|
|
}
|
|
|
|
# Package up all necessary header and manifest files.
|
|
$IncFiles = "msquic.h", "msquicp.h", "msquic_winkernel.h", "msquic_winuser.h"
|
|
|
|
foreach ($Config in $Configs) {
|
|
foreach ($Arch in $Archs) {
|
|
$PlatformPackageDir = Join-Path $PackageDir "$($Arch.Item3)$($Config.Item2)"
|
|
foreach ($File in $IncFiles) {
|
|
Force-Copy (Join-Path $RootDir "src/inc/$File") $PlatformPackageDir
|
|
}
|
|
Force-Copy (Join-Path $RootDir "src/manifest/MsQuic.wprp") $PlatformPackageDir
|
|
Force-Copy (Join-Path $RootDir "src/manifest/MsQuicEtw.man") $PlatformPackageDir
|
|
|
|
$InputDir = Join-Path $ArtifactsDir "bin/windows/$($Arch.Item2)_$($Config.Item1)_schannel"
|
|
Force-Copy (Join-Path $InputDir "msquic.lib") (Join-Path $PlatformPackageDir "lib/user")
|
|
Force-Copy (Join-Path $InputDir "msquic.dll") (Join-Path $PlatformPackageDir "bin/user")
|
|
Force-Copy (Join-Path $InputDir "msquic.pdb") (Join-Path $PlatformPackageDir "bin/user")
|
|
Force-Copy (Join-Path $InputDir "msquictest.exe") (Join-Path $PlatformPackageDir "bin/user")
|
|
Force-Copy (Join-Path $InputDir "msquictest.pdb") (Join-Path $PlatformPackageDir "bin/user")
|
|
Force-Copy (Join-Path $InputDir "secnetperf.exe") (Join-Path $PlatformPackageDir "bin/user")
|
|
Force-Copy (Join-Path $InputDir "secnetperf.pdb") (Join-Path $PlatformPackageDir "bin/user")
|
|
|
|
if (!$SkipKernelArchs.Contains($Arch.Item1)) {
|
|
$InputDir = Join-Path $ArtifactsDir "bin/winkernel/$($Arch.Item1)_$($Config.Item1)_schannel"
|
|
Force-Copy (Join-Path $InputDir "msquic.lib") (Join-Path $PlatformPackageDir "lib/kernel")
|
|
Force-Copy (Join-Path $InputDir "msquic.sys") (Join-Path $PlatformPackageDir "bin/kernel")
|
|
Force-Copy (Join-Path $InputDir "msquic.pdb") (Join-Path $PlatformPackageDir "bin/kernel")
|
|
Force-Copy (Join-Path $InputDir "msquictest.sys") (Join-Path $PlatformPackageDir "bin/kernel")
|
|
Force-Copy (Join-Path $InputDir "msquictest.pdb") (Join-Path $PlatformPackageDir "bin/kernel")
|
|
Force-Copy (Join-Path $InputDir "secnetperfdrv.sys") (Join-Path $PlatformPackageDir "bin/kernel")
|
|
Force-Copy (Join-Path $InputDir "secnetperfdrv.pdb") (Join-Path $PlatformPackageDir "bin/kernel")
|
|
}
|
|
}
|
|
|
|
# Special case chpe
|
|
$ChpePackageDir = Join-Path $PackageDir "chpe$($Config.Item2)"
|
|
foreach ($File in $IncFiles) {
|
|
Force-Copy (Join-Path $RootDir "src/inc/$File") $ChpePackageDir
|
|
}
|
|
Force-Copy (Join-Path $RootDir "src/manifest/MsQuic.wprp") $ChpePackageDir
|
|
Force-Copy (Join-Path $RootDir "src/manifest/MsQuicEtw.man") $ChpePackageDir
|
|
}
|