Skip to content

Commit 3139ea3

Browse files
authored
gh-101522: Allow overriding Windows dependencies versions and paths using MSBuild properties (GH-101523)
1 parent 42b1404 commit 3139ea3

File tree

3 files changed

+46
-31
lines changed

3 files changed

+46
-31
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Allow overriding Windows dependencies versions and paths using MSBuild
2+
properties.

PCbuild/python.props

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -52,23 +52,32 @@
5252
<BuildPath Condition="'$(BuildPath)' == ''">$(PySourcePath)PCbuild\$(ArchName)\</BuildPath>
5353
<BuildPath Condition="!HasTrailingSlash($(BuildPath))">$(BuildPath)\</BuildPath>
5454
<BuildPath Condition="$(Configuration) == 'PGInstrument'">$(BuildPath)instrumented\</BuildPath>
55-
56-
<!-- Directories of external projects. tcltk is handled in tcltk.props -->
57-
<ExternalsDir>$(EXTERNALS_DIR)</ExternalsDir>
55+
</PropertyGroup>
56+
57+
<!-- Directories of external projects. tcltk is handled in tcltk.props -->
58+
<PropertyGroup>
59+
<ExternalsDir Condition="$(ExternalsDir) == ''">$(EXTERNALS_DIR)</ExternalsDir>
5860
<ExternalsDir Condition="$(ExternalsDir) == ''">$([System.IO.Path]::GetFullPath(`$(PySourcePath)externals`))</ExternalsDir>
5961
<ExternalsDir Condition="!HasTrailingSlash($(ExternalsDir))">$(ExternalsDir)\</ExternalsDir>
60-
<sqlite3Dir>$(ExternalsDir)sqlite-3.39.4.0\</sqlite3Dir>
61-
<bz2Dir>$(ExternalsDir)bzip2-1.0.8\</bz2Dir>
62-
<lzmaDir>$(ExternalsDir)xz-5.2.5\</lzmaDir>
63-
<libffiDir>$(ExternalsDir)libffi-3.3.0\</libffiDir>
64-
<libffiOutDir>$(ExternalsDir)libffi-3.3.0\$(ArchName)\</libffiOutDir>
65-
<libffiIncludeDir>$(libffiOutDir)include</libffiIncludeDir>
66-
<opensslDir>$(ExternalsDir)openssl-1.1.1s\</opensslDir>
67-
<opensslOutDir>$(ExternalsDir)openssl-bin-1.1.1s\$(ArchName)\</opensslOutDir>
68-
<opensslIncludeDir>$(opensslOutDir)include</opensslIncludeDir>
69-
<nasmDir>$(ExternalsDir)\nasm-2.11.06\</nasmDir>
70-
<zlibDir>$(ExternalsDir)\zlib-1.2.13\</zlibDir>
71-
62+
</PropertyGroup>
63+
64+
<Import Project="$(ExternalProps)" Condition="$(ExternalProps) != '' and Exists('$(ExternalProps)')" />
65+
66+
<PropertyGroup>
67+
<sqlite3Dir Condition="$(sqlite3Dir) == ''">$(ExternalsDir)sqlite-3.39.4.0\</sqlite3Dir>
68+
<bz2Dir Condition="$(bz2Dir) == ''">$(ExternalsDir)bzip2-1.0.8\</bz2Dir>
69+
<lzmaDir Condition="$(lzmaDir) == ''">$(ExternalsDir)xz-5.2.5\</lzmaDir>
70+
<libffiDir Condition="$(libffiDir) == ''">$(ExternalsDir)libffi-3.3.0\</libffiDir>
71+
<libffiOutDir Condition="$(libffiOutDir) == ''">$(libffiDir)$(ArchName)\</libffiOutDir>
72+
<libffiIncludeDir Condition="$(libffiIncludeDir) == ''">$(libffiOutDir)include</libffiIncludeDir>
73+
<opensslDir Condition="$(opensslDir) == ''">$(ExternalsDir)openssl-1.1.1s\</opensslDir>
74+
<opensslOutDir Condition="$(opensslOutDir) == ''">$(ExternalsDir)openssl-bin-1.1.1s\$(ArchName)\</opensslOutDir>
75+
<opensslIncludeDir Condition="$(opensslIncludeDir) == ''">$(opensslOutDir)include</opensslIncludeDir>
76+
<nasmDir Condition="$(nasmDir) == ''">$(ExternalsDir)\nasm-2.11.06\</nasmDir>
77+
<zlibDir Condition="$(zlibDir) == ''">$(ExternalsDir)\zlib-1.2.13\</zlibDir>
78+
</PropertyGroup>
79+
80+
<PropertyGroup>
7281
<!-- Suffix for all binaries when building for debug -->
7382
<PyDebugExt Condition="'$(PyDebugExt)' == '' and $(Configuration) == 'Debug'">_d</PyDebugExt>
7483

