| 1 | # -*- sh -*- |
| 2 | |
| 3 | # Build script to scan PuTTY with the downloadable Coverity scanner |
| 4 | # and generate a tar file to upload to their open-source scanning |
| 5 | # service. |
| 6 | |
| 7 | module putty |
| 8 | |
| 9 | # Preparations. |
| 10 | in putty do ./mkfiles.pl |
| 11 | in putty do ./mkauto.sh |
| 12 | in putty/doc do make |
| 13 | |
| 14 | # Scan the Unix build, on a 64-bit system to differentiate as much as |
| 15 | # possible from the other scan of the cross-platform files. |
| 16 | delegate covscan64 |
| 17 | in putty do ./configure |
| 18 | in putty do cov-build --dir cov-int make |
| 19 | in putty do tar czvf cov-int.tar.gz cov-int |
| 20 | return putty/cov-int.tar.gz |
| 21 | enddelegate |
| 22 | |
| 23 | # Scan the Windows build, by means of building with Winelib (since as |
| 24 | # of 2013-07-22, the Coverity Scan website doesn't offer a 32-bit |
| 25 | # Windows scanner for download). |
| 26 | delegate covscan32wine |
| 27 | in putty do tar xzvf cov-int.tar.gz |
| 28 | in putty/windows do cov-build --dir ../cov-int make -f Makefile.cyg CC=winegcc RC=wrc |
| 29 | in putty do tar czvf cov-int.tar.gz cov-int |
| 30 | return putty/cov-int.tar.gz |
| 31 | enddelegate |
| 32 | |
| 33 | # Provide the revision number as one of the build outputs, to make it |
| 34 | # easy to construct a curl upload command which will annotate it |
| 35 | # appropriately when uploaded. |
| 36 | in putty do echo $(revision) > revision.txt |
| 37 | |
| 38 | deliver putty/revision.txt $@ |
| 39 | deliver putty/cov-int.tar.gz $@ |