mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00

This replaces the existing hashlib Blake2 module with a single implementation that uses HACL\*'s Blake2b/Blake2s implementations. We added support for all the modes exposed by the Python API, including tree hashing, leaf nodes, and so on. We ported and merged all of these changes upstream in HACL\*, added test vectors based on Python's existing implementation, and exposed everything needed for hashlib. This was joint work done with @R1kM. See the PR for much discussion and benchmarking details. TL;DR: On many systems, 8-50% faster (!) than `libb2`, on some systems it appeared 10-20% slower than `libb2`.
759 lines
41 KiB
XML
759 lines
41 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<ItemGroup Label="ProjectConfigurations">
|
|
<ProjectConfiguration Include="Debug|ARM">
|
|
<Configuration>Debug</Configuration>
|
|
<Platform>ARM</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="Debug|ARM64">
|
|
<Configuration>Debug</Configuration>
|
|
<Platform>ARM64</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="Debug|Win32">
|
|
<Configuration>Debug</Configuration>
|
|
<Platform>Win32</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="Debug|x64">
|
|
<Configuration>Debug</Configuration>
|
|
<Platform>x64</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="PGInstrument|ARM">
|
|
<Configuration>PGInstrument</Configuration>
|
|
<Platform>ARM</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="PGInstrument|ARM64">
|
|
<Configuration>PGInstrument</Configuration>
|
|
<Platform>ARM64</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="PGInstrument|Win32">
|
|
<Configuration>PGInstrument</Configuration>
|
|
<Platform>Win32</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="PGInstrument|x64">
|
|
<Configuration>PGInstrument</Configuration>
|
|
<Platform>x64</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="PGUpdate|ARM">
|
|
<Configuration>PGUpdate</Configuration>
|
|
<Platform>ARM</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="PGUpdate|ARM64">
|
|
<Configuration>PGUpdate</Configuration>
|
|
<Platform>ARM64</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="PGUpdate|Win32">
|
|
<Configuration>PGUpdate</Configuration>
|
|
<Platform>Win32</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="PGUpdate|x64">
|
|
<Configuration>PGUpdate</Configuration>
|
|
<Platform>x64</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="Release|ARM">
|
|
<Configuration>Release</Configuration>
|
|
<Platform>ARM</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="Release|ARM64">
|
|
<Configuration>Release</Configuration>
|
|
<Platform>ARM64</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="Release|Win32">
|
|
<Configuration>Release</Configuration>
|
|
<Platform>Win32</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="Release|x64">
|
|
<Configuration>Release</Configuration>
|
|
<Platform>x64</Platform>
|
|
</ProjectConfiguration>
|
|
</ItemGroup>
|
|
<PropertyGroup Label="Globals">
|
|
<ProjectGuid>{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}</ProjectGuid>
|
|
<RootNamespace>pythoncore</RootNamespace>
|
|
</PropertyGroup>
|
|
<Import Project="python.props" />
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
<PropertyGroup Label="Configuration">
|
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
<UseOfMfc>false</UseOfMfc>
|
|
</PropertyGroup>
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
<ImportGroup Label="ExtensionSettings">
|
|
</ImportGroup>
|
|
<PropertyGroup>
|
|
<KillPython>true</KillPython>
|
|
<RequirePGCFiles>true</RequirePGCFiles>
|
|
<IncludeExternals Condition="$(IncludeExternals) == '' and Exists('$(zlibDir)\zlib.h')">true</IncludeExternals>
|
|
<IncludeExternals Condition="$(IncludeExternals) == ''">false</IncludeExternals>
|
|
</PropertyGroup>
|
|
<ImportGroup Label="PropertySheets">
|
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
<Import Project="pyproject.props" />
|
|
</ImportGroup>
|
|
<PropertyGroup Label="UserMacros" />
|
|
<PropertyGroup>
|
|
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
|
<TargetName>$(PyDllName)</TargetName>
|
|
</PropertyGroup>
|
|
<PropertyGroup>
|
|
<CustomBuildBeforeTargets>Link</CustomBuildBeforeTargets>
|
|
</PropertyGroup>
|
|
<ItemDefinitionGroup>
|
|
<ClCompile>
|
|
<AdditionalOptions>/Zm200 %(AdditionalOptions)</AdditionalOptions>
|
|
<AdditionalIncludeDirectories>$(PySourcePath)Modules\_hacl\include;$(PySourcePath)Modules\_hacl\internal;$(PySourcePath)Python;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalIncludeDirectories Condition="$(IncludeExternals)">$(zlibDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<PreprocessorDefinitions>_USRDLL;Py_BUILD_CORE;Py_BUILD_CORE_BUILTIN;Py_ENABLE_SHARED;MS_DLL_ID="$(SysWinVer)";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<PreprocessorDefinitions Condition="$(IncludeExternals)">_Py_HAVE_ZLIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<PreprocessorDefinitions Condition="'$(UseJIT)' == 'true'">_Py_JIT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<PreprocessorDefinitions Condition="'$(UseTIER2)' != '' and '$(UseTIER2)' != '0'">_Py_TIER2=$(UseTIER2);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
<Link>
|
|
<AdditionalDependencies>version.lib;ws2_32.lib;pathcch.lib;bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
<ItemGroup>
|
|
<ClCompile Include="..\Modules\getpath.c">
|
|
<AdditionalIncludeDirectories>$(GeneratedFrozenModulesDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<PreprocessorDefinitions>
|
|
PREFIX=NULL;
|
|
EXEC_PREFIX=NULL;
|
|
VERSION=NULL;
|
|
VPATH="$(PyVPath)";
|
|
PYDEBUGEXT="$(PyDebugExt)";
|
|
PLATLIBDIR="DLLs";
|
|
%(PreprocessorDefinitions)
|
|
</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ClInclude Include="..\Include\Python.h" />
|
|
<ClInclude Include="..\Include\abstract.h" />
|
|
<ClInclude Include="..\Include\boolobject.h" />
|
|
<ClInclude Include="..\Include\bytearrayobject.h" />
|
|
<ClInclude Include="..\Include\bytesobject.h" />
|
|
<ClInclude Include="..\Include\ceval.h" />
|
|
<ClInclude Include="..\Include\codecs.h" />
|
|
<ClInclude Include="..\Include\compile.h" />
|
|
<ClInclude Include="..\Include\complexobject.h" />
|
|
<ClInclude Include="..\Include\critical_section.h" />
|
|
<ClInclude Include="..\Include\cpython\abstract.h" />
|
|
<ClInclude Include="..\Include\cpython\bytearrayobject.h" />
|
|
<ClInclude Include="..\Include\cpython\bytesobject.h" />
|
|
<ClInclude Include="..\Include\cpython\cellobject.h" />
|
|
<ClInclude Include="..\Include\cpython\ceval.h" />
|
|
<ClInclude Include="..\Include\cpython\classobject.h" />
|
|
<ClInclude Include="..\Include\cpython\code.h" />
|
|
<ClInclude Include="..\Include\cpython\compile.h" />
|
|
<ClInclude Include="..\Include\cpython\complexobject.h" />
|
|
<ClInclude Include="..\Include\cpython\context.h" />
|
|
<ClInclude Include="..\Include\cpython\critical_section.h" />
|
|
<ClInclude Include="..\Include\cpython\descrobject.h" />
|
|
<ClInclude Include="..\Include\cpython\dictobject.h" />
|
|
<ClInclude Include="..\Include\cpython\fileobject.h" />
|
|
<ClInclude Include="..\Include\cpython\fileutils.h" />
|
|
<ClInclude Include="..\Include\cpython\floatobject.h" />
|
|
<ClInclude Include="..\Include\cpython\frameobject.h" />
|
|
<ClInclude Include="..\Include\cpython\funcobject.h" />
|
|
<ClInclude Include="..\Include\cpython\genobject.h" />
|
|
<ClInclude Include="..\Include\cpython\import.h" />
|
|
<ClInclude Include="..\Include\cpython\initconfig.h" />
|
|
<ClInclude Include="..\Include\cpython\listobject.h" />
|
|
<ClInclude Include="..\Include\cpython\lock.h" />
|
|
<ClInclude Include="..\Include\cpython\longintrepr.h" />
|
|
<ClInclude Include="..\Include\cpython\longobject.h" />
|
|
<ClInclude Include="..\Include\cpython\memoryobject.h" />
|
|
<ClInclude Include="..\Include\cpython\methodobject.h" />
|
|
<ClInclude Include="..\Include\cpython\modsupport.h" />
|
|
<ClInclude Include="..\Include\cpython\object.h" />
|
|
<ClInclude Include="..\Include\cpython\objimpl.h" />
|
|
<ClInclude Include="..\Include\cpython\odictobject.h" />
|
|
<ClInclude Include="..\Include\cpython\parser_interface.h" />
|
|
<ClInclude Include="..\Include\cpython\picklebufobject.h" />
|
|
<ClInclude Include="..\Include\cpython\pyarena.h" />
|
|
<ClInclude Include="..\Include\cpython\pyatomic.h" />
|
|
<ClInclude Include="..\Include\cpython\pyatomic_msc.h" />
|
|
<ClInclude Include="..\Include\cpython\pyctype.h" />
|
|
<ClInclude Include="..\Include\cpython\pydebug.h" />
|
|
<ClInclude Include="..\Include\cpython\pyerrors.h" />
|
|
<ClInclude Include="..\Include\cpython\pyfpe.h" />
|
|
<ClInclude Include="..\Include\cpython\pyframe.h" />
|
|
<ClInclude Include="..\Include\cpython\pyhash.h" />
|
|
<ClInclude Include="..\Include\cpython\pylifecycle.h" />
|
|
<ClInclude Include="..\Include\cpython\pymem.h" />
|
|
<ClInclude Include="..\Include\cpython\pystate.h" />
|
|
<ClInclude Include="..\Include\cpython\pystats.h" />
|
|
<ClInclude Include="..\Include\cpython\pythonrun.h" />
|
|
<ClInclude Include="..\Include\cpython\pythread.h" />
|
|
<ClInclude Include="..\Include\cpython\setobject.h" />
|
|
<ClInclude Include="..\Include\cpython\sysmodule.h" />
|
|
<ClInclude Include="..\Include\cpython\traceback.h" />
|
|
<ClInclude Include="..\Include\cpython\tracemalloc.h" />
|
|
<ClInclude Include="..\Include\cpython\tupleobject.h" />
|
|
<ClInclude Include="..\Include\cpython\unicodeobject.h" />
|
|
<ClInclude Include="..\Include\cpython\warnings.h" />
|
|
<ClInclude Include="..\Include\cpython\weakrefobject.h" />
|
|
<ClInclude Include="..\Include\datetime.h" />
|
|
<ClInclude Include="..\Include\descrobject.h" />
|
|
<ClInclude Include="..\Include\dictobject.h" />
|
|
<ClInclude Include="..\Include\dynamic_annotations.h" />
|
|
<ClInclude Include="..\Include\enumobject.h" />
|
|
<ClInclude Include="..\Include\errcode.h" />
|
|
<ClInclude Include="..\Include\fileobject.h" />
|
|
<ClInclude Include="..\Include\fileutils.h" />
|
|
<ClInclude Include="..\Include\floatobject.h" />
|
|
<ClInclude Include="..\Include\frameobject.h" />
|
|
<ClInclude Include="..\Include\import.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_abstract.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_asdl.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_ast.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_ast_state.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_atexit.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_backoff.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_bitutils.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_brc.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_bytes_methods.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_bytesobject.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_call.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_capsule.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_cell.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_ceval.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_ceval_state.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_cfg.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_code.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_codecs.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_compile.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_complexobject.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_condvar.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_context.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_critical_section.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_crossinterp.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_descrobject.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_dict.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_dict_state.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_dtoa.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_exceptions.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_faulthandler.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_fileutils.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_fileutils_windows.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_floatobject.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_format.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_frame.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_freelist.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_freelist_state.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_function.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_gc.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_genobject.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_getopt.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_gil.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_global_objects.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_global_objects_fini_generated.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_hamt.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_hashtable.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_identifier.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_import.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_importdl.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_initconfig.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_instruction_sequence.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_interp.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_intrinsics.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_jit.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_list.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_llist.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_lock.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_long.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_modsupport.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_moduleobject.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_namespace.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_object.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_object_alloc.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_object_deferred.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_object_state.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_obmalloc.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_obmalloc_init.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_optimizer.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_parking_lot.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_pathconfig.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_pyarena.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_pyatomic_ft_wrappers.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_pyerrors.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_pyhash.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_pylifecycle.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_pymem.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_pymem_init.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_pystate.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_pystats.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_pythonrun.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_pythread.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_qsbr.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_range.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_runtime.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_runtime_init.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_runtime_init_generated.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_semaphore.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_setobject.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_signal.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_sliceobject.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_strhex.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_structseq.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_sysmodule.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_symtable.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_stackref.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_time.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_token.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_traceback.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_tracemalloc.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_tstate.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_tuple.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_typeid.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_typeobject.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_typevarobject.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_ucnhash.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_unionobject.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_unicodeobject.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_unicodeobject_generated.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_warnings.h" />
|
|
<ClInclude Include="..\Include\internal\pycore_weakref.h" />
|
|
<ClInclude Include="..\Include\intrcheck.h" />
|
|
<ClInclude Include="..\Include\iterobject.h" />
|
|
<ClInclude Include="..\Include\listobject.h" />
|
|
<ClInclude Include="..\Include\lock.h" />
|
|
<ClInclude Include="..\Include\longobject.h" />
|
|
<ClInclude Include="..\Include\marshal.h" />
|
|
<ClInclude Include="..\Include\memoryobject.h" />
|
|
<ClInclude Include="..\Include\methodobject.h" />
|
|
<ClInclude Include="..\Include\internal\mimalloc\mimalloc\atomic.h" />
|
|
<ClInclude Include="..\Include\internal\mimalloc\mimalloc\internal.h" />
|
|
<ClInclude Include="..\Include\internal\mimalloc\mimalloc\prim.h" />
|
|
<ClInclude Include="..\Include\internal\mimalloc\mimalloc\track.h" />
|
|
<ClInclude Include="..\Include\internal\mimalloc\mimalloc\types.h" />
|
|
<ClInclude Include="..\Include\internal\mimalloc\mimalloc.h" />
|
|
<ClInclude Include="..\Include\modsupport.h" />
|
|
<ClInclude Include="..\Include\moduleobject.h" />
|
|
<ClInclude Include="..\Include\object.h" />
|
|
<ClInclude Include="..\Include\objimpl.h" />
|
|
<ClInclude Include="..\Include\opcode.h" />
|
|
<ClInclude Include="..\Include\osdefs.h" />
|
|
<ClInclude Include="..\Include\osmodule.h" />
|
|
<ClInclude Include="..\Include\patchlevel.h" />
|
|
<ClInclude Include="..\Include\py_curses.h" />
|
|
<ClInclude Include="..\Include\pyatomic.h" />
|
|
<ClInclude Include="..\Include\pybuffer.h" />
|
|
<ClInclude Include="..\Include\pycapsule.h" />
|
|
<ClInclude Include="..\Include\pyerrors.h" />
|
|
<ClInclude Include="..\Include\pyexpat.h" />
|
|
<ClInclude Include="..\Include\pyframe.h" />
|
|
<ClInclude Include="..\Include\pyhash.h" />
|
|
<ClInclude Include="..\Include\pylifecycle.h" />
|
|
<ClInclude Include="..\Include\pymacro.h" />
|
|
<ClInclude Include="..\Include\pymath.h" />
|
|
<ClInclude Include="..\Include\pymem.h" />
|
|
<ClInclude Include="..\Include\pyport.h" />
|
|
<ClInclude Include="..\Include\pystate.h" />
|
|
<ClInclude Include="..\Include\pystats.h" />
|
|
<ClInclude Include="..\Include\pystrcmp.h" />
|
|
<ClInclude Include="..\Include\pystrtod.h" />
|
|
<ClInclude Include="..\Include\pythonrun.h" />
|
|
<ClInclude Include="..\Include\pythread.h" />
|
|
<ClInclude Include="..\Include\pytypedefs.h" />
|
|
<ClInclude Include="..\Include\rangeobject.h" />
|
|
<ClInclude Include="..\Include\refcount.h" />
|
|
<ClInclude Include="..\Include\setobject.h" />
|
|
<ClInclude Include="..\Include\sliceobject.h" />
|
|
<ClInclude Include="..\Include\structmember.h" />
|
|
<ClInclude Include="..\Include\structseq.h" />
|
|
<ClInclude Include="..\Include\symtable.h" />
|
|
<ClInclude Include="..\Include\sysmodule.h" />
|
|
<ClInclude Include="..\Include\traceback.h" />
|
|
<ClInclude Include="..\Include\tupleobject.h" />
|
|
<ClInclude Include="..\Include\unicodeobject.h" />
|
|
<ClInclude Include="..\Include\weakrefobject.h" />
|
|
<ClInclude Include="..\Modules\_math.h" />
|
|
<ClInclude Include="..\Modules\hashtable.h" />
|
|
<ClInclude Include="..\Modules\rotatingtree.h" />
|
|
<ClInclude Include="..\Modules\_io\_iomodule.h" />
|
|
<ClInclude Include="..\Modules\cjkcodecs\alg_jisx0201.h" />
|
|
<ClInclude Include="..\Modules\cjkcodecs\cjkcodecs.h" />
|
|
<ClInclude Include="..\Modules\cjkcodecs\emu_jisx0213_2000.h" />
|
|
<ClInclude Include="..\Modules\cjkcodecs\mappings_cn.h" />
|
|
<ClInclude Include="..\Modules\cjkcodecs\mappings_hk.h" />
|
|
<ClInclude Include="..\Modules\cjkcodecs\mappings_jisx0213_pair.h" />
|
|
<ClInclude Include="..\Modules\cjkcodecs\mappings_jp.h" />
|
|
<ClInclude Include="..\Modules\cjkcodecs\mappings_kr.h" />
|
|
<ClInclude Include="..\Modules\cjkcodecs\mappings_tw.h" />
|
|
<ClInclude Include="..\Modules\cjkcodecs\multibytecodec.h" />
|
|
<ClInclude Include="..\Objects\stringlib\count.h" />
|
|
<ClInclude Include="..\Objects\stringlib\fastsearch.h" />
|
|
<ClInclude Include="..\Objects\stringlib\find.h" />
|
|
<ClInclude Include="..\Objects\stringlib\partition.h" />
|
|
<ClInclude Include="..\Objects\stringlib\replace.h" />
|
|
<ClInclude Include="..\Objects\stringlib\split.h" />
|
|
<ClInclude Include="..\Objects\unicodetype_db.h" />
|
|
<ClInclude Include="..\Parser\lexer\state.h" />
|
|
<ClInclude Include="..\Parser\lexer\lexer.h" />
|
|
<ClInclude Include="..\Parser\lexer\buffer.h" />
|
|
<ClInclude Include="..\Parser\tokenizer\helpers.h" />
|
|
<ClInclude Include="..\Parser\tokenizer\tokenizer.h" />
|
|
<ClInclude Include="..\Parser\string_parser.h" />
|
|
<ClInclude Include="..\Parser\pegen.h" />
|
|
<ClInclude Include="..\PC\errmap.h" />
|
|
<ClInclude Include="..\PC\pyconfig.h.in" />
|
|
<ClInclude Include="..\Python\condvar.h" />
|
|
<ClInclude Include="..\Python\stdlib_module_names.h" />
|
|
<ClInclude Include="..\Python\thread_nt.h" />
|
|
</ItemGroup>
|
|
<ItemGroup Condition="$(IncludeExternals)">
|
|
<ClInclude Include="$(zlibDir)\crc32.h" />
|
|
<ClInclude Include="$(zlibDir)\deflate.h" />
|
|
<ClInclude Include="$(zlibDir)\inffast.h" />
|
|
<ClInclude Include="$(zlibDir)\inffixed.h" />
|
|
<ClInclude Include="$(zlibDir)\inflate.h" />
|
|
<ClInclude Include="$(zlibDir)\inftrees.h" />
|
|
<ClInclude Include="$(zlibDir)\trees.h" />
|
|
<ClInclude Include="$(zlibDir)\zconf.h" />
|
|
<ClInclude Include="$(zlibDir)\zconf.in.h" />
|
|
<ClInclude Include="$(zlibDir)\zlib.h" />
|
|
<ClInclude Include="$(zlibDir)\zutil.h" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ClCompile Include="..\Modules\_abc.c" />
|
|
<ClCompile Include="..\Modules\_bisectmodule.c" />
|
|
<ClCompile Include="..\Modules\blake2module.c">
|
|
<PreprocessorDefinitions Condition="'$(Platform)' == 'x64'">HACL_CAN_COMPILE_SIMD128;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<PreprocessorDefinitions Condition="'$(Platform)' == 'x64'">HACL_CAN_COMPILE_SIMD256;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
<ClCompile Include="..\Modules\_codecsmodule.c" />
|
|
<ClCompile Include="..\Modules\_collectionsmodule.c" />
|
|
<ClCompile Include="..\Modules\_contextvarsmodule.c" />
|
|
<ClCompile Include="..\Modules\_csv.c" />
|
|
<ClCompile Include="..\Modules\_functoolsmodule.c" />
|
|
<ClCompile Include="..\Modules\_hacl\Hacl_Hash_MD5.c" />
|
|
<ClCompile Include="..\Modules\_hacl\Hacl_Hash_SHA1.c" />
|
|
<ClCompile Include="..\Modules\_hacl\Hacl_Hash_SHA2.c" />
|
|
<ClCompile Include="..\Modules\_hacl\Hacl_Hash_SHA3.c" />
|
|
<ClCompile Include="..\Modules\_hacl\Lib_Memzero0.c" />
|
|
<ClCompile Include="..\Modules\_hacl\Hacl_Hash_Blake2b.c" />
|
|
<ClCompile Include="..\Modules\_hacl\Hacl_Hash_Blake2s.c" />
|
|
<ClCompile Include="..\Modules\_hacl\Hacl_Hash_Blake2b_Simd256.c" Condition="'$(Platform)' == 'x64'">
|
|
<PreprocessorDefinitions>HACL_CAN_COMPILE_VEC256;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<AdditionalOptions>/arch:AVX2</AdditionalOptions>
|
|
</ClCompile>
|
|
<ClCompile Include="..\Modules\_hacl\Hacl_Hash_Blake2s_Simd128.c" Condition="'$(Platform)' == 'x64'">
|
|
<PreprocessorDefinitions>HACL_CAN_COMPILE_VEC128;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<AdditionalOptions>/arch:AVX</AdditionalOptions>
|
|
</ClCompile>
|
|
<ClCompile Include="..\Modules\_heapqmodule.c" />
|
|
<ClCompile Include="..\Modules\_json.c" />
|
|
<ClCompile Include="..\Modules\_localemodule.c" />
|
|
<ClCompile Include="..\Modules\_lsprof.c" />
|
|
<ClCompile Include="..\Modules\_pickle.c" />
|
|
<ClCompile Include="..\Modules\_randommodule.c" />
|
|
<ClCompile Include="..\Modules\_sre\sre.c" />
|
|
<ClInclude Include="..\Modules\_sre\sre.h" />
|
|
<ClInclude Include="..\Modules\_sre\sre_constants.h" />
|
|
<ClInclude Include="..\Modules\_sre\sre_lib.h" />
|
|
<ClCompile Include="..\Modules\_stat.c" />
|
|
<ClCompile Include="..\Modules\_struct.c" />
|
|
<ClCompile Include="..\Modules\_suggestions.c" />
|
|
<ClCompile Include="..\Modules\_weakref.c" />
|
|
<ClCompile Include="..\Modules\arraymodule.c" />
|
|
<ClCompile Include="..\Modules\atexitmodule.c" />
|
|
<ClCompile Include="..\Modules\binascii.c">
|
|
<PreprocessorDefinitions>USE_ZLIB_CRC32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
<ClCompile Include="..\Modules\cmathmodule.c" />
|
|
<ClCompile Include="..\Modules\_datetimemodule.c" />
|
|
<ClCompile Include="..\Modules\errnomodule.c" />
|
|
<ClCompile Include="..\Modules\faulthandler.c" />
|
|
<ClCompile Include="..\Modules\gcmodule.c" />
|
|
<ClCompile Include="..\Modules\getbuildinfo.c" />
|
|
<ClCompile Include="..\Modules\itertoolsmodule.c" />
|
|
<ClCompile Include="..\Modules\main.c" />
|
|
<ClCompile Include="..\Modules\mathmodule.c" />
|
|
<ClCompile Include="..\Modules\md5module.c" />
|
|
<ClCompile Include="..\Modules\mmapmodule.c" />
|
|
<ClCompile Include="..\Modules\_opcode.c" />
|
|
<ClCompile Include="..\Modules\_operator.c" />
|
|
<ClCompile Include="..\Modules\posixmodule.c" />
|
|
<ClCompile Include="..\Modules\rotatingtree.c" />
|
|
<ClCompile Include="..\Modules\sha1module.c" />
|
|
<ClCompile Include="..\Modules\sha2module.c" />
|
|
<ClCompile Include="..\Modules\sha3module.c" />
|
|
<ClCompile Include="..\Modules\signalmodule.c" />
|
|
<ClCompile Include="..\Modules\_statisticsmodule.c" />
|
|
<ClCompile Include="..\Modules\symtablemodule.c" />
|
|
<ClCompile Include="..\Modules\_sysconfig.c" />
|
|
<ClCompile Include="..\Modules\_threadmodule.c" />
|
|
<ClCompile Include="..\Modules\_tracemalloc.c" />
|
|
<ClCompile Include="..\Modules\_typingmodule.c" />
|
|
<ClCompile Include="..\Modules\timemodule.c" />
|
|
<ClCompile Include="..\Modules\xxsubtype.c" />
|
|
<ClCompile Include="..\Modules\_interpretersmodule.c" />
|
|
<ClCompile Include="..\Modules\_interpchannelsmodule.c" />
|
|
<ClCompile Include="..\Modules\_interpqueuesmodule.c" />
|
|
<ClCompile Include="..\Modules\_io\fileio.c" />
|
|
<ClCompile Include="..\Modules\_io\bytesio.c" />
|
|
<ClCompile Include="..\Modules\_io\stringio.c" />
|
|
<ClCompile Include="..\Modules\_io\bufferedio.c" />
|
|
<ClCompile Include="..\Modules\_io\iobase.c" />
|
|
<ClCompile Include="..\Modules\_io\textio.c" />
|
|
<ClCompile Include="..\Modules\_io\winconsoleio.c" />
|
|
<ClCompile Include="..\Modules\_io\_iomodule.c" />
|
|
<ClCompile Include="..\Modules\cjkcodecs\_codecs_cn.c" />
|
|
<ClCompile Include="..\Modules\cjkcodecs\_codecs_hk.c" />
|
|
<ClCompile Include="..\Modules\cjkcodecs\_codecs_iso2022.c" />
|
|
<ClCompile Include="..\Modules\cjkcodecs\_codecs_jp.c" />
|
|
<ClCompile Include="..\Modules\cjkcodecs\_codecs_kr.c" />
|
|
<ClCompile Include="..\Modules\cjkcodecs\_codecs_tw.c" />
|
|
<ClCompile Include="..\Modules\cjkcodecs\multibytecodec.c" />
|
|
<ClCompile Include="..\Modules\_winapi.c" />
|
|
<ClCompile Include="..\Objects\abstract.c" />
|
|
<ClCompile Include="..\Objects\boolobject.c" />
|
|
<ClCompile Include="..\Objects\bytearrayobject.c" />
|
|
<ClCompile Include="..\Objects\bytes_methods.c" />
|
|
<ClCompile Include="..\Objects\bytesobject.c" />
|
|
<ClCompile Include="..\Objects\call.c" />
|
|
<ClCompile Include="..\Objects\capsule.c" />
|
|
<ClCompile Include="..\Objects\cellobject.c" />
|
|
<ClCompile Include="..\Objects\classobject.c" />
|
|
<ClCompile Include="..\Objects\codeobject.c" />
|
|
<ClCompile Include="..\Objects\complexobject.c" />
|
|
<ClCompile Include="..\Objects\descrobject.c" />
|
|
<ClCompile Include="..\Objects\dictobject.c" />
|
|
<ClCompile Include="..\Objects\enumobject.c" />
|
|
<ClCompile Include="..\Objects\exceptions.c" />
|
|
<ClCompile Include="..\Objects\fileobject.c" />
|
|
<ClCompile Include="..\Objects\floatobject.c" />
|
|
<ClCompile Include="..\Objects\frameobject.c" />
|
|
<ClCompile Include="..\Objects\funcobject.c" />
|
|
<ClCompile Include="..\Objects\genericaliasobject.c" />
|
|
<ClCompile Include="..\Objects\genobject.c" />
|
|
<ClCompile Include="..\Objects\iterobject.c" />
|
|
<ClCompile Include="..\Objects\listobject.c" />
|
|
<ClCompile Include="..\Objects\longobject.c" />
|
|
<ClCompile Include="..\Objects\memoryobject.c" />
|
|
<ClCompile Include="..\Objects\methodobject.c" />
|
|
<ClCompile Include="..\Objects\moduleobject.c" />
|
|
<ClCompile Include="..\Objects\namespaceobject.c" />
|
|
<ClCompile Include="..\Objects\object.c" />
|
|
<ClCompile Include="..\Objects\obmalloc.c" />
|
|
<ClCompile Include="..\Objects\odictobject.c" />
|
|
<ClCompile Include="..\Objects\picklebufobject.c" />
|
|
<ClCompile Include="..\Objects\rangeobject.c" />
|
|
<ClCompile Include="..\Objects\setobject.c" />
|
|
<ClCompile Include="..\Objects\sliceobject.c" />
|
|
<ClCompile Include="..\Objects\structseq.c" />
|
|
<ClCompile Include="..\Objects\tupleobject.c" />
|
|
<ClCompile Include="..\Objects\typeobject.c" />
|
|
<ClCompile Include="..\Objects\typevarobject.c" />
|
|
<ClCompile Include="..\Objects\unicodectype.c" />
|
|
<ClCompile Include="..\Objects\unicodeobject.c" />
|
|
<ClCompile Include="..\Objects\unionobject.c" />
|
|
<ClCompile Include="..\Objects\weakrefobject.c" />
|
|
<ClCompile Include="..\Parser\myreadline.c" />
|
|
<ClCompile Include="..\Parser\lexer\state.c" />
|
|
<ClCompile Include="..\Parser\lexer\lexer.c" />
|
|
<ClCompile Include="..\Parser\lexer\buffer.c" />
|
|
<ClCompile Include="..\Parser\tokenizer\string_tokenizer.c" />
|
|
<ClCompile Include="..\Parser\tokenizer\file_tokenizer.c" />
|
|
<ClCompile Include="..\Parser\tokenizer\utf8_tokenizer.c" />
|
|
<ClCompile Include="..\Parser\tokenizer\readline_tokenizer.c" />
|
|
<ClCompile Include="..\Parser\tokenizer\helpers.c" />
|
|
<ClCompile Include="..\Parser\token.c" />
|
|
<ClCompile Include="..\Parser\pegen.c" />
|
|
<ClCompile Include="..\Parser\pegen_errors.c" />
|
|
<ClCompile Include="..\Parser\action_helpers.c" />
|
|
<ClCompile Include="..\Parser\parser.c" />
|
|
<ClCompile Include="..\Parser\string_parser.c" />
|
|
<ClCompile Include="..\Parser\peg_api.c" />
|
|
<ClCompile Include="..\PC\invalid_parameter_handler.c" />
|
|
<ClCompile Include="..\PC\winreg.c" />
|
|
<ClCompile Include="..\PC\config.c" />
|
|
<ClCompile Include="..\PC\msvcrtmodule.c" />
|
|
<ClCompile Include="..\Python\pyhash.c" />
|
|
<ClCompile Include="..\Python\_warnings.c" />
|
|
<ClCompile Include="..\Python\asdl.c" />
|
|
<ClCompile Include="..\Python\assemble.c" />
|
|
<ClCompile Include="..\Python\ast.c" />
|
|
<ClCompile Include="..\Python\ast_opt.c" />
|
|
<ClCompile Include="..\Python\ast_unparse.c" />
|
|
<ClCompile Include="..\Python\bltinmodule.c" />
|
|
<ClCompile Include="..\Python\bootstrap_hash.c" />
|
|
<ClCompile Include="..\Python\brc.c" />
|
|
<ClCompile Include="..\Python\ceval.c" />
|
|
<ClCompile Include="..\Python\codecs.c" />
|
|
<ClCompile Include="..\Python\compile.c" />
|
|
<ClCompile Include="..\Python\context.c" />
|
|
<ClCompile Include="..\Python\critical_section.c" />
|
|
<ClCompile Include="..\Python\crossinterp.c" />
|
|
<ClCompile Include="..\Python\dynamic_annotations.c" />
|
|
<ClCompile Include="..\Python\dynload_win.c" />
|
|
<ClCompile Include="..\Python\errors.c" />
|
|
<ClCompile Include="..\Python\fileutils.c" />
|
|
<ClCompile Include="..\Python\flowgraph.c" />
|
|
<ClCompile Include="..\Python\formatter_unicode.c" />
|
|
<ClCompile Include="..\Python\frame.c" />
|
|
<ClCompile Include="..\Python\frozen.c">
|
|
<AdditionalIncludeDirectories>$(GeneratedFrozenModulesDir)Python;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
</ClCompile>
|
|
<ClCompile Include="..\Python\future.c" />
|
|
<ClCompile Include="..\Python\gc.c" />
|
|
<ClCompile Include="..\Python\gc_free_threading.c" />
|
|
<ClCompile Include="..\Python\gc_gil.c" />
|
|
<ClCompile Include="..\Python\getargs.c" />
|
|
<ClCompile Include="..\Python\getcompiler.c" />
|
|
<ClCompile Include="..\Python\getcopyright.c" />
|
|
<ClCompile Include="..\Python\getopt.c" />
|
|
<ClCompile Include="..\Python\getplatform.c" />
|
|
<ClCompile Include="..\Python\getversion.c" />
|
|
<ClCompile Include="..\Python\ceval_gil.c" />
|
|
<ClCompile Include="..\Python\hamt.c" />
|
|
<ClCompile Include="..\Python\hashtable.c" />
|
|
<ClCompile Include="..\Python\import.c" />
|
|
<ClCompile Include="..\Python\importdl.c" />
|
|
<ClCompile Include="..\Python\initconfig.c" />
|
|
<ClCompile Include="..\Python\interpconfig.c" />
|
|
<ClCompile Include="..\Python\intrinsics.c" />
|
|
<ClCompile Include="..\Python\instruction_sequence.c" />
|
|
<ClCompile Include="..\Python\instrumentation.c" />
|
|
<ClCompile Include="..\Python\jit.c" />
|
|
<ClCompile Include="..\Python\legacy_tracing.c" />
|
|
<ClCompile Include="..\Python\lock.c" />
|
|
<ClCompile Include="..\Python\marshal.c" />
|
|
<ClCompile Include="..\Python\modsupport.c" />
|
|
<ClCompile Include="..\Python\mysnprintf.c" />
|
|
<ClCompile Include="..\Python\mystrtoul.c" />
|
|
<ClCompile Include="..\Python\object_stack.c" />
|
|
<ClCompile Include="..\Python\optimizer.c" />
|
|
<ClCompile Include="..\Python\optimizer_analysis.c" />
|
|
<ClCompile Include="..\Python\optimizer_symbols.c" />
|
|
<ClCompile Include="..\Python\parking_lot.c" />
|
|
<ClCompile Include="..\Python\pathconfig.c" />
|
|
<ClCompile Include="..\Python\perf_trampoline.c" />
|
|
<ClCompile Include="..\Python\perf_jit_trampoline.c" />
|
|
<ClCompile Include="..\Python\preconfig.c" />
|
|
<ClCompile Include="..\Python\pyarena.c" />
|
|
<ClCompile Include="..\Python\pyctype.c" />
|
|
<ClCompile Include="..\Python\pyfpe.c" />
|
|
<ClCompile Include="..\Python\pylifecycle.c" />
|
|
<ClCompile Include="..\Python\pymath.c" />
|
|
<ClCompile Include="..\Python\pytime.c" />
|
|
<ClCompile Include="..\Python\pystate.c" />
|
|
<ClCompile Include="..\Python\pystrcmp.c" />
|
|
<ClCompile Include="..\Python\pystrhex.c" />
|
|
<ClCompile Include="..\Python\pystrtod.c" />
|
|
<ClCompile Include="..\Python\qsbr.c" />
|
|
<ClCompile Include="..\Python\dtoa.c" />
|
|
<ClCompile Include="..\Python\Python-ast.c" />
|
|
<ClCompile Include="..\Python\Python-tokenize.c" />
|
|
<ClCompile Include="..\Python\pythonrun.c" />
|
|
<ClCompile Include="..\Python\specialize.c" />
|
|
<ClCompile Include="..\Python\suggestions.c" />
|
|
<ClCompile Include="..\Python\structmember.c" />
|
|
<ClCompile Include="..\Python\symtable.c" />
|
|
<ClCompile Include="..\Python\sysmodule.c">
|
|
<PreprocessorDefinitions>VPATH="$(PyVPath)";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
<ClCompile Include="..\Python\thread.c" />
|
|
<ClCompile Include="..\Python\traceback.c" />
|
|
<ClCompile Include="..\Python\tracemalloc.c" />
|
|
<ClCompile Include="..\Python\typeid.c" />
|
|
</ItemGroup>
|
|
<ItemGroup Condition="$(IncludeExternals)">
|
|
<ClCompile Include="..\Modules\zlibmodule.c" />
|
|
<ClCompile Include="$(zlibDir)\adler32.c" />
|
|
<ClCompile Include="$(zlibDir)\compress.c" />
|
|
<ClCompile Include="$(zlibDir)\crc32.c" />
|
|
<ClCompile Include="$(zlibDir)\deflate.c">
|
|
<DisableSpecificWarnings>4244</DisableSpecificWarnings>
|
|
</ClCompile>
|
|
<ClCompile Include="$(zlibDir)\infback.c" />
|
|
<ClCompile Include="$(zlibDir)\inffast.c" />
|
|
<ClCompile Include="$(zlibDir)\inflate.c" />
|
|
<ClCompile Include="$(zlibDir)\inftrees.c" />
|
|
<ClCompile Include="$(zlibDir)\trees.c" />
|
|
<ClCompile Include="$(zlibDir)\uncompr.c" />
|
|
<ClCompile Include="$(zlibDir)\zutil.c" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ClCompile Include="..\PC\dl_nt.c" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ResourceCompile Include="..\PC\python_nt.rc" />
|
|
</ItemGroup>
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
<ImportGroup Label="ExtensionTargets">
|
|
<Import Project="regen.targets" />
|
|
</ImportGroup>
|
|
<Target Name="_TriggerRegen" BeforeTargets="PrepareForBuild" DependsOnTargets="Regen" />
|
|
|
|
<Target Name="_UpdatePyconfig" BeforeTargets="PrepareForBuild">
|
|
<MakeDir Directories="$(IntDir)" Condition="!Exists($(IntDir))" />
|
|
<ItemGroup>
|
|
<PyConfigH Remove="@(PyConfigH)" />
|
|
<PyConfigH Include="@(ClInclude)" Condition="'%(Filename)%(Extension)' == 'pyconfig.h.in'" />
|
|
</ItemGroup>
|
|
<Error Text="Did not find pyconfig.h" Condition="@(ClInclude) == ''" />
|
|
<PropertyGroup>
|
|
<PyConfigH>@(PyConfigH->'%(FullPath)', ';')</PyConfigH>
|
|
<PyConfigHText>$([System.IO.File]::ReadAllText($(PyConfigH)))</PyConfigHText>
|
|
<OldPyConfigH Condition="Exists('$(IntDir)pyconfig.h')">$([System.IO.File]::ReadAllText('$(IntDir)pyconfig.h'))</OldPyConfigH>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="$(DisableGil) == 'true'">
|
|
<PyConfigHText>$(PyConfigHText.Replace('/* #define Py_GIL_DISABLED 1 */', '#define Py_GIL_DISABLED 1'))</PyConfigHText>
|
|
</PropertyGroup>
|
|
<Message Text="Updating pyconfig.h" Condition="$(PyConfigHText.TrimEnd()) != $(OldPyConfigH.TrimEnd())" />
|
|
<WriteLinesToFile File="$(IntDir)pyconfig.h"
|
|
Lines="$(PyConfigHText)"
|
|
Overwrite="true"
|
|
Condition="$(PyConfigHText.TrimEnd()) != $(OldPyConfigH.TrimEnd())" />
|
|
</Target>
|
|
<Target Name="_CopyPyconfig" Inputs="$(IntDir)pyconfig.h" Outputs="$(OutDir)pyconfig.h" AfterTargets="Build" DependsOnTargets="_UpdatePyconfig">
|
|
<Copy SourceFiles="$(IntDir)pyconfig.h" DestinationFolder="$(OutDir)" />
|
|
</Target>
|
|
<Target Name="_CleanPyconfig" AfterTargets="Clean">
|
|
<Delete Files="$(IntDir)pyconfig.h;$(OutDir)pyconfig.h" />
|
|
</Target>
|
|
|
|
<Target Name="_GetBuildInfo" BeforeTargets="PrepareForBuild">
|
|
<PropertyGroup>
|
|
<GIT Condition="$(GIT) == ''">git</GIT>
|
|
<_GIT>$(GIT)</_GIT>
|
|
<_GIT Condition="$(GIT.Contains(` `))">"$(GIT)"</_GIT>
|
|
</PropertyGroup>
|
|
<Message Text="Getting build info from $(_GIT)" Importance="high" />
|
|
<MakeDir Directories="$(IntDir)" Condition="!Exists($(IntDir))" />
|
|
<Exec Command="$(_GIT) name-rev --name-only HEAD > "$(IntDir)gitbranch.txt"" ContinueOnError="true" />
|
|
<Exec Command="$(_GIT) rev-parse --short HEAD > "$(IntDir)gitversion.txt"" ContinueOnError="true" />
|
|
<Exec Command="$(_GIT) describe --all --always --dirty > "$(IntDir)gittag.txt"" ContinueOnError="true" />
|
|
<PropertyGroup>
|
|
<GitBranch Condition="Exists('$(IntDir)gitbranch.txt')">$([System.IO.File]::ReadAllText('$(IntDir)gitbranch.txt').Trim())</GitBranch>
|
|
<GitVersion Condition="Exists('$(IntDir)gitversion.txt')">$([System.IO.File]::ReadAllText('$(IntDir)gitversion.txt').Trim())</GitVersion>
|
|
<GitTag Condition="Exists('$(IntDir)gittag.txt')">$([System.IO.File]::ReadAllText('$(IntDir)gittag.txt').Trim())</GitTag>
|
|
</PropertyGroup>
|
|
<Message Text="Building $(GitTag):$(GitVersion) $(GitBranch)" Importance="high" />
|
|
<ItemGroup>
|
|
<ClCompile Condition="%(Filename) == 'getbuildinfo'">
|
|
<PreprocessorDefinitions>GITVERSION="$(GitVersion)";GITTAG="$(GitTag)";GITBRANCH="$(GitBranch)";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
</ItemGroup>
|
|
</Target>
|
|
<Target Name="_WarnAboutToolset" BeforeTargets="PrepareForBuild" Condition="$(PlatformToolset) != 'v140' and $(PlatformToolset) != 'v141' and $(PlatformToolset) != 'v142' and $(PlatformToolset) != 'v143'">
|
|
<Warning Text="Toolset $(PlatformToolset) is not used for official builds. Your build may have errors or incompatibilities." />
|
|
</Target>
|
|
<Target Name="_WarnAboutZlib" BeforeTargets="PrepareForBuild" Condition="!$(IncludeExternals)">
|
|
<Warning Text="Not including zlib is not a supported configuration." />
|
|
</Target>
|
|
|
|
<Target Name="_CopyVCRuntime" AfterTargets="Build" Inputs="@(VCRuntimeDLL)" Outputs="$(OutDir)%(Filename)%(Extension)" DependsOnTargets="FindVCRuntime">
|
|
<!-- bpo-38597: When we switch to another VCRuntime DLL, include vcruntime140.dll as well -->
|
|
<Warning Text="A copy of vcruntime140.dll is also required" Condition="!$(VCToolsRedistVersion.StartsWith(`14.`))" />
|
|
<Copy SourceFiles="%(VCRuntimeDLL.FullPath)" DestinationFolder="$(OutDir)" />
|
|
</Target>
|
|
<Target Name="_CleanVCRuntime" AfterTargets="Clean">
|
|
<Delete Files="@(VCRuntimeDLL->'$(OutDir)%(Filename)%(Extension)')" />
|
|
</Target>
|
|
|
|
<Target Name="_DeletePyBuildDirTxt" BeforeTargets="PrepareForBuild">
|
|
<Delete Files="$(OutDir)pybuilddir.txt" />
|
|
</Target>
|
|
</Project>
|