]> asedeno.scripts.mit.edu Git - PuTTY.git/commitdiff
Do the Windows build in a subdirectory windows/build32.
authorSimon Tatham <anakin@pobox.com>
Sat, 21 Jan 2017 14:55:47 +0000 (14:55 +0000)
committerSimon Tatham <anakin@pobox.com>
Sat, 21 Jan 2017 14:55:47 +0000 (14:55 +0000)
Uses the BUILDDIR mechanism I added to Makefile.vc in commit
d3db17f3e.

This change is purely internal to Buildscr, and shouldn't affect the
output of a build. It paves the way to have Buildscr run multiple
Windows builds using different compilers, by putting each one in a
different subdirectory so that their outputs don't collide.

Buildscr
windows/installer.wxs
windows/putty.iss

index 863f01bd31df7d8d009a00528c0762707bc81128..c8cce3898271f1b69955276aa1c4b5f1f13f2753 100644 (file)
--- a/Buildscr
+++ b/Buildscr
@@ -156,14 +156,14 @@ in putty do convert -size 493x58 canvas:white \( icons/putty-48.png -geometry +4
 
 delegate windows
   # Build the main binaries.
-  in putty/windows with visualstudio do/win nmake -f Makefile.vc $(Makeargs) all cleantestprogs
+  in putty/windows with visualstudio do/win mkdir build32 && nmake -f Makefile.vc BUILDDIR=build32\ $(Makeargs) all cleantestprogs
 
   # Code-sign the binaries, if the local bob config provides a script
   # to do so. We assume here that the script accepts an -i option to
   # provide a 'more info' URL, and an optional -n option to provide a
   # program name, and that it can take multiple .exe filename
   # arguments and sign them all in place.
-  ifneq "$(winsigncode)" "" in putty/windows do $(winsigncode) -i http://www.chiark.greenend.org.uk/~sgtatham/putty/ *.exe
+  ifneq "$(winsigncode)" "" in putty/windows do $(winsigncode) -i http://www.chiark.greenend.org.uk/~sgtatham/putty/ build*/*.exe
 
   # Ignore exit code from hhc, in favour of seeing whether the .chm
   # file was created. (Yuck; but hhc appears to return non-zero
@@ -171,7 +171,7 @@ delegate windows
   in putty/doc with htmlhelp do/win hhc putty.hhp & type putty.chm >nul
 
   # Build the WiX MSI installer.
-  in putty/windows with wix do/win candle -dWinver="$(Winver)" -dPuttytextver="$(Puttytextver)" installer.wxs && light -ext WixUIExtension -ext WixUtilExtension -sval installer.wixobj
+  in putty/windows with wix do/win candle -dBuilddir=build32\ -dWinver="$(Winver)" -dPuttytextver="$(Puttytextver)" installer.wxs && light -ext WixUIExtension -ext WixUtilExtension -sval installer.wixobj
 
   # Build the old Inno Setup installer.
   in putty/windows with innosetup do/win iscc putty.iss
@@ -180,20 +180,20 @@ delegate windows
   ifneq "$(winsigncode)" "" in putty/windows do $(winsigncode) -i http://www.chiark.greenend.org.uk/~sgtatham/putty/ -n "PuTTY Installer" installer.msi Output/installer.exe
 
   # Finished Windows builds.
-  return putty/windows/*.exe
-  return putty/windows/*.map
+  return putty/windows/build32/*.exe
+  return putty/windows/build32/*.map
   return putty/doc/putty.chm
   return putty/windows/installer.msi
   return putty/windows/Output/installer.exe
 enddelegate
 in putty/doc do make mostlyclean
 in putty/doc do make $(Docmakever)
-in putty/windows do zip -k -j putty.zip `ls *.exe | grep -v puttytel` ../doc/putty.chm ../doc/putty.hlp ../doc/putty.cnt
+in putty/windows/build32 do zip -k -j putty.zip `ls *.exe | grep -v puttytel` ../../doc/putty.chm ../../doc/putty.hlp ../../doc/putty.cnt
 in putty/doc do zip puttydoc.zip *.html
 
 # Deliver the actual PuTTY release directory into a subdir `putty'.
-deliver putty/windows/*.exe putty/x86/$@
-deliver putty/windows/putty.zip putty/x86/$@
+deliver putty/windows/build32/*.exe putty/x86/$@
+deliver putty/windows/build32/putty.zip putty/x86/$@
 deliver putty/windows/installer.msi putty/x86/$(Ifilename).msi
 deliver putty/windows/Output/installer.exe putty/x86/$(Ifilename).exe
 deliver putty/doc/puttydoc.zip putty/$@
@@ -206,7 +206,7 @@ deliver putty/putty-src.zip putty/$@
 deliver putty/*.tar.gz putty/$@
 
 # Deliver the map files alongside the `proper' release deliverables.
-deliver putty/windows/*.map maps-x86/$@
+deliver putty/windows/build32/*.map maps-x86/$@
 
 # Deliver sign.sh, so that whoever has just built PuTTY (the
 # snapshot scripts or me, depending) can conveniently sign it with
index 52e7cb771effeb472a5c9d3b51bc81c600ac129c..53a3f84eb14a731d778796e8d2b0b426738a5970 100644 (file)
@@ -92,7 +92,7 @@
           <Component Id="PuTTY_Component"
                      Guid="07ACF511-6DF6-4883-AABA-33BC14901324">
             <File Id="PuTTY_File"
-                  Source="putty.exe" KeyPath="yes">
+                  Source="$(var.Builddir)putty.exe" KeyPath="yes">
               <Shortcut Id="startmenuPuTTY" Directory="ProgramMenuDir"
                         WorkingDirectory="INSTALLDIR"
                         Name="PuTTY" Advertise="no" />
           <Component Id="Pageant_Component"
                      Guid="649F963E-21C4-4755-8CE4-D80598DCEE6D">
             <File Id="Pageant_File"
-                  Source="pageant.exe" KeyPath="yes">
+                  Source="$(var.Builddir)pageant.exe" KeyPath="yes">
               <Shortcut Id="startmenuPageant" Directory="ProgramMenuDir"
                         WorkingDirectory="INSTALLDIR"
                         Name="Pageant" Advertise="no" />
           <Component Id="PSFTP_Component"
                      Guid="3D7B9536-EC0E-4A6A-A3DF-8D285474391A">
             <File Id="PSFTP_File"
-                  Source="psftp.exe" KeyPath="yes">
+                  Source="$(var.Builddir)psftp.exe" KeyPath="yes">
               <Shortcut Id="startmenuPSFTP" Directory="ProgramMenuDir"
                         WorkingDirectory="INSTALLDIR"
                         Name="PSFTP" Advertise="no" />
           <Component Id="PuTTYgen_Component"
                      Guid="4774F6B3-8A07-42A5-9F4D-E7FE6AA78B84">
             <File Id="PuTTYgen_File"
-                  Source="puttygen.exe" KeyPath="yes">
+                  Source="$(var.Builddir)puttygen.exe" KeyPath="yes">
               <Shortcut Id="startmenuPuTTYgen" Directory="ProgramMenuDir"
                         WorkingDirectory="INSTALLDIR"
                         Name="PuTTYgen" Advertise="no" />
           <Component Id="Plink_Component"
                      Guid="7D96F9BB-4154-49D6-86AE-0D8F1379ACBC">
             <File Id="Plink_File"
-                  Source="plink.exe" KeyPath="yes" />
+                  Source="$(var.Builddir)plink.exe" KeyPath="yes" />
           </Component>
           <Component Id="PSCP_Component"
                      Guid="71519D4A-3ED5-4A46-A7E4-B6E4600A8684">
             <File Id="PSCP_File"
-                  Source="pscp.exe" KeyPath="yes" />
+                  Source="$(var.Builddir)pscp.exe" KeyPath="yes" />
           </Component>
 
           <Component Id="HelpFile_Component"
index 79a4dc4985b715fd4e41f660bc99813719a588f8..46a818c1fe0d0ecd25e3b8117a52df92a27b25a7 100644 (file)
@@ -43,12 +43,12 @@ OutputBaseFilename=installer
 ; reboot" option, but the developers have no interest in adding one.\r
 ; NB: apparently, using long (non-8.3) filenames with restartreplace is a\r
 ; bad idea. (Not that we do.)\r
-Source: "putty.exe"; DestDir: "{app}"; Flags: promptifolder replacesameversion restartreplace uninsrestartdelete\r
-Source: "pageant.exe"; DestDir: "{app}"; Flags: promptifolder replacesameversion restartreplace uninsrestartdelete\r
-Source: "puttygen.exe"; DestDir: "{app}"; Flags: promptifolder replacesameversion restartreplace uninsrestartdelete\r
-Source: "pscp.exe"; DestDir: "{app}"; Flags: promptifolder replacesameversion restartreplace uninsrestartdelete\r
-Source: "psftp.exe"; DestDir: "{app}"; Flags: promptifolder replacesameversion restartreplace uninsrestartdelete\r
-Source: "plink.exe"; DestDir: "{app}"; Flags: promptifolder replacesameversion restartreplace uninsrestartdelete\r
+Source: "build32\putty.exe"; DestDir: "{app}"; Flags: promptifolder replacesameversion restartreplace uninsrestartdelete\r
+Source: "build32\pageant.exe"; DestDir: "{app}"; Flags: promptifolder replacesameversion restartreplace uninsrestartdelete\r
+Source: "build32\puttygen.exe"; DestDir: "{app}"; Flags: promptifolder replacesameversion restartreplace uninsrestartdelete\r
+Source: "build32\pscp.exe"; DestDir: "{app}"; Flags: promptifolder replacesameversion restartreplace uninsrestartdelete\r
+Source: "build32\psftp.exe"; DestDir: "{app}"; Flags: promptifolder replacesameversion restartreplace uninsrestartdelete\r
+Source: "build32\plink.exe"; DestDir: "{app}"; Flags: promptifolder replacesameversion restartreplace uninsrestartdelete\r
 Source: "website.url"; DestDir: "{app}"; Flags: restartreplace uninsrestartdelete\r
 Source: "..\doc\putty.chm"; DestDir: "{app}"; Flags: restartreplace uninsrestartdelete\r
 Source: "..\doc\putty.hlp"; DestDir: "{app}"; Flags: restartreplace uninsrestartdelete\r