Build requirements

This page may be out of date. Please see the [source:/trunk/README README] file for current information.

Requirements for compiling

 Visual C++ 2005 (Express edition is unlikely to work as the code uses ATL attributes which, I believe, require ATL 7).

WTL 8 which can be obtained from Microsoft of through  SourceForge:

For the Libssh2Provider backend:

  • libssh2
  • OpenSSL
  • zlib

The directories to put the source code for these dependencies in should already exist in the Libssh2Provider/ directory.

libssh2 can be obtained from  http://www.libssh2.org. Either the latest release (0.18) or the CVS head appear to work.

You can get OpenSSL from  http://www.openssl.org and compile it yourself but a much easier option is to download my pre-packaged binary with just the stuff needed for Swish:  http://downloads.sourceforge.net/swish/openssl-0.9.8g-swish.zip?download.

zlib binaries are available at  http://www.zlib.net/.

Assuming you have the necessary tools available on your PATH (probably by installing cygwin), the easiest way to set everything up is to run the following commands in the Libssh2Provider/ directory:

cvs -d :pserver:libssh2.cvs.sourceforge.net:/cvsroot/libssh2 co libssh2
wget "http://prdownloads.sourceforge.net/libpng/zlib123-dll.zip?download"
unzip -d zlib zlib123-dll.zip
rm zlib123-dll.zip
wget "http://downloads.sourceforge.net/swish/openssl-0.9.8g-swish.zip?download"
unzip -d openssl openssl-0.9.8g-swish.zip
rm openssl-0.9.8g-swish.zip

Requirements for testing

CppUnit? (works with v1.12.0, may work with other versions) must be present on the local machine. Many tests also require a remote host available to connect to over SSH. Swish assumes this is unix-based.

Environment variables

  • CPPUNITDIR: The location of the CppUnit? files.
  • TEST_HOST_NAME: The name of the remote testing host.
  • TEST_USER_NAME: The user name of the SSH account on the remote host.
  • TEST_HOST_PORT: The port on the remote host that SSH is listening on (optional - defaults to 22 if not set).
  • TEST_PASSWORD: The password to use to connect to the remote host if required.