X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/62793edfb1cbcfec57929279096dd3e7791b3c05..860a34f8738776bc2863499ffd09cff6c4cea8fc:/README diff --git a/README b/README index de698aa8..5b6d9cbc 100644 --- a/README +++ b/README @@ -1,47 +1,90 @@ This is the README for the source archive of PuTTY, a free Win32 -Telnet and SSH client. +and Unix Telnet and SSH client. -If you want to rebuild PuTTY from source, we provide three -Makefiles: +If you want to rebuild PuTTY from source, we provide a variety of +Makefiles and equivalents. (If you have fetched the source from +Subversion, you'll have to generate the Makefiles yourself -- see +below.) - - Makefile.vc is for MS Visual C++ systems. Type `nmake -f - Makefile.vc' to build all the PuTTY binaries. +For building on Windows: + + - windows/Makefile.vc is for command-line builds on MS Visual C++ + systems. Change into the `windows' subdirectory and type `nmake + -f Makefile.vc' to build all the PuTTY binaries. + + Last time we checked, PuTTY built with vanilla VC7, or VC6 with + the Platform SDK. (We've also had one report of success building with the OpenWatcom compiler -- www.openwatcom.org -- using Makefile.vc with `wmake -ms -f makefile.vc' and NO_MULTIMON, although we haven't tried this ourselves.) - - Makefile.bor is for the Borland C compiler. Type `make -f - Makefile.bor' to build all the PuTTY binaries. - - - Makefile.cyg is for Cygwin / mingw32 installations. Type `make -f - Makefile.cyg' to build all the PuTTY binaries. Note that by - default the Pageant WinNT security features and the multiple - monitor support are excluded from the Cygwin build, since at the - time of writing this Cygwin doesn't include the necessary - headers. - -If you have MS Visual Studio version 6 and you want to build a -DevStudio project for GUI editing and debugging, you should be aware -that the default GUI configuration of the compiler falls over on the -nasty macros in ssh.c. This is a bug in Visual Studio. The culprit -is the /ZI compiler option (debug info generation: Edit and -Continue). To avoid this problem while compiling PuTTY under VS6, -you should: - - right-click ssh.c in the FileView - - click Settings - - select the C/C++ tab and the General category - - under `Debug info:', select anything _other_ than `Program - Database for Edit and Continue'. -Alternatively disable the /ZI option, replacing it with a saner -value, such as /Zi. + - Inside the windows/MSVC subdirectory are MS Visual Studio project + files for doing GUI-based builds of the various PuTTY utilities. + These have been tested on Visual Studio 6. + + You should be able to build each PuTTY utility by loading the + corresponding .dsp file in Visual Studio. For example, + MSVC/putty/putty.dsp builds PuTTY itself, MSVC/plink/plink.dsp + builds Plink, and so on. + + - windows/Makefile.bor is for the Borland C compiler. Type `make -f + Makefile.bor' while in the `windows' subdirectory to build all + the PuTTY binaries. + + - windows/Makefile.cyg is for Cygwin / mingw32 installations. Type + `make -f Makefile.cyg' while in the `windows' subdirectory to + build all the PuTTY binaries. Note that by default the multiple + monitor support is excluded from the Cygwin build, since at the + time of writing Cygwin doesn't include the necessary headers. + + - windows/Makefile.lcc is for lcc-win32. Type `make -f + Makefile.lcc' while in the `windows' subdirectory. (You will + probably need to specify COMPAT=-DNO_MULTIMON.) + + - Inside the windows/DEVCPP subdirectory are Dev-C++ project + files for doing GUI-based builds of the various PuTTY utilities. + +For building on Unix: + + - unix/configure is for Unix and GTK. If you don't have GTK, you + should still be able to build the command-line utilities (PSCP, + PSFTP, Plink, PuTTYgen) using this script. To use it, change + into the `unix' subdirectory, run `./configure' and then `make'. + + Note that Unix PuTTY has mostly only been tested on Linux so far; + portability problems such as BSD-style ptys or different header file + requirements are expected. + + - unix/Makefile.gtk is for non-autoconfigured builds. This makefile + expects you to change into the `unix' subdirectory, then run `make + -f Makefile.gtk'. + + - For the graphical utilities, Gtk+-1.2 is required. Gtk+-2.0 is not + yet supported. + + - Both Unix Makefiles have an `install' target. Note that by default + it tries to install `man' pages, which you may need to have built + using Halibut first -- see below. All of the Makefiles are generated automatically from the file `Recipe' by the Perl script `mkfiles.pl'. Additions and corrections to Recipe and the mkfiles.pl are much more useful than additions and corrections to the alternative Makefiles themselves. +The Unix `configure' script and its various requirements are generated +by the shell script `mkauto.sh', which requires GNU Autoconf, GNU +Automake, and Gtk; if you've got the source from Subversion rather +than using one of our source snapshots, you'll need to run this +yourself. + +Documentation (in various formats including Windows Help and Unix +`man' pages) is built from the Halibut (`.but') files in the `doc' +subdirectory using `doc/Makefile'. If you aren't using one of our +source snapshots, you'll need to do this yourself. Halibut can be +found at . + The PuTTY home web site is http://www.chiark.greenend.org.uk/~sgtatham/putty/