Skip to content

Commit f6c53b8

Browse files
authored
gh-101522: Allow overriding Windows dependencies versions and paths using MSBuild properties (GH-101523)
1 parent 433fb3e commit f6c53b8

File tree

3 files changed

+44
-30
lines changed

3 files changed

+44
-30
lines changed
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

+23-14
Original file line numberDiff line numberDiff line change
@@ -56,23 +56,32 @@
5656
<!-- VPATH definition (escaped) -->
5757
<PyVPath Condition="$(Configuration) != 'PGInstrument'">..\\..</PyVPath>
5858
<PyVPath Condition="$(Configuration) == 'PGInstrument'">..\\..\\..</PyVPath>
59+
</PropertyGroup>
5960

60-
<!-- Directories of external projects. tcltk is handled in tcltk.props -->
61-
<ExternalsDir>$(EXTERNALS_DIR)</ExternalsDir>
61+
<!-- Directories of external projects. tcltk is handled in tcltk.props -->
62+
<PropertyGroup>
63+
<ExternalsDir Condition="$(ExternalsDir) == ''">$(EXTERNALS_DIR)</ExternalsDir>
6264
<ExternalsDir Condition="$(ExternalsDir) == ''">$([System.IO.Path]::GetFullPath(`$(PySourcePath)externals`))</ExternalsDir>
6365
<ExternalsDir Condition="!HasTrailingSlash($(ExternalsDir))">$(ExternalsDir)\</ExternalsDir>
64-
<sqlite3Dir>$(ExternalsDir)sqlite-3.39.4.0\</sqlite3Dir>
65-
<bz2Dir>$(ExternalsDir)bzip2-1.0.8\</bz2Dir>
66-
<lzmaDir>$(ExternalsDir)xz-5.2.5\</lzmaDir>
67-
<libffiDir>$(ExternalsDir)libffi-3.4.3\</libffiDir>
68-
<libffiOutDir>$(ExternalsDir)libffi-3.4.3\$(ArchName)\</libffiOutDir>
69-
<libffiIncludeDir>$(libffiOutDir)include</libffiIncludeDir>
70-
<opensslDir>$(ExternalsDir)openssl-1.1.1s\</opensslDir>
71-
<opensslOutDir>$(ExternalsDir)openssl-bin-1.1.1s\$(ArchName)\</opensslOutDir>
72-
<opensslIncludeDir>$(opensslOutDir)include</opensslIncludeDir>
73-
<nasmDir>$(ExternalsDir)\nasm-2.11.06\</nasmDir>
74-
<zlibDir>$(ExternalsDir)\zlib-1.2.13\</zlibDir>
75-
66+
</PropertyGroup>
67+
68+
<Import Project="$(ExternalProps)" Condition="$(ExternalProps) != '' and Exists('$(ExternalProps)')" />
69+
70+
<PropertyGroup>
71+
<sqlite3Dir Condition="$(sqlite3Dir) == ''">$(ExternalsDir)sqlite-3.39.4.0\</sqlite3Dir>
72+
<bz2Dir Condition="$(bz2Dir) == ''">$(ExternalsDir)bzip2-1.0.8\</bz2Dir>
73+
<lzmaDir Condition="$(lzmaDir) == ''">$(ExternalsDir)xz-5.2.5\</lzmaDir>
74+
<libffiDir Condition="$(libffiDir) == ''">$(ExternalsDir)libffi-3.4.3\</libffiDir>
75+
<libffiOutDir Condition="$(libffiOutDir) == ''">$(libffiDir)$(ArchName)\</libffiOutDir>
76+
<libffiIncludeDir Condition="$(libffiIncludeDir) == ''">$(libffiOutDir)include</libffiIncludeDir>
77+
<opensslDir Condition="$(opensslDir) == ''">$(ExternalsDir)openssl-1.1.1s\</opensslDir>
78+
<opensslOutDir Condition="$(opensslOutDir) == ''">$(ExternalsDir)openssl-bin-1.1.1s\$(ArchName)\</opensslOutDir>
79+
<opensslIncludeDir Condition="$(opensslIncludeDir) == ''">$(opensslOutDir)include</opensslIncludeDir>
80+
<nasmDir Condition="$(nasmDir) == ''">$(ExternalsDir)\nasm-2.11.06\</nasmDir>
81+
<zlibDir Condition="$(zlibDir) == ''">$(ExternalsDir)\zlib-1.2.13\</zlibDir>
82+
</PropertyGroup>
83+
84+
<PropertyGroup>
7685
<!-- Suffix for all binaries when building for debug -->
7786
<PyDebugExt Condition="'$(PyDebugExt)' == '' and $(Configuration) == 'Debug'">_d</PyDebugExt>
7887

PCbuild/tcltk.props

+19-16
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,25 @@
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>13</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.13.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>
2124
<tclWin32Exe Condition="$(Platform) == 'Win32'">$(tcltkDir)\bin\tclsh$(TclMajorVersion)$(TclMinorVersion)t.exe</tclWin32Exe>
2225
<tclWin32Exe Condition="$(Platform) != 'Win32'">$(tcltkDir)\..\win32\bin\tclsh$(TclMajorVersion)$(TclMinorVersion)t.exe</tclWin32Exe>
2326

0 commit comments

Comments
 (0)