77459a130a
This adds the ARM driver to the list of Wintun drivers we compile for future deployment. Since we're not in position to test it in the real world, any feedback is greatly appreciated. Suggested-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Simon Rozman <simon@rozman.si>
129 lines
6.1 KiB
XML
129 lines
6.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!--
|
|
SPDX-License-Identifier: GPL-2.0
|
|
|
|
Copyright (C) 2019 WireGuard LLC. All Rights Reserved.
|
|
-->
|
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
|
|
<PropertyGroup>
|
|
<Configuration Condition="'$(Configuration)'==''">Release</Configuration>
|
|
</PropertyGroup>
|
|
|
|
<!--
|
|
General Properties
|
|
-->
|
|
<Import Project="wintun.props" />
|
|
<Import Project="wintun.vcxproj.user" Condition="exists('wintun.vcxproj.user')" />
|
|
|
|
<Target Name="Build" DependsOnTargets="Driver-x86;Driver-amd64;Driver-arm;Driver-arm64" />
|
|
<Target Name="Clean">
|
|
<RemoveDir Directories="$(Configuration)\amd64\" />
|
|
<RemoveDir Directories="$(Configuration)\arm\" />
|
|
<RemoveDir Directories="$(Configuration)\arm64\" />
|
|
<RemoveDir Directories="$(Configuration)\x86\" />
|
|
<RemoveDir Directories="$(SDVDir)" />
|
|
<RemoveDir Directories="$(DistributionDir)" />
|
|
<Delete Files="smvbuild.log;smvstats.txt;wintun.DVL.XML" />
|
|
</Target>
|
|
<Target Name="Rebuild" DependsOnTargets="Clean;Build" />
|
|
|
|
<!--
|
|
Driver Building
|
|
Note: Use explicit Inputs/Outputs as WindowsDriver.Common.targets triggers driver re-packaging and signing on every invocation.
|
|
-->
|
|
<PropertyGroup>
|
|
<DriverInputs>atomic.h;undocumented.h;wintun.c;wintun.inf;wintun.props;wintun.rc;wintun.vcxproj;$(DriverInputs)</DriverInputs>
|
|
</PropertyGroup>
|
|
<Target Name="Driver-x86"
|
|
Outputs="$(Configuration)\x86\wintun\wintun.sys;$(Configuration)\x86\wintun\wintun.inf;$(Configuration)\x86\wintun\wintun.cat"
|
|
Inputs="$(DriverInputs)">
|
|
<MSBuild Projects="wintun.vcxproj" Targets="Build" Properties="Configuration=$(Configuration);Platform=Win32" />
|
|
</Target>
|
|
<Target Name="Driver-amd64"
|
|
Outputs="$(Configuration)\amd64\wintun\wintun.sys;$(Configuration)\amd64\wintun\wintun.inf;$(Configuration)\amd64\wintun\wintun.cat"
|
|
Inputs="$(DriverInputs)">
|
|
<MSBuild Projects="wintun.vcxproj" Targets="Build" Properties="Configuration=$(Configuration);Platform=x64" />
|
|
</Target>
|
|
<Target Name="Driver-arm"
|
|
Outputs="$(Configuration)\arm\wintun\wintun.sys;$(Configuration)\arm\wintun\wintun.inf;$(Configuration)\arm\wintun\wintun.cat"
|
|
Inputs="$(DriverInputs)">
|
|
<MSBuild Projects="wintun.vcxproj" Targets="Build" Properties="Configuration=$(Configuration);Platform=ARM" />
|
|
</Target>
|
|
<Target Name="Driver-arm64"
|
|
Outputs="$(Configuration)\arm64\wintun\wintun.sys;$(Configuration)\arm64\wintun\wintun.inf;$(Configuration)\arm64\wintun\wintun.cat"
|
|
Inputs="$(DriverInputs)">
|
|
<MSBuild Projects="wintun.vcxproj" Targets="Build" Properties="Configuration=$(Configuration);Platform=ARM64" />
|
|
</Target>
|
|
|
|
<!--
|
|
Static Driver Verifier
|
|
-->
|
|
<Target Name="SDV" Outputs="$(SDVDir)SDV.DVL.xml;$(Configuration)\amd64\vc.nativecodeanalysis.all.xml">
|
|
<MSBuild Projects="wintun.vcxproj" Targets="sdv" Properties="Inputs=/check:*;Configuration=$(Configuration);Platform=x64" />
|
|
</Target>
|
|
<Target Name="SDVView">
|
|
<MSBuild Projects="wintun.vcxproj" Targets="sdv" Properties="Inputs=/view;Configuration=$(Configuration);Platform=x64" />
|
|
</Target>
|
|
|
|
<!--
|
|
Driver Verification Log
|
|
-->
|
|
<Target Name="DVL" DependsOnTargets="SDV"
|
|
Outputs="wintun.DVL.XML"
|
|
Inputs="$(SDVDir)SDV.DVL.xml;$(Configuration)\amd64\vc.nativecodeanalysis.all.xml">
|
|
<MSBuild Projects="wintun.vcxproj" Targets="dvl" Properties="Configuration=$(Configuration);Platform=x64" />
|
|
</Target>
|
|
|
|
<!--
|
|
wintun.dll Building
|
|
-->
|
|
<Target Name="Dll-x86"
|
|
Outputs="$(Configuration)\x86\wintun.dll"
|
|
DependsOnTargets="Dll-amd64;Dll-arm64">
|
|
<MSBuild Projects="api\api.vcxproj" Targets="Build" Properties="Configuration=$(Configuration);Platform=Win32" />
|
|
</Target>
|
|
<Target Name="Dll-amd64"
|
|
Outputs="$(Configuration)\amd64\wintun.dll">
|
|
<MSBuild Projects="api\api.vcxproj" Targets="Build" Properties="Configuration=$(Configuration);Platform=x64" />
|
|
</Target>
|
|
<Target Name="Dll-arm"
|
|
Outputs="$(Configuration)\arm\wintun.dll"
|
|
DependsOnTargets="Dll-arm64">
|
|
<MSBuild Projects="api\api.vcxproj" Targets="Build" Properties="Configuration=$(Configuration);Platform=ARM" />
|
|
</Target>
|
|
<Target Name="Dll-arm64"
|
|
Outputs="$(Configuration)\arm64\wintun.dll">
|
|
<MSBuild Projects="api\api.vcxproj" Targets="Build" Properties="Configuration=$(Configuration);Platform=ARM64" />
|
|
</Target>
|
|
|
|
<!--
|
|
Zip Building
|
|
-->
|
|
<PropertyGroup>
|
|
<ZipTargetPath>$(DistributionDir)wintun-$(WintunVersionStr).zip</ZipTargetPath>
|
|
<ZipIntDir>$(DistributionDir).tmp\</ZipIntDir>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<ZipFilesSrc Include="COPYING" /><ZipFilesDst Include="$(ZipIntDir)wintun\COPYING" />
|
|
<ZipFilesSrc Include="README.md" /><ZipFilesDst Include="$(ZipIntDir)wintun\README.md" />
|
|
<ZipFilesSrc Include="api\wintun.h" /><ZipFilesDst Include="$(ZipIntDir)wintun\include\wintun.h" />
|
|
<ZipFilesSrc Include="$(Configuration)\amd64\wintun.dll" /><ZipFilesDst Include="$(ZipIntDir)wintun\bin\amd64\wintun.dll" />
|
|
<ZipFilesSrc Include="$(Configuration)\arm\wintun.dll" /><ZipFilesDst Include="$(ZipIntDir)wintun\bin\arm\wintun.dll" />
|
|
<ZipFilesSrc Include="$(Configuration)\arm64\wintun.dll" /><ZipFilesDst Include="$(ZipIntDir)wintun\bin\arm64\wintun.dll" />
|
|
<ZipFilesSrc Include="$(Configuration)\x86\wintun.dll" /><ZipFilesDst Include="$(ZipIntDir)wintun\bin\x86\wintun.dll" />
|
|
</ItemGroup>
|
|
<Target Name="Zip"
|
|
Inputs="@(ZipFilesSrc)"
|
|
Outputs="$(ZipTargetPath)"
|
|
DependsOnTargets="Dll-x86;Dll-amd64;Dll-arm;Dll-arm64">
|
|
<RemoveDir Directories="$(ZipIntDir)" />
|
|
<Copy SourceFiles="@(ZipFilesSrc)" DestinationFiles="@(ZipFilesDst)" />
|
|
<ZipDirectory DestinationFile="$(ZipTargetPath)" Overwrite="true" SourceDirectory="$(ZipIntDir)" />
|
|
<RemoveDir Directories="$(ZipIntDir)" />
|
|
<GetFileHash Files="$(ZipTargetPath)" Algorithm="SHA256" HashEncoding="hex">
|
|
<Output TaskParameter="Items" ItemName="InstallerLibraryHash" />
|
|
</GetFileHash>
|
|
<Message Text="SHA256("$(ZipTargetPath)") = @(InstallerLibraryHash->Metadata('FileHash')->ToLower())"/>
|
|
</Target>
|
|
</Project>
|