Add a bob script to do Coverity scanning.
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Mon, 22 Jul 2013 19:56:00 +0000 (19:56 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Mon, 22 Jul 2013 19:56:00 +0000 (19:56 +0000)
git-svn-id: svn://svn.tartarus.org/sgt/putty@9969 cda61777-01e9-0310-a592-d414129be87e

Buildscr.cv [new file with mode: 0644]

diff --git a/Buildscr.cv b/Buildscr.cv
new file mode 100644 (file)
index 0000000..877865f
--- /dev/null
@@ -0,0 +1,39 @@
+# -*- sh -*-
+
+# Build script to scan PuTTY with the downloadable Coverity scanner
+# and generate a tar file to upload to their open-source scanning
+# service.
+
+module putty
+
+# Preparations.
+in putty do ./mkfiles.pl
+in putty do ./mkauto.sh
+in putty/doc do make
+
+# Scan the Unix build, on a 64-bit system to differentiate as much as
+# possible from the other scan of the cross-platform files.
+delegate covscan64
+  in putty do ./configure
+  in putty do cov-build --dir cov-int make
+  in putty do tar czvf cov-int.tar.gz cov-int
+  return putty/cov-int.tar.gz
+enddelegate
+
+# Scan the Windows build, by means of building with Winelib (since as
+# of 2013-07-22, the Coverity Scan website doesn't offer a 32-bit
+# Windows scanner for download).
+delegate covscan32wine
+  in putty do tar xzvf cov-int.tar.gz
+  in putty/windows do cov-build --dir ../cov-int make -f Makefile.cyg CC=winegcc RC=wrc
+  in putty do tar czvf cov-int.tar.gz cov-int
+  return putty/cov-int.tar.gz
+enddelegate
+
+# Provide the revision number as one of the build outputs, to make it
+# easy to construct a curl upload command which will annotate it
+# appropriately when uploaded.
+in putty do echo $(revision) > revision.txt
+
+deliver putty/revision.txt $@
+deliver putty/cov-int.tar.gz $@