From 3212758312c9ae92681a23a4d61f9c0904e39f44 Mon Sep 17 00:00:00 2001 From: Alan Jowett Date: Tue, 13 Dec 2022 14:58:09 +0000 Subject: [PATCH] Speed up build of sample folder (#1724) * Speedup build of sample folder Signed-off-by: Alan Jowett --- tests/sample/sample.vcxproj | 7 +++++++ tools/bpf2c/Convert-BpfToNative.ps1.template | 14 +++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/tests/sample/sample.vcxproj b/tests/sample/sample.vcxproj index 8f42bc87c..47da97a98 100644 --- a/tests/sample/sample.vcxproj +++ b/tests/sample/sample.vcxproj @@ -95,6 +95,8 @@ popd $(OutputPath)%(Filename).o;$(OutputPath)%(Filename)_um.dll;$(OutputPath)%(Filename).sys + + true @@ -110,6 +112,8 @@ popd $(OutputPath)%(Filename).o + + true @@ -120,6 +124,7 @@ clang $(ClangFlags) -I../xdp -I../socket -I./ext/inc -c unsafe\%(Filename).c -o $(OutputPath)%(Filename).o $(OutputPath)%(Filename).o + true @@ -133,6 +138,8 @@ popd $(OutputPath)%(Filename).o;$(OutputPath)%(Filename)_um.dll;$(OutputPath)%(Filename).sys + + true diff --git a/tools/bpf2c/Convert-BpfToNative.ps1.template b/tools/bpf2c/Convert-BpfToNative.ps1.template index 303e2fcfe..5d96a4667 100644 --- a/tools/bpf2c/Convert-BpfToNative.ps1.template +++ b/tools/bpf2c/Convert-BpfToNative.ps1.template @@ -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"