127 строки
6.6 KiB
XML
127 строки
6.6 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!--
|
|
Copyright (c) eBPF for Windows contributors
|
|
SPDX-License-Identifier: MIT
|
|
-->
|
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" TreatAsLocalProperty="Platform">
|
|
<PropertyGroup Label="Version">
|
|
<EbpfVersion_Major>0</EbpfVersion_Major>
|
|
<EbpfVersion_Minor>20</EbpfVersion_Minor>
|
|
<EbpfVersion_Revision>0</EbpfVersion_Revision>
|
|
<EbpfVersion>$(EbpfVersion_Major).$(EbpfVersion_Minor).$(EbpfVersion_Revision)</EbpfVersion>
|
|
</PropertyGroup>
|
|
<ItemGroup Label="ProjectConfigurations">
|
|
<ProjectConfiguration Include="Debug|x64">
|
|
<Configuration>Debug</Configuration>
|
|
<Platform>x64</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="NativeOnlyDebug|x64">
|
|
<Configuration>NativeOnlyDebug</Configuration>
|
|
<Platform>x64</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="FuzzerDebug|x64">
|
|
<Configuration>FuzzerDebug</Configuration>
|
|
<Platform>x64</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="NativeOnlyRelease|x64">
|
|
<Configuration>NativeOnlyRelease</Configuration>
|
|
<Platform>x64</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="Release|x64">
|
|
<Configuration>Release</Configuration>
|
|
<Platform>x64</Platform>
|
|
</ProjectConfiguration>
|
|
</ItemGroup>
|
|
<PropertyGroup Condition="'$(Analysis)'=='True'">
|
|
<RunCodeAnalysis>true</RunCodeAnalysis>
|
|
<DisableAnalyzeExternal>true</DisableAnalyzeExternal>
|
|
<CodeAnalysisRuleSet>$(SolutionDir)Analyze.default.ruleset</CodeAnalysisRuleSet>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(AddressSanitizer)'=='True'">
|
|
<EnableASAN>true</EnableASAN>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)'=='NativeOnlyDebug' Or '$(Configuration)'=='NativeOnlyRelease'">
|
|
<DisableJIT>true</DisableJIT>
|
|
<DisableInterpreter>true</DisableInterpreter>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)'=='Release' Or '$(Configuration)'=='NativeOnlyRelease'">
|
|
<FuzzerLibs>libsancov.lib;clang_rt.fuzzer_MD-x86_64.lib</FuzzerLibs>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)'=='Debug' Or '$(Configuration)'=='FuzzerDebug' Or '$(Configuration)'=='NativeOnlyDebug'">
|
|
<FuzzerLibs>libsancov.lib;clang_rt.fuzzer_MDd-x86_64.lib</FuzzerLibs>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Fuzzer)'=='Release|True'">
|
|
<EnableASAN>true</EnableASAN>
|
|
<AdditionalOptions>/fsanitize-coverage=inline-bool-flag /fsanitize-coverage=edge /fsanitize-coverage=trace-cmp /fsanitize-coverage=trace-div /ZH:SHA_256 %(AdditionalOptions)</AdditionalOptions>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Fuzzer)'=='Debug|True' Or '$(Configuration)'=='FuzzerDebug'">
|
|
<EnableASAN>true</EnableASAN>
|
|
<AdditionalOptions>/fsanitize-coverage=inline-bool-flag /fsanitize-coverage=edge /fsanitize-coverage=trace-cmp /fsanitize-coverage=trace-div /ZH:SHA_256 %(AdditionalOptions)</AdditionalOptions>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Fuzzer)'!='True' And '$(Configuration)'!='FuzzerDebug'">
|
|
<SpectreMitigation>Spectre</SpectreMitigation>
|
|
</PropertyGroup>
|
|
<PropertyGroup>
|
|
<ClangExec>"$(VsInstallRoot)\VC\Tools\Llvm\bin\clang.exe"</ClangExec>
|
|
</PropertyGroup>
|
|
<ItemDefinitionGroup>
|
|
<ClCompile>
|
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
<WarningLevel>Level4</WarningLevel>
|
|
<LanguageStandard>stdcpp20</LanguageStandard>
|
|
<TreatWarningAsError>true</TreatWarningAsError>
|
|
<SDLCheck>true</SDLCheck>
|
|
<SupportJustMyCode>false</SupportJustMyCode>
|
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
<ControlFlowGuard>Guard</ControlFlowGuard>
|
|
<AdditionalOptions>/ZH:SHA_256 /we4062 %(AdditionalOptions)</AdditionalOptions>
|
|
<AdditionalIncludeDirectories>$(WindowsSdkDir)Include\10.0.22621.0\km;$(SolutionDir)external\ebpf-verifier\build\packages\boost\lib\native\include;$(OutDir)</AdditionalIncludeDirectories>
|
|
</ClCompile>
|
|
<Link>
|
|
<CETCompat Condition="'$(Platform)'=='x64'">true</CETCompat>
|
|
<AdditionalLibraryDirectories Condition="'$(Platform)'=='x64'">$(VC_LibraryPath_VC_x64_Desktop);%(Link.AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
<ItemDefinitionGroup Condition="'$(DisableJIT)'=='True'">
|
|
<ClCompile>
|
|
<PreprocessorDefinitions>CONFIG_BPF_JIT_DISABLED;%(ClCompile.PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
</ItemDefinitionGroup>
|
|
<ItemDefinitionGroup Condition="'$(DisableInterpreter)'=='True'">
|
|
<ClCompile>
|
|
<PreprocessorDefinitions>CONFIG_BPF_INTERPRETER_DISABLED;%(ClCompile.PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
</ItemDefinitionGroup>
|
|
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release' Or '$(Configuration)'=='NativeOnlyRelease'">
|
|
<ClCompile>
|
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
|
<WholeProgramOptimization Condition="'$(EnableAsan)' != 'true'">true</WholeProgramOptimization>
|
|
<!-- /Ob3 enable hinting to link time code generation that a function should be inlined -->
|
|
<AdditionalOptions>/Ob3 %(AdditionalOptions)</AdditionalOptions>
|
|
</ClCompile>
|
|
<Link>
|
|
<AdditionalOptions Condition="'$(EnableASAN)' != 'true'">/spgo %(AdditionalOptions)</AdditionalOptions>
|
|
<LinkTimeCodeGeneration Condition="'$(EnableAsan)' != 'true'">UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug' Or '$(Configuration)'=='FuzzerDebug' Or '$(Configuration)'=='NativeOnlyDebug'">
|
|
<ClCompile>
|
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
|
</ClCompile>
|
|
</ItemDefinitionGroup>
|
|
<!-- Add the resource to applications, dlls, and drivers except if the resource file doesn't exist-->
|
|
<ItemGroup Condition="('$(ConfigurationType)'=='Application' Or '$(ConfigurationType)'=='DynamicLibrary' Or '$(ConfigurationType)'=='Driver') And Exists('$(SolutionDir)resource\ebpf_resource.rc')">
|
|
<ResourceCompile Include="$(SolutionDir)resource\ebpf_resource.rc">
|
|
<AdditionalIncludeDirectories>$(SolutionDir)include;$(OutDir)</AdditionalIncludeDirectories>
|
|
</ResourceCompile>
|
|
</ItemGroup>
|
|
<ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
|
|
<ClCompile>
|
|
<PreprocessorDefinitions>_AMD64_;_WIN32_WINNT=0x0a00;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
</ItemDefinitionGroup>
|
|
</Project>
|