Speed up build of sample folder (#1724)

* Speedup build of sample folder

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
This commit is contained in:
Alan Jowett 2022-12-13 14:58:09 +00:00 коммит произвёл GitHub
Родитель 46cbad6c44
Коммит 3212758312
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 20 добавлений и 1 удалений

Просмотреть файл

@ -95,6 +95,8 @@
popd
</Command>
<Outputs>$(OutputPath)%(Filename).o;$(OutputPath)%(Filename)_um.dll;$(OutputPath)%(Filename).sys</Outputs>
<!-- Don't run bpf2c in parallel when built with fuzzing flags as this triggers failures. -->
<BuildInParallel Condition="'$(Fuzzer)'!='True' And '$(AddressSanitizer)'!='True'">true</BuildInParallel>
</CustomBuild>
</ItemGroup>
<!-- For BPF programs that fail verification, build native images without verification only for Debug build. -->
@ -110,6 +112,8 @@
popd
</Command>
<Outputs>$(OutputPath)%(Filename).o</Outputs>
<!-- Don't run bpf2c in parallel when built with fuzzing flags as this triggers failures. -->
<BuildInParallel Condition="'$(Fuzzer)'!='True' And '$(AddressSanitizer)'!='True'">true</BuildInParallel>
</CustomBuild>
</ItemGroup>
<ItemGroup Condition="'$(Configuration)'=='Release'">
@ -120,6 +124,7 @@
clang $(ClangFlags) -I../xdp -I../socket -I./ext/inc -c unsafe\%(Filename).c -o $(OutputPath)%(Filename).o
</Command>
<Outputs>$(OutputPath)%(Filename).o</Outputs>
<BuildInParallel>true</BuildInParallel>
</CustomBuild>
</ItemGroup>
<!-- Build BPF programs that pass verification and build native images for them but require custom program type. -->
@ -133,6 +138,8 @@
popd
</Command>
<Outputs>$(OutputPath)%(Filename).o;$(OutputPath)%(Filename)_um.dll;$(OutputPath)%(Filename).sys</Outputs>
<!-- Don't run bpf2c in parallel when built with fuzzing flags as this triggers failures. -->
<BuildInParallel Condition="'$(Fuzzer)'!='True' And '$(AddressSanitizer)'!='True'">true</BuildInParallel>
</CustomBuild>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

Просмотреть файл

@ -36,6 +36,18 @@ if (!$fileExists) {
throw $errorString
}
$TempDir = "$OutDir\$ProgramName"
if ($KernelMode) {
$TempDir += "_km"
}
else {
$TempDir += "_um"
}
mkdir -Force $TempDir
Copy-Item -Path "$ProgramName.o" -Destination "$TempDir\"
cd $TempDir
if ($KernelMode) {
$ProjectFile = "$ProgramName.vcxproj"
@ -52,7 +64,7 @@ if ($PSBoundParameters.ContainsKey("Type")) {
$AdditionalOptions += " --type $Type"
}
msbuild /p:BinDir="$BinDir\" /p:OutDir="$PWD\" /p:IncludeDir="$IncludeDir" /p:Configuration="$Configuration" /p:Platform="$Platform" /p:ProgramName="$ProgramName" /p:AdditionalOptions="$AdditionalOptions" $ProjectFile
msbuild /p:BinDir="$BinDir\" /p:OutDir="$OutDir\" /p:IncludeDir="$IncludeDir" /p:Configuration="$Configuration" /p:Platform="$Platform" /p:ProgramName="$ProgramName" /p:AdditionalOptions="$AdditionalOptions" $ProjectFile
if ($LASTEXITCODE -ne 0) {
throw "Build failed for $ProgramName.o"