From a4d82d90a81ebd159b04fb4620a0a338eea6a825 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Thu, 31 May 2018 18:19:23 +0100 Subject: [PATCH] Add Arm Windows builds to the main build script. I build both 32- and 64-bit versions of the .exe files, code-sign them, and create the same .zip file as I do for x86 Windows. I don't yet have a method of building Arm MSI installers, though. --- Buildscr | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Buildscr b/Buildscr index 8833a9c4..88366213 100644 --- a/Buildscr +++ b/Buildscr @@ -163,6 +163,10 @@ in putty do convert -size 493x58 canvas:white \( icons/putty-48.png -geometry +4 in putty/windows with clangcl32 do mkdir build32 && Platform=x86 make -f Makefile.clangcl BUILDDIR=build32/ SUBSYSVER=,5.01 $(Makeargs) all cleantestprogs in putty/windows with clangcl64 do mkdir build64 && Platform=x64 make -f Makefile.clangcl BUILDDIR=build64/ $(Makeargs) all cleantestprogs +# Build experimental Arm Windows binaries. +in putty/windows with clangcl_a32 do mkdir abuild32 && Platform=arm make -f Makefile.clangcl BUILDDIR=abuild32/ SUBSYSVER=,5.01 $(Makeargs) all cleantestprogs +in putty/windows with clangcl_a64 do mkdir abuild64 && Platform=arm64 make -f Makefile.clangcl BUILDDIR=abuild64/ $(Makeargs) all cleantestprogs + # Build the 'old' binaries, which should still run on all 32-bit # versions of Windows back to Win95 (but not Win32s). These link # against Visual Studio 2003 libraries (the more modern versions @@ -179,7 +183,7 @@ in putty/windows with clangcl32_2003 do mkdir buildold && Platform=x86 make -f M # take the program name from an .exe's version resource, and that it # can accept multiple .exe or .msi filename arguments and sign them # all in place. -ifneq "$(cross_winsigncode)" "" in putty/windows do $(cross_winsigncode) -N -i https://www.chiark.greenend.org.uk/~sgtatham/putty/ build*/*.exe +ifneq "$(cross_winsigncode)" "" in putty/windows do $(cross_winsigncode) -N -i https://www.chiark.greenend.org.uk/~sgtatham/putty/ build*/*.exe abuild*/*.exe # Build a WiX MSI installer, for each of build32 and build64. in putty/windows with wixonlinux do candle -arch x86 -dWin64=no -dBuilddir=build32/ -dWinver="$(Winver)" -dPuttytextver="$(Puttytextver)" installer.wxs && light -ext WixUIExtension -ext WixUtilExtension -sval installer.wixobj -o installer32.msi -spdb @@ -193,6 +197,8 @@ in putty/doc do make $(Docmakever) in putty/windows/buildold 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/windows/build64 do zip -k -j putty.zip `ls *.exe | grep -v puttytel` ../../doc/putty.chm ../../doc/putty.hlp ../../doc/putty.cnt +in putty/windows/abuild32 do zip -k -j putty.zip `ls *.exe | grep -v puttytel` ../../doc/putty.chm ../../doc/putty.hlp ../../doc/putty.cnt +in putty/windows/abuild64 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'. @@ -204,6 +210,10 @@ deliver putty/windows/build64/*.exe putty/w64/$@ deliver putty/windows/build64/putty.zip putty/w64/$@ deliver putty/windows/installer32.msi putty/w32/$(Ifilename32).msi deliver putty/windows/installer64.msi putty/w64/$(Ifilename64).msi +deliver putty/windows/abuild32/*.exe putty/wa32/$@ +deliver putty/windows/abuild32/putty.zip putty/wa32/$@ +deliver putty/windows/abuild64/*.exe putty/wa64/$@ +deliver putty/windows/abuild64/putty.zip putty/wa64/$@ deliver putty/doc/puttydoc.zip putty/$@ deliver putty/doc/putty.chm putty/$@ deliver putty/doc/putty.hlp putty/$@ @@ -217,6 +227,8 @@ deliver putty/*.tar.gz putty/$@ deliver putty/windows/buildold/*.map maps/w32old/$@ deliver putty/windows/build32/*.map maps/w32/$@ deliver putty/windows/build64/*.map maps/w64/$@ +deliver putty/windows/abuild32/*.map maps/wa32/$@ +deliver putty/windows/abuild64/*.map maps/wa64/$@ # Deliver sign.sh, so that whoever has just built PuTTY (the # snapshot scripts or me, depending) can conveniently sign it with