PCbuild/tcltk.props

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,26 @@
22
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<Import Project="pyproject.props" Condition="$(__PyProject_Props_Imported) != 'true'" />
44
<PropertyGroup>
5-
<TclMajorVersion>8</TclMajorVersion>
6-
<TclMinorVersion>6</TclMinorVersion>
7-
<TclPatchLevel>12</TclPatchLevel>
8-
<TclRevision>0</TclRevision>
9-
<TkMajorVersion>$(TclMajorVersion)</TkMajorVersion>
10-
<TkMinorVersion>$(TclMinorVersion)</TkMinorVersion>
11-
<TkPatchLevel>$(TclPatchLevel)</TkPatchLevel>
12-
<TkRevision>$(TclRevision)</TkRevision>
13-
<TixMajorVersion>8</TixMajorVersion>
14-
<TixMinorVersion>4</TixMinorVersion>
15-
<TixPatchLevel>3</TixPatchLevel>
16-
<TixRevision>6</TixRevision>
17-
<tclDir>$(ExternalsDir)tcl-core-$(TclMajorVersion).$(TclMinorVersion).$(TclPatchLevel).$(TclRevision)\</tclDir>
18-
<tkDir>$(ExternalsDir)tk-$(TkMajorVersion).$(TkMinorVersion).$(TkPatchLevel).$(TkRevision)\</tkDir>
19-
<tixDir>$(ExternalsDir)tix-$(TixMajorVersion).$(TixMinorVersion).$(TixPatchLevel).$(TixRevision)\</tixDir>
20-
<tcltkDir>$(ExternalsDir)tcltk-$(TclMajorVersion).$(TclMinorVersion).$(TclPatchLevel).$(TclRevision)\$(ArchName)\</tcltkDir>
5+
<TclVersion Condition="$(TclVersion) == ''">8.6.12.0</TclVersion>
6+
<TkVersion Condition="$(TkVersion) == ''">$(TclVersion)</TkVersion>
7+
<TixVersion Condition="$(TixVersion) == ''">8.4.3.6</TixVersion>
8+
<TclMajorVersion>$([System.Version]::Parse($(TclVersion)).Major)</TclMajorVersion>
9+
<TclMinorVersion>$([System.Version]::Parse($(TclVersion)).Minor)</TclMinorVersion>
10+
<TclPatchLevel>$([System.Version]::Parse($(TclVersion)).Build)</TclPatchLevel>
11+
<TclRevision>$([System.Version]::Parse($(TclVersion)).Revision)</TclRevision>
12+
<TkMajorVersion>$([System.Version]::Parse($(TkVersion)).Major)</TkMajorVersion>
13+
<TkMinorVersion>$([System.Version]::Parse($(TkVersion)).Minor)</TkMinorVersion>
14+
<TkPatchLevel>$([System.Version]::Parse($(TkVersion)).Build)</TkPatchLevel>
15+
<TkRevision>$([System.Version]::Parse($(TkVersion)).Revision)</TkRevision>
16+
<TixMajorVersion>$([System.Version]::Parse($(TixVersion)).Major)</TixMajorVersion>
17+
<TixMinorVersion>$([System.Version]::Parse($(TixVersion)).Minor)</TixMinorVersion>
18+
<TixPatchLevel>$([System.Version]::Parse($(TixVersion)).Build)</TixPatchLevel>
19+
<TixRevision>$([System.Version]::Parse($(TixVersion)).Revision)</TixRevision>
20+
<tclDir Condition="$(tclDir) == ''">$(ExternalsDir)tcl-core-$(TclVersion)\</tclDir>
21+
<tkDir Condition="$(tkDir) == ''">$(ExternalsDir)tk-$(TkVersion)\</tkDir>
22+
<tixDir Condition="$(tixDir) == ''">$(ExternalsDir)tix-$(TixVersion)\</tixDir>
23+
<tcltkDir Condition="$(tcltkDir) == ''">$(ExternalsDir)tcltk-$(TclVersion)\$(ArchName)\</tcltkDir>
24+
2125
<!--<TclDebugExt Condition="'$(Configuration)' == 'Debug'">g</TclDebugExt>-->
2226
<tclDLLName>tcl$(TclMajorVersion)$(TclMinorVersion)t$(TclDebugExt).dll</tclDLLName>
2327
<tclLibName>tcl$(TclMajorVersion)$(TclMinorVersion)t$(TclDebugExt).lib</tclLibName>

0 commit comments

Comments
 (0)