Add ARM64 compiling support
Signed-off-by: Simon Rozman <simon@rozman.si>
This commit is contained in:
parent
afef39616c
commit
84f3c3e455
2
.gitignore
vendored
2
.gitignore
vendored
@ -7,6 +7,8 @@
|
||||
/x86/Debug
|
||||
/amd64/Release
|
||||
/amd64/Debug
|
||||
/arm64/Release
|
||||
/arm64/Debug
|
||||
|
||||
# Static Driver Verifier Output
|
||||
/sdv
|
||||
|
7
Makefile
7
Makefile
@ -16,8 +16,11 @@ PLAT_MSBUILD=Win32
|
||||
!ELSEIF "$(PLAT)" == "amd64" || "$(PLAT)" == "AMD64"
|
||||
PLAT=amd64
|
||||
PLAT_MSBUILD=x64
|
||||
!ELSEIF "$(PLAT)" == "arm64" || "$(PLAT)" == "ARM64"
|
||||
PLAT=arm64
|
||||
PLAT_MSBUILD=ARM64
|
||||
!ELSE
|
||||
!ERROR Invalid platform "$(PLAT)". PLAT must be "x86" or "amd64".
|
||||
!ERROR Invalid platform "$(PLAT)". PLAT must be "x86", "amd64", or "arm64".
|
||||
!ENDIF
|
||||
OUTPUT_DIR=$(PLAT)\$(CFG)
|
||||
MSBUILD_FLAGS=/p:Configuration="$(CFG)" /p:Platform="$(PLAT_MSBUILD)" /m /v:minimal /nologo
|
||||
@ -28,7 +31,7 @@ build ::
|
||||
clean ::
|
||||
msbuild.exe "wintun.vcxproj" /t:Clean $(MSBUILD_FLAGS)
|
||||
|
||||
!IF "$(CFG)" == "Release"
|
||||
!IF "$(CFG)" == "Release" && "$(PLAT)" != "arm64"
|
||||
|
||||
dvl :: "wintun.DVL.XML"
|
||||
|
||||
|
@ -55,6 +55,8 @@ x86 Debug | `x86\Debug\wintun`
|
||||
x86 Release | `x86\Release\wintun`
|
||||
AMD64 Debug | `amd64\Debug\wintun`
|
||||
AMD64 Release | `amd64\Release\wintun`
|
||||
ARM64 Debug | `arm64\Debug\wintun`
|
||||
ARM64 Release | `arm64\Release\wintun`
|
||||
|
||||
### Properties
|
||||
|
||||
@ -62,7 +64,7 @@ Properties may be defined as environment variables, or specified on the `nmake`
|
||||
|
||||
- `CFG`: Specifies configuration to build or clean. May be `Debug` or `Release` (default).
|
||||
|
||||
- `PLAT`: Specifies driver platform to build. May be `x86` or `amd64` (default).
|
||||
- `PLAT`: Specifies driver platform to build. May be `x86` or `amd64` (default), or `arm64`.
|
||||
|
||||
|
||||
## Usage
|
||||
|
@ -1,6 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@ -9,6 +13,10 @@
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@ -49,6 +57,14 @@
|
||||
<DriverType>WDM</DriverType>
|
||||
<SpectreMitigation>false</SpectreMitigation>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
|
||||
<TargetVersion>Windows10</TargetVersion>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
|
||||
<ConfigurationType>Driver</ConfigurationType>
|
||||
<DriverType>WDM</DriverType>
|
||||
<SpectreMitigation>false</SpectreMitigation>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<TargetVersion>Windows8</TargetVersion>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
@ -57,6 +73,14 @@
|
||||
<DriverType>WDM</DriverType>
|
||||
<SpectreMitigation>false</SpectreMitigation>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
|
||||
<TargetVersion>Windows10</TargetVersion>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
|
||||
<ConfigurationType>Driver</ConfigurationType>
|
||||
<DriverType>WDM</DriverType>
|
||||
<SpectreMitigation>false</SpectreMitigation>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
@ -69,9 +93,15 @@
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<WintunVersionMaj>0</WintunVersionMaj>
|
||||
<WintunVersionMin>0</WintunVersionMin>
|
||||
@ -100,12 +130,24 @@
|
||||
<IntDir>amd64\$(ConfigurationName)\</IntDir>
|
||||
<OutDir>amd64\$(ConfigurationName)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
|
||||
<RunCodeAnalysis>true</RunCodeAnalysis>
|
||||
<CodeAnalysisRuleSet>$(WDKContentRoot)CodeAnalysis\DriverMustFixRules.ruleset</CodeAnalysisRuleSet>
|
||||
<IntDir>arm64\$(ConfigurationName)\</IntDir>
|
||||
<OutDir>arm64\$(ConfigurationName)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<RunCodeAnalysis>true</RunCodeAnalysis>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<IntDir>amd64\$(ConfigurationName)\</IntDir>
|
||||
<OutDir>amd64\$(ConfigurationName)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
|
||||
<RunCodeAnalysis>true</RunCodeAnalysis>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<IntDir>arm64\$(ConfigurationName)\</IntDir>
|
||||
<OutDir>arm64\$(ConfigurationName)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>WINTUN_VERSION_MAJ=$(WintunVersionMaj);WINTUN_VERSION_MIN=$(WintunVersionMin);WINTUN_VERSION_REV=$(WintunVersionRev);WINTUN_VERSION_BUILD=$(WintunVersionBuild);WINTUN_VERSION_STR="$(WintunVersionStr)";NDIS_MINIPORT_DRIVER=1;NDIS630_MINIPORT=1;NDIS_WDM=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@ -142,7 +184,9 @@
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" />
|
||||
<ItemGroup>
|
||||
<ClCompile Include="wintun.c" />
|
||||
</ItemGroup>
|
||||
|
Loading…
Reference in New Issue
Block a user