1<?xml version="1.0" encoding="utf-8"?>
2<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3  <ItemGroup Label="ProjectConfigurations">
4    <ProjectConfiguration Include="Debug|Win32">
5      <Configuration>Debug</Configuration>
6      <Platform>Win32</Platform>
7    </ProjectConfiguration>
8    <ProjectConfiguration Include="Debug|x64">
9      <Configuration>Debug</Configuration>
10      <Platform>x64</Platform>
11    </ProjectConfiguration>
12    <ProjectConfiguration Include="PGInstrument|Win32">
13      <Configuration>PGInstrument</Configuration>
14      <Platform>Win32</Platform>
15    </ProjectConfiguration>
16    <ProjectConfiguration Include="PGInstrument|x64">
17      <Configuration>PGInstrument</Configuration>
18      <Platform>x64</Platform>
19    </ProjectConfiguration>
20    <ProjectConfiguration Include="PGUpdate|Win32">
21      <Configuration>PGUpdate</Configuration>
22      <Platform>Win32</Platform>
23    </ProjectConfiguration>
24    <ProjectConfiguration Include="PGUpdate|x64">
25      <Configuration>PGUpdate</Configuration>
26      <Platform>x64</Platform>
27    </ProjectConfiguration>
28    <ProjectConfiguration Include="Release|Win32">
29      <Configuration>Release</Configuration>
30      <Platform>Win32</Platform>
31    </ProjectConfiguration>
32    <ProjectConfiguration Include="Release|x64">
33      <Configuration>Release</Configuration>
34      <Platform>x64</Platform>
35    </ProjectConfiguration>
36  </ItemGroup>
37  <PropertyGroup Label="Globals">
38    <ProjectGuid>{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}</ProjectGuid>
39    <RootNamespace>pythoncore</RootNamespace>
40  </PropertyGroup>
41  <Import Project="python.props" />
42  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
43  <PropertyGroup Label="Configuration">
44    <ConfigurationType>DynamicLibrary</ConfigurationType>
45    <UseOfMfc>false</UseOfMfc>
46  </PropertyGroup>
47  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
48  <ImportGroup Label="ExtensionSettings">
49  </ImportGroup>
50  <PropertyGroup>
51    <KillPython>true</KillPython>
52  </PropertyGroup>
53  <ImportGroup Label="PropertySheets">
54    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
55    <Import Project="pyproject.props" />
56  </ImportGroup>
57  <PropertyGroup Label="UserMacros" />
58  <PropertyGroup>
59    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
60    <TargetName>$(PyDllName)</TargetName>
61  </PropertyGroup>
62  <PropertyGroup>
63    <CustomBuildBeforeTargets>Link</CustomBuildBeforeTargets>
64  </PropertyGroup>
65  <ItemDefinitionGroup>
66    <ClCompile>
67      <AdditionalOptions>/Zm200  %(AdditionalOptions)</AdditionalOptions>
68      <AdditionalIncludeDirectories>$(PySourcePath)Python;$(PySourcePath)Modules\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
69      <PreprocessorDefinitions>_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED;MS_DLL_ID="$(SysWinVer)";%(PreprocessorDefinitions)</PreprocessorDefinitions>
70    </ClCompile>
71    <Link>
72      <AdditionalDependencies>version.lib;shlwapi.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
73      <BaseAddress>0x1e000000</BaseAddress>
74    </Link>
75  </ItemDefinitionGroup>
76  <ItemGroup>
77    <ClInclude Include="..\Include\abstract.h" />
78    <ClInclude Include="..\Include\accu.h" />
79    <ClInclude Include="..\Include\asdl.h" />
80    <ClInclude Include="..\Include\ast.h" />
81    <ClInclude Include="..\Include\bitset.h" />
82    <ClInclude Include="..\Include\boolobject.h" />
83    <ClInclude Include="..\Include\bytes_methods.h" />
84    <ClInclude Include="..\Include\bytearrayobject.h" />
85    <ClInclude Include="..\Include\bytesobject.h" />
86    <ClInclude Include="..\Include\cellobject.h" />
87    <ClInclude Include="..\Include\ceval.h" />
88    <ClInclude Include="..\Include\classobject.h" />
89    <ClInclude Include="..\Include\code.h" />
90    <ClInclude Include="..\Include\codecs.h" />
91    <ClInclude Include="..\Include\compile.h" />
92    <ClInclude Include="..\Include\complexobject.h" />
93    <ClInclude Include="..\Include\datetime.h" />
94    <ClInclude Include="..\Include\descrobject.h" />
95    <ClInclude Include="..\Include\dictobject.h" />
96    <ClInclude Include="..\Include\dynamic_annotations.h" />
97    <ClInclude Include="..\Include\enumobject.h" />
98    <ClInclude Include="..\Include\errcode.h" />
99    <ClInclude Include="..\Include\eval.h" />
100    <ClInclude Include="..\Include\fileobject.h" />
101    <ClInclude Include="..\Include\fileutils.h" />
102    <ClInclude Include="..\Include\floatobject.h" />
103    <ClInclude Include="..\Include\frameobject.h" />
104    <ClInclude Include="..\Include\funcobject.h" />
105    <ClInclude Include="..\Include\genobject.h" />
106    <ClInclude Include="..\Include\graminit.h" />
107    <ClInclude Include="..\Include\grammar.h" />
108    <ClInclude Include="..\Include\import.h" />
109    <ClInclude Include="..\Include\intrcheck.h" />
110    <ClInclude Include="..\Include\iterobject.h" />
111    <ClInclude Include="..\Include\listobject.h" />
112    <ClInclude Include="..\Include\longintrepr.h" />
113    <ClInclude Include="..\Include\longobject.h" />
114    <ClInclude Include="..\Include\marshal.h" />
115    <ClInclude Include="..\Include\memoryobject.h" />
116    <ClInclude Include="..\Include\metagrammar.h" />
117    <ClInclude Include="..\Include\methodobject.h" />
118    <ClInclude Include="..\Include\modsupport.h" />
119    <ClInclude Include="..\Include\moduleobject.h" />
120    <ClInclude Include="..\Include\namespaceobject.h" />
121    <ClInclude Include="..\Include\node.h" />
122    <ClInclude Include="..\Include\object.h" />
123    <ClInclude Include="..\Include\objimpl.h" />
124    <ClInclude Include="..\Include\odictobject.h" />
125    <ClInclude Include="..\Include\opcode.h" />
126    <ClInclude Include="..\Include\osdefs.h" />
127    <ClInclude Include="..\Include\osmodule.h" />
128    <ClInclude Include="..\Include\parsetok.h" />
129    <ClInclude Include="..\Include\patchlevel.h" />
130    <ClInclude Include="..\Include\pgen.h" />
131    <ClInclude Include="..\Include\pgenheaders.h" />
132    <ClInclude Include="..\Include\pyhash.h" />
133    <ClInclude Include="..\Include\py_curses.h" />
134    <ClInclude Include="..\Include\pyarena.h" />
135    <ClInclude Include="..\Include\pycapsule.h" />
136    <ClInclude Include="..\Include\pyctype.h" />
137    <ClInclude Include="..\Include\pydebug.h" />
138    <ClInclude Include="..\Include\pyerrors.h" />
139    <ClInclude Include="..\Include\pyexpat.h" />
140    <ClInclude Include="..\Include\pyfpe.h" />
141    <ClInclude Include="..\Include\pygetopt.h" />
142    <ClInclude Include="..\Include\pylifecycle.h" />
143    <ClInclude Include="..\Include\pymath.h" />
144    <ClInclude Include="..\Include\pytime.h" />
145    <ClInclude Include="..\Include\pymacro.h" />
146    <ClInclude Include="..\Include\pymem.h" />
147    <ClInclude Include="..\Include\pyport.h" />
148    <ClInclude Include="..\Include\pystate.h" />
149    <ClInclude Include="..\Include\pystrcmp.h" />
150    <ClInclude Include="..\Include\pystrtod.h" />
151    <ClInclude Include="..\Include\pystrhex.h" />
152    <ClInclude Include="..\Include\dtoa.h" />
153    <ClInclude Include="..\Include\Python-ast.h" />
154    <ClInclude Include="..\Include\Python.h" />
155    <ClInclude Include="..\Include\pythonrun.h" />
156    <ClInclude Include="..\Include\pythread.h" />
157    <ClInclude Include="..\Include\rangeobject.h" />
158    <ClInclude Include="..\Include\setobject.h" />
159    <ClInclude Include="..\Include\sliceobject.h" />
160    <ClInclude Include="..\Include\structmember.h" />
161    <ClInclude Include="..\Include\structseq.h" />
162    <ClInclude Include="..\Include\symtable.h" />
163    <ClInclude Include="..\Include\sysmodule.h" />
164    <ClInclude Include="..\Include\token.h" />
165    <ClInclude Include="..\Include\traceback.h" />
166    <ClInclude Include="..\Include\tupleobject.h" />
167    <ClInclude Include="..\Include\ucnhash.h" />
168    <ClInclude Include="..\Include\unicodeobject.h" />
169    <ClInclude Include="..\Include\weakrefobject.h" />
170    <ClInclude Include="..\Modules\_math.h" />
171    <ClInclude Include="..\Modules\hashtable.h" />
172    <ClInclude Include="..\Modules\rotatingtree.h" />
173    <ClInclude Include="..\Modules\sre.h" />
174    <ClInclude Include="..\Modules\sre_constants.h" />
175    <ClInclude Include="..\Modules\sre_lib.h" />
176    <ClInclude Include="..\Modules\_io\_iomodule.h" />
177    <ClInclude Include="..\Modules\zlib\crc32.h" />
178    <ClInclude Include="..\Modules\zlib\deflate.h" />
179    <ClInclude Include="..\Modules\zlib\inffast.h" />
180    <ClInclude Include="..\Modules\zlib\inffixed.h" />
181    <ClInclude Include="..\Modules\zlib\inflate.h" />
182    <ClInclude Include="..\Modules\zlib\inftrees.h" />
183    <ClInclude Include="..\Modules\zlib\trees.h" />
184    <ClInclude Include="..\Modules\zlib\zconf.h" />
185    <ClInclude Include="..\Modules\zlib\zconf.in.h" />
186    <ClInclude Include="..\Modules\zlib\zlib.h" />
187    <ClInclude Include="..\Modules\zlib\zutil.h" />
188    <ClInclude Include="..\Modules\cjkcodecs\alg_jisx0201.h" />
189    <ClInclude Include="..\Modules\cjkcodecs\cjkcodecs.h" />
190    <ClInclude Include="..\Modules\cjkcodecs\emu_jisx0213_2000.h" />
191    <ClInclude Include="..\Modules\cjkcodecs\mappings_cn.h" />
192    <ClInclude Include="..\Modules\cjkcodecs\mappings_hk.h" />
193    <ClInclude Include="..\Modules\cjkcodecs\mappings_jisx0213_pair.h" />
194    <ClInclude Include="..\Modules\cjkcodecs\mappings_jp.h" />
195    <ClInclude Include="..\Modules\cjkcodecs\mappings_kr.h" />
196    <ClInclude Include="..\Modules\cjkcodecs\mappings_tw.h" />
197    <ClInclude Include="..\Modules\cjkcodecs\multibytecodec.h" />
198    <ClInclude Include="..\Objects\stringlib\count.h" />
199    <ClInclude Include="..\Objects\stringlib\fastsearch.h" />
200    <ClInclude Include="..\Objects\stringlib\find.h" />
201    <ClInclude Include="..\Objects\stringlib\partition.h" />
202    <ClInclude Include="..\Objects\stringlib\replace.h" />
203    <ClInclude Include="..\Objects\stringlib\split.h" />
204    <ClInclude Include="..\Objects\unicodetype_db.h" />
205    <ClInclude Include="..\Parser\parser.h" />
206    <ClInclude Include="..\Parser\tokenizer.h" />
207    <ClInclude Include="..\PC\errmap.h" />
208    <ClInclude Include="..\PC\pyconfig.h" />
209    <ClInclude Include="..\Python\ceval_gil.h" />
210    <ClInclude Include="..\Python\condvar.h" />
211    <ClInclude Include="..\Python\importdl.h" />
212    <ClInclude Include="..\Python\thread_nt.h" />
213    <ClInclude Include="..\Python\wordcode_helpers.h" />
214  </ItemGroup>
215  <ItemGroup>
216    <ClCompile Include="..\Modules\_bisectmodule.c" />
217    <ClCompile Include="..\Modules\_blake2\blake2module.c" />
218    <ClCompile Include="..\Modules\_blake2\blake2b_impl.c" />
219    <ClCompile Include="..\Modules\_blake2\blake2s_impl.c" />
220    <ClCompile Include="..\Modules\_codecsmodule.c" />
221    <ClCompile Include="..\Modules\_collectionsmodule.c" />
222    <ClCompile Include="..\Modules\_csv.c" />
223    <ClCompile Include="..\Modules\_functoolsmodule.c" />
224    <ClCompile Include="..\Modules\_heapqmodule.c" />
225    <ClCompile Include="..\Modules\_json.c" />
226    <ClCompile Include="..\Modules\_localemodule.c" />
227    <ClCompile Include="..\Modules\_lsprof.c" />
228    <ClCompile Include="..\Modules\_math.c" />
229    <ClCompile Include="..\Modules\_pickle.c" />
230    <ClCompile Include="..\Modules\_randommodule.c" />
231    <ClCompile Include="..\Modules\_sha3\sha3module.c" />
232    <ClCompile Include="..\Modules\_sre.c" />
233    <ClCompile Include="..\Modules\_stat.c" />
234    <ClCompile Include="..\Modules\_struct.c" />
235    <ClCompile Include="..\Modules\_weakref.c" />
236    <ClCompile Include="..\Modules\arraymodule.c" />
237    <ClCompile Include="..\Modules\atexitmodule.c" />
238    <ClCompile Include="..\Modules\audioop.c" />
239    <ClCompile Include="..\Modules\binascii.c" />
240    <ClCompile Include="..\Modules\cmathmodule.c" />
241    <ClCompile Include="..\Modules\_datetimemodule.c" />
242    <ClCompile Include="..\Modules\errnomodule.c" />
243    <ClCompile Include="..\Modules\faulthandler.c" />
244    <ClCompile Include="..\Modules\gcmodule.c" />
245    <ClCompile Include="..\Modules\hashtable.c" />
246    <ClCompile Include="..\Modules\itertoolsmodule.c" />
247    <ClCompile Include="..\Modules\main.c" />
248    <ClCompile Include="..\Modules\mathmodule.c" />
249    <ClCompile Include="..\Modules\md5module.c" />
250    <ClCompile Include="..\Modules\mmapmodule.c" />
251    <ClCompile Include="..\Modules\_opcode.c" />
252    <ClCompile Include="..\Modules\_operator.c" />
253    <ClCompile Include="..\Modules\parsermodule.c" />
254    <ClCompile Include="..\Modules\posixmodule.c" />
255    <ClCompile Include="..\Modules\rotatingtree.c" />
256    <ClCompile Include="..\Modules\sha1module.c" />
257    <ClCompile Include="..\Modules\sha256module.c" />
258    <ClCompile Include="..\Modules\sha512module.c" />
259    <ClCompile Include="..\Modules\signalmodule.c" />
260    <ClCompile Include="..\Modules\symtablemodule.c" />
261    <ClCompile Include="..\Modules\_threadmodule.c" />
262    <ClCompile Include="..\Modules\_tracemalloc.c" />
263    <ClCompile Include="..\Modules\timemodule.c" />
264    <ClCompile Include="..\Modules\xxsubtype.c" />
265    <ClCompile Include="..\Modules\zipimport.c" />
266    <ClCompile Include="..\Modules\zlibmodule.c" />
267    <ClCompile Include="..\Modules\_io\fileio.c" />
268    <ClCompile Include="..\Modules\_io\bytesio.c" />
269    <ClCompile Include="..\Modules\_io\stringio.c" />
270    <ClCompile Include="..\Modules\_io\bufferedio.c" />
271    <ClCompile Include="..\Modules\_io\iobase.c" />
272    <ClCompile Include="..\Modules\_io\textio.c" />
273    <ClCompile Include="..\Modules\_io\winconsoleio.c" />
274    <ClCompile Include="..\Modules\_io\_iomodule.c" />
275    <ClCompile Include="..\Modules\zlib\adler32.c" />
276    <ClCompile Include="..\Modules\zlib\compress.c" />
277    <ClCompile Include="..\Modules\zlib\crc32.c" />
278    <ClCompile Include="..\Modules\zlib\deflate.c" />
279    <ClCompile Include="..\Modules\zlib\infback.c" />
280    <ClCompile Include="..\Modules\zlib\inffast.c" />
281    <ClCompile Include="..\Modules\zlib\inflate.c" />
282    <ClCompile Include="..\Modules\zlib\inftrees.c" />
283    <ClCompile Include="..\Modules\zlib\trees.c" />
284    <ClCompile Include="..\Modules\zlib\uncompr.c" />
285    <ClCompile Include="..\Modules\zlib\zutil.c" />
286    <ClCompile Include="..\Modules\cjkcodecs\_codecs_cn.c" />
287    <ClCompile Include="..\Modules\cjkcodecs\_codecs_hk.c" />
288    <ClCompile Include="..\Modules\cjkcodecs\_codecs_iso2022.c" />
289    <ClCompile Include="..\Modules\cjkcodecs\_codecs_jp.c" />
290    <ClCompile Include="..\Modules\cjkcodecs\_codecs_kr.c" />
291    <ClCompile Include="..\Modules\cjkcodecs\_codecs_tw.c" />
292    <ClCompile Include="..\Modules\cjkcodecs\multibytecodec.c" />
293    <ClCompile Include="..\Modules\_winapi.c" />
294    <ClCompile Include="..\Objects\abstract.c" />
295    <ClCompile Include="..\Objects\accu.c" />
296    <ClCompile Include="..\Objects\boolobject.c" />
297    <ClCompile Include="..\Objects\bytes_methods.c" />
298    <ClCompile Include="..\Objects\bytearrayobject.c" />
299    <ClCompile Include="..\Objects\bytesobject.c" />
300    <ClCompile Include="..\Objects\capsule.c" />
301    <ClCompile Include="..\Objects\cellobject.c" />
302    <ClCompile Include="..\Objects\classobject.c" />
303    <ClCompile Include="..\Objects\codeobject.c" />
304    <ClCompile Include="..\Objects\complexobject.c" />
305    <ClCompile Include="..\Objects\descrobject.c" />
306    <ClCompile Include="..\Objects\dictobject.c" />
307    <ClCompile Include="..\Objects\enumobject.c" />
308    <ClCompile Include="..\Objects\exceptions.c" />
309    <ClCompile Include="..\Objects\fileobject.c" />
310    <ClCompile Include="..\Objects\floatobject.c" />
311    <ClCompile Include="..\Objects\frameobject.c" />
312    <ClCompile Include="..\Objects\funcobject.c" />
313    <ClCompile Include="..\Objects\genobject.c" />
314    <ClCompile Include="..\Objects\iterobject.c" />
315    <ClCompile Include="..\Objects\listobject.c" />
316    <ClCompile Include="..\Objects\longobject.c" />
317    <ClCompile Include="..\Objects\memoryobject.c" />
318    <ClCompile Include="..\Objects\methodobject.c" />
319    <ClCompile Include="..\Objects\moduleobject.c" />
320    <ClCompile Include="..\Objects\namespaceobject.c" />
321    <ClCompile Include="..\Objects\object.c" />
322    <ClCompile Include="..\Objects\obmalloc.c" />
323    <ClCompile Include="..\Objects\odictobject.c" />
324    <ClCompile Include="..\Objects\rangeobject.c" />
325    <ClCompile Include="..\Objects\setobject.c" />
326    <ClCompile Include="..\Objects\sliceobject.c" />
327    <ClCompile Include="..\Objects\structseq.c" />
328    <ClCompile Include="..\Objects\tupleobject.c" />
329    <ClCompile Include="..\Objects\typeobject.c" />
330    <ClCompile Include="..\Objects\unicodectype.c" />
331    <ClCompile Include="..\Objects\unicodeobject.c" />
332    <ClCompile Include="..\Objects\weakrefobject.c" />
333    <ClCompile Include="..\Parser\acceler.c" />
334    <ClCompile Include="..\Parser\bitset.c" />
335    <ClCompile Include="..\Parser\firstsets.c" />
336    <ClCompile Include="..\Parser\grammar.c" />
337    <ClCompile Include="..\Parser\grammar1.c" />
338    <ClCompile Include="..\Parser\listnode.c" />
339    <ClCompile Include="..\Parser\metagrammar.c" />
340    <ClCompile Include="..\Parser\myreadline.c" />
341    <ClCompile Include="..\Parser\node.c" />
342    <ClCompile Include="..\Parser\parser.c" />
343    <ClCompile Include="..\Parser\parsetok.c" />
344    <ClCompile Include="..\Parser\tokenizer.c" />
345    <ClCompile Include="..\PC\invalid_parameter_handler.c" />
346    <ClCompile Include="..\PC\winreg.c" />
347    <ClCompile Include="..\PC\config.c" />
348    <ClCompile Include="..\PC\getpathp.c" />
349    <ClCompile Include="..\PC\msvcrtmodule.c" />
350    <ClCompile Include="..\Python\pyhash.c" />
351    <ClCompile Include="..\Python\random.c" />
352    <ClCompile Include="..\Python\_warnings.c" />
353    <ClCompile Include="..\Python\asdl.c" />
354    <ClCompile Include="..\Python\ast.c" />
355    <ClCompile Include="..\Python\bltinmodule.c" />
356    <ClCompile Include="..\Python\ceval.c" />
357    <ClCompile Include="..\Python\codecs.c" />
358    <ClCompile Include="..\Python\compile.c" />
359    <ClCompile Include="..\Python\dynamic_annotations.c" />
360    <ClCompile Include="..\Python\dynload_win.c" />
361    <ClCompile Include="..\Python\errors.c" />
362    <ClCompile Include="..\Python\fileutils.c" />
363    <ClCompile Include="..\Python\formatter_unicode.c" />
364    <ClCompile Include="..\Python\frozen.c" />
365    <ClCompile Include="..\Python\future.c" />
366    <ClCompile Include="..\Python\getargs.c" />
367    <ClCompile Include="..\Python\getcompiler.c" />
368    <ClCompile Include="..\Python\getcopyright.c" />
369    <ClCompile Include="..\Python\getopt.c" />
370    <ClCompile Include="..\Python\getplatform.c" />
371    <ClCompile Include="..\Python\getversion.c" />
372    <ClCompile Include="..\Python\graminit.c" />
373    <ClCompile Include="..\Python\import.c" />
374    <ClCompile Include="..\Python\importdl.c" />
375    <ClCompile Include="..\Python\marshal.c" />
376    <ClCompile Include="..\Python\modsupport.c" />
377    <ClCompile Include="..\Python\mysnprintf.c" />
378    <ClCompile Include="..\Python\mystrtoul.c" />
379    <ClCompile Include="..\Python\peephole.c" />
380    <ClCompile Include="..\Python\pyarena.c" />
381    <ClCompile Include="..\Python\pyctype.c" />
382    <ClCompile Include="..\Python\pyfpe.c" />
383    <ClCompile Include="..\Python\pylifecycle.c" />
384    <ClCompile Include="..\Python\pymath.c" />
385    <ClCompile Include="..\Python\pytime.c" />
386    <ClCompile Include="..\Python\pystate.c" />
387    <ClCompile Include="..\Python\pystrcmp.c" />
388    <ClCompile Include="..\Python\pystrhex.c" />
389    <ClCompile Include="..\Python\pystrtod.c" />
390    <ClCompile Include="..\Python\dtoa.c" />
391    <ClCompile Include="..\Python\Python-ast.c" />
392    <ClCompile Include="..\Python\pythonrun.c" />
393    <ClCompile Include="..\Python\structmember.c" />
394    <ClCompile Include="..\Python\symtable.c" />
395    <ClCompile Include="..\Python\sysmodule.c" />
396    <ClCompile Include="..\Python\thread.c" />
397    <ClCompile Include="..\Python\traceback.c" />
398  </ItemGroup>
399  <ItemGroup>
400    <ClCompile Include="..\PC\dl_nt.c" />
401  </ItemGroup>
402  <ItemGroup>
403    <ResourceCompile Include="..\PC\python_nt.rc" />
404  </ItemGroup>
405  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
406  <ImportGroup Label="ExtensionTargets">
407  </ImportGroup>
408  <Target Name="_GetBuildInfo" BeforeTargets="PrepareForBuild">
409    <PropertyGroup>
410      <GIT Condition="$(GIT) == ''">git</GIT>
411      <_GIT>$(GIT)</_GIT>
412      <_GIT Condition="$(GIT.Contains(` `))">"$(GIT)"</_GIT>
413    </PropertyGroup>
414    <Message Text="Getting build info from $(_GIT)" Importance="high" />
415    <MakeDir Directories="$(IntDir)" Condition="!Exists($(IntDir))" />
416    <Exec Command="$(_GIT) name-rev --name-only HEAD &gt; &quot;$(IntDir)gitbranch.txt&quot;" ContinueOnError="true" />
417    <Exec Command="$(_GIT) rev-parse --short HEAD &gt; &quot;$(IntDir)gitversion.txt&quot;" ContinueOnError="true" />
418    <Exec Command="$(_GIT) describe --all --always --dirty &gt; &quot;$(IntDir)gittag.txt&quot;" ContinueOnError="true" />
419    <PropertyGroup>
420      <GitBranch Condition="Exists('$(IntDir)gitbranch.txt')">$([System.IO.File]::ReadAllText('$(IntDir)gitbranch.txt').Trim())</GitBranch>
421      <GitVersion Condition="Exists('$(IntDir)gitversion.txt')">$([System.IO.File]::ReadAllText('$(IntDir)gitversion.txt').Trim())</GitVersion>
422      <GitTag Condition="Exists('$(IntDir)gittag.txt')">$([System.IO.File]::ReadAllText('$(IntDir)gittag.txt').Trim())</GitTag>
423    </PropertyGroup>
424    <Message Text="Building $(GitTag):$(GitVersion) $(GitBranch)" Importance="high" />
425    <ItemGroup>
426      <ClCompile Include="..\Modules\getbuildinfo.c">
427        <PreprocessorDefinitions>GITVERSION="$(GitVersion)";GITTAG="$(GitTag)";GITBRANCH="$(GitBranch)";%(PreprocessorDefinitions)</PreprocessorDefinitions>
428      </ClCompile>
429    </ItemGroup>
430  </Target>
431  <Target Name="_WarnAboutToolset" BeforeTargets="PrepareForBuild" Condition="$(PlatformToolset) != 'v140'">
432    <Warning Text="Toolset $(PlatformToolset) is not used for official builds. Your build may have errors or incompatibilities." />
433  </Target>
434</Project>
435