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
|
/x86/Debug
|
||||||
/amd64/Release
|
/amd64/Release
|
||||||
/amd64/Debug
|
/amd64/Debug
|
||||||
|
/arm64/Release
|
||||||
|
/arm64/Debug
|
||||||
|
|
||||||
# Static Driver Verifier Output
|
# Static Driver Verifier Output
|
||||||
/sdv
|
/sdv
|
||||||
|
7
Makefile
7
Makefile
@ -16,8 +16,11 @@ PLAT_MSBUILD=Win32
|
|||||||
!ELSEIF "$(PLAT)" == "amd64" || "$(PLAT)" == "AMD64"
|
!ELSEIF "$(PLAT)" == "amd64" || "$(PLAT)" == "AMD64"
|
||||||
PLAT=amd64
|
PLAT=amd64
|
||||||
PLAT_MSBUILD=x64
|
PLAT_MSBUILD=x64
|
||||||
|
!ELSEIF "$(PLAT)" == "arm64" || "$(PLAT)" == "ARM64"
|
||||||
|
PLAT=arm64
|
||||||
|
PLAT_MSBUILD=ARM64
|
||||||
!ELSE
|
!ELSE
|
||||||
!ERROR Invalid platform "$(PLAT)". PLAT must be "x86" or "amd64".
|
!ERROR Invalid platform "$(PLAT)". PLAT must be "x86", "amd64", or "arm64".
|
||||||
!ENDIF
|
!ENDIF
|
||||||
OUTPUT_DIR=$(PLAT)\$(CFG)
|
OUTPUT_DIR=$(PLAT)\$(CFG)
|
||||||
MSBUILD_FLAGS=/p:Configuration="$(CFG)" /p:Platform="$(PLAT_MSBUILD)" /m /v:minimal /nologo
|
MSBUILD_FLAGS=/p:Configuration="$(CFG)" /p:Platform="$(PLAT_MSBUILD)" /m /v:minimal /nologo
|
||||||
@ -28,7 +31,7 @@ build ::
|
|||||||
clean ::
|
clean ::
|
||||||
msbuild.exe "wintun.vcxproj" /t:Clean $(MSBUILD_FLAGS)
|
msbuild.exe "wintun.vcxproj" /t:Clean $(MSBUILD_FLAGS)
|
||||||
|
|
||||||
!IF "$(CFG)" == "Release"
|
!IF "$(CFG)" == "Release" && "$(PLAT)" != "arm64"
|
||||||
|
|
||||||
dvl :: "wintun.DVL.XML"
|
dvl :: "wintun.DVL.XML"
|
||||||
|
|
||||||
|
@ -55,6 +55,8 @@ x86 Debug | `x86\Debug\wintun`
|
|||||||
x86 Release | `x86\Release\wintun`
|
x86 Release | `x86\Release\wintun`
|
||||||
AMD64 Debug | `amd64\Debug\wintun`
|
AMD64 Debug | `amd64\Debug\wintun`
|
||||||
AMD64 Release | `amd64\Release\wintun`
|
AMD64 Release | `amd64\Release\wintun`
|
||||||
|
ARM64 Debug | `arm64\Debug\wintun`
|
||||||
|
ARM64 Release | `arm64\Release\wintun`
|
||||||
|
|
||||||
### Properties
|
### 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).
|
- `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
|
## Usage
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|ARM64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>ARM64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
@ -9,6 +13,10 @@
|
|||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
<Platform>x64</Platform>
|
<Platform>x64</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|ARM64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>ARM64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
@ -49,6 +57,14 @@
|
|||||||
<DriverType>WDM</DriverType>
|
<DriverType>WDM</DriverType>
|
||||||
<SpectreMitigation>false</SpectreMitigation>
|
<SpectreMitigation>false</SpectreMitigation>
|
||||||
</PropertyGroup>
|
</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">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
<TargetVersion>Windows8</TargetVersion>
|
<TargetVersion>Windows8</TargetVersion>
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
@ -57,6 +73,14 @@
|
|||||||
<DriverType>WDM</DriverType>
|
<DriverType>WDM</DriverType>
|
||||||
<SpectreMitigation>false</SpectreMitigation>
|
<SpectreMitigation>false</SpectreMitigation>
|
||||||
</PropertyGroup>
|
</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" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
@ -69,9 +93,15 @@
|
|||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
<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" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</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">
|
<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" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</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">
|
<PropertyGroup Label="UserMacros">
|
||||||
<WintunVersionMaj>0</WintunVersionMaj>
|
<WintunVersionMaj>0</WintunVersionMaj>
|
||||||
<WintunVersionMin>0</WintunVersionMin>
|
<WintunVersionMin>0</WintunVersionMin>
|
||||||
@ -100,12 +130,24 @@
|
|||||||
<IntDir>amd64\$(ConfigurationName)\</IntDir>
|
<IntDir>amd64\$(ConfigurationName)\</IntDir>
|
||||||
<OutDir>amd64\$(ConfigurationName)\</OutDir>
|
<OutDir>amd64\$(ConfigurationName)\</OutDir>
|
||||||
</PropertyGroup>
|
</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'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<RunCodeAnalysis>true</RunCodeAnalysis>
|
<RunCodeAnalysis>true</RunCodeAnalysis>
|
||||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
<IntDir>amd64\$(ConfigurationName)\</IntDir>
|
<IntDir>amd64\$(ConfigurationName)\</IntDir>
|
||||||
<OutDir>amd64\$(ConfigurationName)\</OutDir>
|
<OutDir>amd64\$(ConfigurationName)\</OutDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
|
||||||
|
<RunCodeAnalysis>true</RunCodeAnalysis>
|
||||||
|
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<IntDir>arm64\$(ConfigurationName)\</IntDir>
|
||||||
|
<OutDir>arm64\$(ConfigurationName)\</OutDir>
|
||||||
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<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>
|
<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)'=='Release|Win32'" />
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" />
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" />
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="wintun.c" />
|
<ClCompile Include="wintun.c" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
Loading…
Reference in New Issue
Block a user