summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Dower <steve.dower@microsoft.com>2016-11-22 19:49:09 (GMT)
committerSteve Dower <steve.dower@microsoft.com>2016-11-22 19:49:09 (GMT)
commitbbf32e1c9875ab8237a00a20ebc62e5d752adeda (patch)
tree3d240dfa41f50ecb097b556f93311ddbe5f7315e
parent0b87b69a6e5db7b3ddd4590439af6142dbc7bd7f (diff)
parent02a4018c6e375cfa8d828fa7f4c34c9de82a3df2 (diff)
downloadcpython-bbf32e1c9875ab8237a00a20ebc62e5d752adeda.zip
cpython-bbf32e1c9875ab8237a00a20ebc62e5d752adeda.tar.gz
cpython-bbf32e1c9875ab8237a00a20ebc62e5d752adeda.tar.bz2
Issue #28573: Missing sys._mercurial info and other build issues.
-rw-r--r--PCbuild/pythoncore.vcxproj13
-rw-r--r--Tools/msi/buildrelease.bat19
2 files changed, 26 insertions, 6 deletions
diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj
index 963da89..89415ae 100644
--- a/PCbuild/pythoncore.vcxproj
+++ b/PCbuild/pythoncore.vcxproj
@@ -406,14 +406,21 @@
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<Target Name="_GetBuildInfo" BeforeTargets="PrepareForBuild">
- <Exec Command="hg id -b &gt; &quot;$(IntDir)hgbranch.txt&quot;" ContinueOnError="true" />
- <Exec Command="hg id -i &gt; &quot;$(IntDir)hgversion.txt&quot;" ContinueOnError="true" />
- <Exec Command="hg id -t &gt; &quot;$(IntDir)hgtag.txt&quot;" ContinueOnError="true" />
+ <PropertyGroup>
+ <HG Condition="$(HG) == ''">hg</HG>
+ <_HG>$(HG)</_HG>
+ <_HG Condition="$(HG.Contains(` `))">"$(HG)"</_HG>
+ </PropertyGroup>
+ <Message Text="Getting build info from $(_HG)" Importance="high" />
+ <Exec Command="$(_HG) id -b &gt; &quot;$(IntDir)hgbranch.txt&quot;" ContinueOnError="true" />
+ <Exec Command="$(_HG) id -i &gt; &quot;$(IntDir)hgversion.txt&quot;" ContinueOnError="true" />
+ <Exec Command="$(_HG) id -t &gt; &quot;$(IntDir)hgtag.txt&quot;" ContinueOnError="true" />
<PropertyGroup>
<HgBranch Condition="Exists('$(IntDir)hgbranch.txt')">$([System.IO.File]::ReadAllText('$(IntDir)hgbranch.txt').Trim())</HgBranch>
<HgVersion Condition="Exists('$(IntDir)hgversion.txt')">$([System.IO.File]::ReadAllText('$(IntDir)hgversion.txt').Trim())</HgVersion>
<HgTag Condition="Exists('$(IntDir)hgtag.txt')">$([System.IO.File]::ReadAllText('$(IntDir)hgtag.txt').Trim())</HgTag>
</PropertyGroup>
+ <Message Text="Building $(HgTag):$(HgVersion) $(HgBranch)" Importance="high" />
<ItemGroup>
<ClCompile Include="..\Modules\getbuildinfo.c">
<PreprocessorDefinitions>HGVERSION="$(HgVersion)";HGTAG="$(HgTag)";HGBRANCH="$(HgBranch)";%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/Tools/msi/buildrelease.bat b/Tools/msi/buildrelease.bat
index 1e01a8c..f203bad 100644
--- a/Tools/msi/buildrelease.bat
+++ b/Tools/msi/buildrelease.bat
@@ -78,7 +78,8 @@ call "%D%..\..\doc\make.bat" htmlhelp
if errorlevel 1 goto :eof
:skipdoc
-where hg /q || echo Cannot find Mercurial on PATH && exit /B 1
+where hg > "%TEMP%\hg.loc" 2> nul && set /P HG= < "%TEMP%\hg.loc" & del "%TEMP%\hg.loc"
+if not exist "%HG%" echo Cannot find Mercurial on PATH && exit /B 1
where dlltool /q && goto skipdlltoolsearch
set _DLLTOOL_PATH=
@@ -128,6 +129,12 @@ if exist "%BUILD%en-us" (
if errorlevel 1 exit /B
)
+if exist "%D%obj\Debug_%OBJDIR_PLAT%" (
+ echo Deleting "%D%obj\Debug_%OBJDIR_PLAT%"
+ rmdir /q/s "%D%obj\Debug_%OBJDIR_PLAT%"
+ if errorlevel 1 exit /B
+)
+
if exist "%D%obj\Release_%OBJDIR_PLAT%" (
echo Deleting "%D%obj\Release_%OBJDIR_PLAT%"
rmdir /q/s "%D%obj\Release_%OBJDIR_PLAT%"
@@ -145,8 +152,14 @@ if not "%PGO%" EQU "" (
set PGOOPTS=
)
if not "%SKIPBUILD%" EQU "1" (
- @echo call "%PCBUILD%build.bat" -e -p %BUILD_PLAT% -t %TARGET% %CERTOPTS% %PGOOPTS%
- @call "%PCBUILD%build.bat" -e -p %BUILD_PLAT% -t %TARGET% %CERTOPTS% %PGOOPTS%
+ @echo call "%PCBUILD%build.bat" -e -p %BUILD_PLAT% -t %TARGET% %PGOOPTS% %CERTOPTS%
+ @call "%PCBUILD%build.bat" -e -p %BUILD_PLAT% -t %TARGET% %PGOOPTS% %CERTOPTS%
+ @if errorlevel 1 exit /B
+ @rem build.bat turns echo back on, so we disable it again
+ @echo off
+
+ @echo call "%PCBUILD%build.bat" -d -e -p %BUILD_PLAT% -t %TARGET%
+ @call "%PCBUILD%build.bat" -d -e -p %BUILD_PLAT% -t %TARGET%
@if errorlevel 1 exit /B
@rem build.bat turns echo back on, so we disable it again
@echo off