File tree Expand file tree Collapse file tree 10 files changed +86
-13
lines changed Expand file tree Collapse file tree 10 files changed +86
-13
lines changed Original file line number Diff line number Diff line change @@ -14,6 +14,8 @@ test_script:
14
14
- cmd : PCbuild\rt.bat -q -uall -u-cpu -rwW --slowest --timeout=1200 --fail-env-changed -j0
15
15
environment :
16
16
HOST_PYTHON : C:\Python36\python.exe
17
+ image :
18
+ - Visual Studio 2017
17
19
18
20
# Only trigger AppVeyor if actual code or its configuration changes
19
21
only_commits :
Original file line number Diff line number Diff line change @@ -16,8 +16,19 @@ if not defined SPHINXBUILD if defined PYTHON (
16
16
set SPHINXBUILD = %PYTHON% -c " import sphinx, sys; sys.argv[0] = 'sphinx-build'; sphinx.main()"
17
17
)
18
18
19
+ if not defined BLURB if defined PYTHON (
20
+ %PYTHON% -c " import blurb" > nul 2 > nul
21
+ if errorlevel 1 (
22
+ echo Installing blurb with %PYTHON%
23
+ %PYTHON% -m pip install blurb
24
+ if errorlevel 1 exit /B
25
+ )
26
+ set BLURB = %PYTHON% -m blurb
27
+ )
28
+
19
29
if not defined PYTHON set PYTHON = py
20
30
if not defined SPHINXBUILD set SPHINXBUILD = sphinx-build
31
+ if not defined BLURB set BLURB = blurb
21
32
22
33
if " %1 " NEQ " htmlhelp" goto :skiphhcsearch
23
34
if exist " %HTMLHELP% " goto :skiphhcsearch
@@ -96,6 +107,19 @@ echo.be passed by setting the SPHINXOPTS environment variable.
96
107
goto end
97
108
98
109
:build
110
+ if exist ..\Misc\NEWS (
111
+ echo .Copying Misc\NEWS to build\NEWS
112
+ copy ..\Misc\NEWS build\NEWS > nul
113
+ ) else if exist ..\Misc\NEWS.D (
114
+ if defined BLURB (
115
+ echo .Merging Misc/NEWS with %BLURB%
116
+ %BLURB% merge -f build\NEWS
117
+ ) else (
118
+ echo .No Misc/NEWS file and Blurb is not available.
119
+ exit /B 1
120
+ )
121
+ )
122
+
99
123
if NOT " %PAPER% " == " " (
100
124
set SPHINXOPTS = -D latex_elements.papersize=%PAPER% %SPHINXOPTS%
101
125
)
Original file line number Diff line number Diff line change @@ -318,26 +318,30 @@ def get_exe_bytes(self):
318
318
# string compares seem wrong, but are what sysconfig.py itself uses
319
319
if self .target_version and self .target_version < cur_version :
320
320
if self .target_version < "2.4" :
321
- bv = 6.0
321
+ bv = ' 6.0'
322
322
elif self .target_version == "2.4" :
323
- bv = 7.1
323
+ bv = ' 7.1'
324
324
elif self .target_version == "2.5" :
325
- bv = 8.0
325
+ bv = ' 8.0'
326
326
elif self .target_version <= "3.2" :
327
- bv = 9.0
327
+ bv = ' 9.0'
328
328
elif self .target_version <= "3.4" :
329
- bv = 10.0
329
+ bv = ' 10.0'
330
330
else :
331
- bv = 14.0
331
+ bv = ' 14.0'
332
332
else :
333
333
# for current version - use authoritative check.
334
334
try :
335
335
from msvcrt import CRT_ASSEMBLY_VERSION
336
336
except ImportError :
337
337
# cross-building, so assume the latest version
338
- bv = 14.0
338
+ bv = ' 14.0'
339
339
else :
340
- bv = float ('.' .join (CRT_ASSEMBLY_VERSION .split ('.' , 2 )[:2 ]))
340
+ bv = '.' .join (CRT_ASSEMBLY_VERSION .split ('.' , 2 )[:2 ])
341
+ if bv == '14.11' :
342
+ # v141 and v140 are binary compatible,
343
+ # so keep using the 14.0 stub.
344
+ bv = '14.0'
341
345
342
346
343
347
# wininst-x.y.exe is in the same directory as this file
@@ -353,7 +357,7 @@ def get_exe_bytes(self):
353
357
else :
354
358
sfix = ''
355
359
356
- filename = os .path .join (directory , "wininst-%.1f %s.exe" % (bv , sfix ))
360
+ filename = os .path .join (directory , "wininst-%s %s.exe" % (bv , sfix ))
357
361
f = open (filename , "rb" )
358
362
try :
359
363
return f .read ()
Original file line number Diff line number Diff line change
1
+ Change to building with MSVC v141 (included with Visual Studio 2017)
Original file line number Diff line number Diff line change @@ -147,8 +147,24 @@ foreach (System.Diagnostics.Process p in System.Diagnostics.Process.GetProcesses
147
147
Targets =" CleanAll" />
148
148
</Target >
149
149
150
+ <Target Name =" CopyPGCFiles" BeforeTargets =" PrepareForBuild" Condition =" $(Configuration) == 'PGUpdate'" >
151
+ <ItemGroup >
152
+ <_PGCFiles Include =" $(OutDir)instrumented\$(TargetName)!*.pgc" />
153
+ <_PGDFile Include =" $(OutDir)instrumented\$(TargetName).pgd" />
154
+ <_CopyFiles Include =" @(_PGCFiles);@(_PGDFile)" Condition =" Exists(%(FullPath))" />
155
+ </ItemGroup >
156
+ <Delete Files =" @(_CopyFiles->'$(OutDir)%(Filename)%(Extension)')" />
157
+ <Error Text =" PGO run did not succeed (no $(TargetName)!*.pgc files) and there is no data to merge"
158
+ Condition =" $(RequirePGCFiles) == 'true' and @(_PGCFiles) == ''" />
159
+ <Copy SourceFiles =" @(_CopyFiles)"
160
+ DestinationFolder =" $(OutDir)"
161
+ UseHardLinksIfPossible =" true"
162
+ OverwriteReadOnlyFiles =" true" />
163
+ </Target >
164
+
150
165
<PropertyGroup >
151
- <SdkBinPath Condition =" '$(SdkBinPath)' == '' or !Exists($(SdkBinPath))" >$(registry:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Kits\Installed Roots@KitsRoot10)\bin\x86</SdkBinPath >
166
+ <SdkBinPath Condition =" '$(SdkBinPath)' == '' or !Exists($(SdkBinPath))" >$(registry:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Kits\Installed Roots@KitsRoot10)\bin\$(DefaultWindowsSDKVersion)\x86</SdkBinPath >
167
+ <SdkBinPath Condition =" !Exists($(SdkBinPath))" >$(registry:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Kits\Installed Roots@KitsRoot10)\bin\x86</SdkBinPath >
152
168
<SdkBinPath Condition =" !Exists($(SdkBinPath))" >$(registry:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Kits\Installed Roots@KitsRoot81)\bin\x86</SdkBinPath >
153
169
<SdkBinPath Condition =" !Exists($(SdkBinPath))" >$(registry:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Kits\Installed Roots@KitsRoot)\bin\x86</SdkBinPath >
154
170
<SdkBinPath Condition =" !Exists($(SdkBinPath))" >$(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.1A@InstallationFolder)\Bin\</SdkBinPath >
Original file line number Diff line number Diff line change 10
10
11
11
We set BasePlatformToolset for ICC's benefit, it's otherwise ignored.
12
12
-->
13
+ <BasePlatformToolset Condition =" '$(BasePlatformToolset)' == '' and ('$(MSBuildToolsVersion)' == '15.0' or '$(VisualStudioVersion)' == '15.0')" >v141</BasePlatformToolset >
13
14
<BasePlatformToolset Condition =" '$(BasePlatformToolset)' == '' and '$(VCTargetsPath14)' != ''" >v140</BasePlatformToolset >
14
15
<BasePlatformToolset Condition =" '$(BasePlatformToolset)' == '' and '$(VCTargetsPath12)' != ''" >v120</BasePlatformToolset >
15
16
<BasePlatformToolset Condition =" '$(BasePlatformToolset)' == '' and '$(VCTargetsPath11)' != ''" >v110</BasePlatformToolset >
39
40
<BuildPath Condition =" '$(ArchName)' == 'amd64'" >$(BuildPath64)</BuildPath >
40
41
<BuildPath Condition =" '$(BuildPath)' == ''" >$(PySourcePath)PCBuild\$(ArchName)\</BuildPath >
41
42
<BuildPath Condition =" !HasTrailingSlash($(BuildPath))" >$(BuildPath)\</BuildPath >
43
+ <BuildPath Condition =" $(Configuration) == 'PGInstrument'" >$(BuildPath)instrumented\</BuildPath >
42
44
43
45
<!-- Directories of external projects. tcltk is handled in tcltk.props -->
44
46
<ExternalsDir >$([System.IO.Path]::GetFullPath(`$(PySourcePath)externals\`))</ExternalsDir >
Original file line number Diff line number Diff line change @@ -96,6 +96,7 @@ set PYTHONPATH=$(PySourcePath)Lib
96
96
<PropertyGroup >
97
97
<_PGOPath Condition =" $(Configuration) == 'PGInstrument' and $(Platform) == 'Win32'" >@set PATH=%PATH%%3B$(VCInstallDir)bin</_PGOPath >
98
98
<_PGOPath Condition =" $(Configuration) == 'PGInstrument' and $(Platform) == 'x64'" >@set PATH=%PATH%%3B$(VCInstallDir)bin\amd64</_PGOPath >
99
+ <_PGOPath Condition =" $(Configuration) == 'PGInstrument' and $(VC_PGO_RunTime_Dir) != ''" >@set PATH=%PATH%%3B$(VC_PGO_RunTime_Dir)</_PGOPath >
99
100
<_Content >@rem This script invokes the most recently built Python with all arguments
100
101
@rem passed through to the interpreter. This file is generated by the
101
102
@rem build process and any changes *will* be thrown away by the next
Original file line number Diff line number Diff line change 49
49
</ImportGroup >
50
50
<PropertyGroup >
51
51
<KillPython >true</KillPython >
52
+ <RequirePGCFiles >true</RequirePGCFiles >
52
53
</PropertyGroup >
53
54
<ImportGroup Label =" PropertySheets" >
54
55
<Import Project =" $(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition =" exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label =" LocalAppDataPlatform" />
429
430
</ClCompile >
430
431
</ItemGroup >
431
432
</Target >
432
- <Target Name =" _WarnAboutToolset" BeforeTargets =" PrepareForBuild" Condition =" $(PlatformToolset) != 'v140'" >
433
+ <Target Name =" _WarnAboutToolset" BeforeTargets =" PrepareForBuild" Condition =" $(PlatformToolset) != 'v140' and $(PlatformToolset) != 'v141' " >
433
434
<Warning Text =" Toolset $(PlatformToolset) is not used for official builds. Your build may have errors or incompatibilities." />
434
435
</Target >
435
436
</Project >
Original file line number Diff line number Diff line change 39
39
Overwrite =" true"
40
40
Lines =" @(_LicenseFiles->'%(Content)')" />
41
41
</Target >
42
-
42
+
43
+ <Target Name =" _CopyMiscNews" AfterTargets =" PrepareForBuild" Condition =" Exists('$(PySourcePath)Misc\NEWS')" >
44
+ <Copy SourceFiles =" $(PySourcePath)Misc\NEWS" DestinationFiles =" $(BuildPath)NEWS.txt" />
45
+ </Target >
46
+
47
+ <Target Name =" _MergeMiscNewsWithBlurb" AfterTargets =" PrepareForBuild" Condition =" $(Blurb) != '' and !Exists('$(PySourcePath)Misc\NEWS')" >
48
+ <Exec Command =" $(Blurb) merge -f " $(BuildPath)NEWS.txt" " WorkingDirectory =" $(PCBuild)" />
49
+ </Target >
50
+
51
+ <Target Name =" _MergeMiscNewsWithPython" AfterTargets =" PrepareForBuild" Condition =" $(Blurb) == '' and !Exists('$(PySourcePath)Misc\NEWS')" >
52
+ <ItemGroup >
53
+ <HostPython Include =" $(ExternalsDir)python*\tools\python.exe" />
54
+ <HostPython Include =" @(HostPython)" Condition =" Exists(%(FullPath))" />
55
+ <HostPython Include =" py" Condition =" @(HostPython) == ''" />
56
+ </ItemGroup >
57
+ <PropertyGroup >
58
+ <HostPython >@(HostPython)</HostPython >
59
+ <HostPython Condition =" $(HostPython.Contains(';'))" >$(HostPython.Remove($(HostPython.IndexOf(';'))))</HostPython >
60
+ </PropertyGroup >
61
+ <Exec Command =" " $(HostPython)" -m pip install -U blurb" WorkingDirectory =" $(PCBuild)" />
62
+ <Exec Command =" " $(HostPython)" -m blurb merge -f " $(BuildPath)NEWS.txt" " WorkingDirectory =" $(PCBuild)" />
63
+ </Target >
64
+
43
65
<Import Project =" ..\msi.targets" />
44
66
</Project >
Original file line number Diff line number Diff line change 6
6
<File Name =" LICENSE.txt" Source =" LICENSE" KeyPath =" yes" />
7
7
</Component >
8
8
<Component Id =" NEWS.txt" Directory =" InstallDirectory" Guid =" *" >
9
- <File Name =" NEWS.txt" Source = " !(bindpath.src)Misc\NEWS " KeyPath =" yes" />
9
+ <File Name =" NEWS.txt" KeyPath =" yes" />
10
10
</Component >
11
11
</ComponentGroup >
12
12
</Fragment >
You can’t perform that action at this time.
0 commit comments