Allow platform specific eBPF nuget packages to be created (#3892)
* Allow platform specific eBPF nuget packages to be created Signed-off-by: Alan Jowett <alan.jowett@microsoft.com> * Specify version in output Signed-off-by: Alan Jowett <alan.jowett@microsoft.com> --------- Signed-off-by: Alan Jowett <alan.jowett@microsoft.com> Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
This commit is contained in:
Родитель
8743c34ab3
Коммит
f5195ecf63
|
@ -1,7 +1,7 @@
|
|||
# Copyright (c) eBPF for Windows contributors
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
param ($InputFile, $OutputFile, [parameter(Mandatory=$false)]$VCToolsRedistDir)
|
||||
param ($InputFile, $OutputFile, [parameter(Mandatory=$false)]$VCToolsRedistDir, [parameter(Mandatory=$false)]$architecture)
|
||||
|
||||
# The git commit ID is in the include directory and is in the format:
|
||||
# #define GIT_COMMIT_ID "some commit id"
|
||||
|
@ -13,4 +13,5 @@ $content = Get-Content $InputFile
|
|||
$content = $content.Replace("{version}", $version)
|
||||
$content = $content.Replace("{VCToolsRedistDir}", $VCToolsRedistDir)
|
||||
$content = $content.Replace("{git_commit_id}", $git_commit_id)
|
||||
$content = $content.Replace("{architecture}", $architecture)
|
||||
set-content $OutputFile $content
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<package>
|
||||
<metadata>
|
||||
<title>eBPF for Windows SDK</title>
|
||||
<id>eBPF-for-Windows</id>
|
||||
<id>eBPF-for-Windows.{architecture}</id>
|
||||
<version>{version}</version>
|
||||
<authors>eBPF for Windows Contributors</authors>
|
||||
<owners>eBPF for Windows Contributors</owners>
|
||||
|
@ -19,7 +19,7 @@
|
|||
</metadata>
|
||||
<files>
|
||||
<file src="..\..\tools\nuget\README.md" target="."/>
|
||||
<file src="..\..\tools\nuget\ebpf-for-windows.props" target="build\native"/>
|
||||
<file src="ebpf-for-windows.{architecture}.props" target="build\native"/>
|
||||
<file src="Convert-BpfToNative.ps1" target="build\native\bin"/>
|
||||
<file src="bpf2c.exe" target="build\native\bin"/>
|
||||
<file src="bpf2c.pdb" target="build\native\bin"/>
|
||||
|
|
|
@ -4,16 +4,28 @@
|
|||
-->
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
|
||||
ToolsVersion="15.0">
|
||||
<ItemGroup>
|
||||
<!-- Translate processor architecture into the Platform version that VC uses. -->
|
||||
<PropertyGroup Condition="'$(PROCESSOR_ARCHITECTURE)'=='AMD64'">
|
||||
<HostPlatform>x64</HostPlatform>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(PROCESSOR_ARCHITECTURE)'=='ARM64'">
|
||||
<HostPlatform>ARM64</HostPlatform>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition="'$(Platform)'=='{architecture}'">
|
||||
<EbpfLibs Include="$(MSBuildThisFileDirectory)\lib\*.lib" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<!-- Set the platform dependent variables. -->
|
||||
<PropertyGroup Condition="'$(Platform)'=='{architecture}'">
|
||||
<EbpfLibraries>@(EbpfLibs)</EbpfLibraries>
|
||||
<ClangIncludes>-I $(MSBuildThisFileDirectory)include -I $(MSBuildThisFileDirectory)include/uapi</ClangIncludes>
|
||||
<EbpfBinPath>$(MSBuildThisFileDirectory)bin</EbpfBinPath>
|
||||
<EbpfIncludePath>$(MSBuildThisFileDirectory)include</EbpfIncludePath>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<!-- Set the host dependent variables. -->
|
||||
<PropertyGroup Condition="'$(HostPlatform)'=='{architecture}'">
|
||||
<EbpfHostBinPath>$(MSBuildThisFileDirectory)bin</EbpfHostBinPath>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Platform)'=='{architecture}'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(MSBuildThisFileDirectory)include;$(MSBuildThisFileDirectory)include/uapi</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
|
@ -194,18 +194,11 @@ popd $(OutDir)</Command>
|
|||
<ItemGroup>
|
||||
<CustomBuild Include="ebpf-for-windows.nuspec.in">
|
||||
<FileType>Document</FileType>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">powershell -NonInteractive -ExecutionPolicy Unrestricted $(SolutionDir)scripts\Set-Version.ps1 -InputFile $(SolutionDir)tools\nuget\ebpf-for-windows.nuspec.in -OutputFile $(OutDir)ebpf-for-windows.nuspec
|
||||
NuGet.exe pack $(OutDir)ebpf-for-windows.nuspec -OutputDirectory $(OutDir)</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='NativeOnlyDebug|x64'">powershell -NonInteractive -ExecutionPolicy Unrestricted $(SolutionDir)scripts\Set-Version.ps1 -InputFile $(SolutionDir)tools\nuget\ebpf-for-windows.nuspec.in -OutputFile $(OutDir)ebpf-for-windows.nuspec
|
||||
NuGet.exe pack $(OutDir)ebpf-for-windows.nuspec -OutputDirectory $(OutDir)</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">eBPF-for-Windows.2022.4.22.nupkg</Outputs>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='NativeOnlyDebug|x64'">eBPF-for-Windows.2022.4.22.nupkg</Outputs>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">eBPF-for-Windows.2022.4.22.nupkg</Outputs>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='NativeOnlyRelease|x64'">eBPF-for-Windows.2022.4.22.nupkg</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">powershell -NonInteractive -ExecutionPolicy Unrestricted $(SolutionDir)scripts\Set-Version.ps1 -InputFile $(SolutionDir)tools\nuget\ebpf-for-windows.nuspec.in -OutputFile $(OutDir)ebpf-for-windows.nuspec
|
||||
NuGet.exe pack $(OutDir)ebpf-for-windows.nuspec -OutputDirectory $(OutDir)</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='NativeOnlyRelease|x64'">powershell -NonInteractive -ExecutionPolicy Unrestricted $(SolutionDir)scripts\Set-Version.ps1 -InputFile $(SolutionDir)tools\nuget\ebpf-for-windows.nuspec.in -OutputFile $(OutDir)ebpf-for-windows.nuspec
|
||||
NuGet.exe pack $(OutDir)ebpf-for-windows.nuspec -OutputDirectory $(OutDir)</Command>
|
||||
<Outputs>$(OutDir)eBPF-for-Windows.$(Platform).0.20.0.nupkg</Outputs>
|
||||
<Command>
|
||||
powershell -NonInteractive -ExecutionPolicy Unrestricted $(SolutionDir)scripts\Set-Version.ps1 -InputFile $(SolutionDir)tools\nuget\ebpf-for-windows.nuspec.in -OutputFile $(OutDir)ebpf-for-windows.$(Platform).nuspec -Architecture $(Platform)
|
||||
powershell -NonInteractive -ExecutionPolicy Unrestricted $(SolutionDir)scripts\Set-Version.ps1 -InputFile $(SolutionDir)tools\nuget\ebpf-for-windows.props.in -OutputFile $(OutDir)ebpf-for-windows.$(Platform).props -Architecture $(Platform)
|
||||
NuGet.exe pack $(OutDir)ebpf-for-windows.$(Platform).nuspec -OutputDirectory $(OutDir)</Command>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
|
Загрузка…
Ссылка в новой задаче