Move generation of the "configure" script into its own script so that
[u/mdw/putty] / README
diff --git a/README b/README
index e8e2e67..991164e 100644 (file)
--- a/README
+++ b/README
@@ -1,31 +1,84 @@
-This is the README for PuTTY, a free Win32 Telnet and SSH client.
-
-The provided Makefile is for MS Visual C++ systems. Type `nmake' to
-build both putty.exe (the main program) and pscp.exe (an SCP
-client). The comment at the top of the Makefile gives extra build
-options you can use to build in limited Win32s compatibility, a hack
-to pass SSH through some types of firewall, and `official' version
-numbers.
-
-MS Visual Studio version 6 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.
+This is the README for the source archive of PuTTY, a free Win32
+and Unix Telnet and SSH client.
+
+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.)
+
+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.
+
+   (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.)
+
+ - 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.)
+
+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'.
+ - unix/Makefile.gtk is for non-autoconfigured builds. This makefile
+   expects you to change into the `unix' subdirectory, then run `make
+   -f Makefile.gtk'. 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.
+
+   For the graphical utilities, Gtk+-1.2 is required. Gtk+-2.0 is not
+   yet supported.
+
+   There is an `install' target; note that by default it tries to
+   install `man' pages, which need to be 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.
+
+Documentation (in various formats including Windows Help and Unix
+`man' pages) is to be built from the Halibut (`.but') files in the
+`doc' subdirectory using `doc/Makefile'. Halibut can be found at
+<http://www.chiark.greenend.org.uk/~sgtatham/halibut/>.
 
 The PuTTY home web site is
 
-    http://www.chiark.greenend.org.uk/~sgtatham/putty.html
+    http://www.chiark.greenend.org.uk/~sgtatham/putty/
 
-Bug reports and feature requests should be sent to
-<putty-bugs@lists.tartarus.org>. PLEASE read the section on the web
-site about how to report bugs effectively. Do NOT send one-line
-reports saying `it doesn't work'!
+If you want to send bug reports or feature requests, please read the
+Feedback section of the web site before doing so. Sending one-line
+reports saying `it doesn't work' will waste your time as much as
+ours.
 
 See the file LICENCE for the licence conditions.