I added more detail to the `Authentication failed at PuTTY X11
[u/mdw/putty] / Recipe
diff --git a/Recipe b/Recipe
index 4452cbf..8cbc841 100644 (file)
--- a/Recipe
+++ b/Recipe
@@ -6,6 +6,24 @@
 # really be made by editing this file and/or the Perl script, not
 # by editing the actual Makefiles.
 
+# ------------------------------------------------------------
+# Top-level configuration.
+
+# Overall project name.
+!name putty
+# Locations and types of output Makefiles.
+!makefile vc Makefile.vc
+!makefile vcproj MSVC
+!makefile cygwin Makefile.cyg
+!makefile borland Makefile.bor
+!makefile lcc Makefile.lcc
+!makefile gtk unix/Makefile.gtk
+!makefile mpw mac/Makefile.mpw
+# Source directories.
+!srcdir charset/
+!srcdir unix/
+!srcdir mac/
+
 # Help text added to the top of each Makefile, with /D converted
 # into -D as appropriate for the particular Makefile.
 
 #
 #  - COMPAT=/DNO_SECURITY
 #      Disables Pageant's use of <aclapi.h>, which is not available
-#      with some development environments. This means that Pageant
+#      with some development environments (such as older versions of
+#      the Cygwin/mingw GNU toolchain). This means that Pageant
 #      won't care about the local user ID of processes accessing it; a
 #      version of Pageant built with this option will therefore refuse
 #      to run under NT-series OSes on security grounds (although it
 #      will run fine on Win95-series OSes where there is no access
 #      control anyway).
 #
-#      Note that this definition is always enabled in the Cygwin
-#      build, since at the time of writing this <aclapi.h> is known
-#      not to be available in Cygwin.
-#
 #  - COMPAT=/DNO_MULTIMON
 #      Disables PuTTY's use of <multimon.h>, which is not available
 #      with some development environments. This means that PuTTY's
 #      Cygnus/mingw32, whose resource compiler may have less of a
 #      problem with it.
 #
+#  - XFLAGS=/DTELNET_DEFAULT
+#      Causes PuTTY to default to the Telnet protocol (in the absence
+#      of Default Settings and so on to the contrary). Normally PuTTY
+#      will default to SSH.
+#
 #  - XFLAGS=/DDEBUG
 #      Causes PuTTY to enable internal debugging.
 #
 #
 !end
 
+# ------------------------------------------------------------
+# Additional text added verbatim to each individual Makefile.
+
+# Hack to force version.o to be rebuilt always.
+!begin vc
+version.obj: *.c *.h *.rc
+       cl $(FWHACK) $(VER) $(CFLAGS) /c version.c
+!end
+!begin cygwin
+version.o: FORCE;
+FORCE:
+       $(CC) $(COMPAT) $(FWHACK) $(XFLAGS) $(CFLAGS) $(VER) -c version.c
+!end
+!begin borland
+version.obj: FORCE
+FORCE:
+       bcc32 $(FWHACK) $(VER) $(CFLAGS) /c version.obj
+!end
+!begin lcc
+version.o: FORCE
+FORCE:
+       lcc $(FWHACK) $(VER) $(CFLAGS) /c version.c
+!end
+# For Unix, we also need the gross MD5 hack that causes automatic
+# version number selection in release source archives.
+!begin gtk
+version.o: FORCE;
+FORCE:
+       if test -z "$(VER)" && (cd ..; md5sum -c manifest); then \
+               $(CC) $(COMPAT) $(FWHACK) $(XFLAGS) $(CFLAGS) `cat ../version.def` -c ../version.c; \
+       else \
+               $(CC) $(COMPAT) $(FWHACK) $(XFLAGS) $(CFLAGS) $(VER) -c ../version.c; \
+       fi
+!end
+
+# `make install' target for Unix.
+!begin gtk
+install:
+       $(INSTALL_PROGRAM) -m 755 plink $(DESTDIR)$(bindir)/plink
+       $(INSTALL_PROGRAM) -m 755 pscp $(DESTDIR)$(bindir)/pscp
+       $(INSTALL_PROGRAM) -m 755 psftp $(DESTDIR)$(bindir)/psftp
+       $(INSTALL_PROGRAM) -m 755 pterm $(DESTDIR)$(bindir)/pterm
+       $(INSTALL_PROGRAM) -m 755 putty $(DESTDIR)$(bindir)/putty
+       $(INSTALL_PROGRAM) -m 755 puttygen $(DESTDIR)$(bindir)/puttygen
+       $(INSTALL_PROGRAM) -m 755 puttytel $(DESTDIR)$(bindir)/puttytel
+       $(INSTALL_DATA) -m 644 ../doc/plink.1 $(DESTDIR)$(man1dir)/plink.1
+       $(INSTALL_DATA) -m 644 ../doc/pscp.1 $(DESTDIR)$(man1dir)/pscp.1
+       $(INSTALL_DATA) -m 644 ../doc/psftp.1 $(DESTDIR)$(man1dir)/psftp.1
+       $(INSTALL_DATA) -m 644 ../doc/pterm.1 $(DESTDIR)$(man1dir)/pterm.1
+       $(INSTALL_DATA) -m 644 ../doc/putty.1 $(DESTDIR)$(man1dir)/putty.1
+       $(INSTALL_DATA) -m 644 ../doc/puttygen.1 $(DESTDIR)$(man1dir)/puttygen.1
+       $(INSTALL_DATA) -m 644 ../doc/puttytel.1 $(DESTDIR)$(man1dir)/puttytel.1
+
+install-strip:
+       $(MAKE) install INSTALL_PROGRAM="$(INSTALL_PROGRAM) -s"
+!end
+
+# ------------------------------------------------------------
 # Definitions of object groups. A group name, followed by an =,
 # followed by any number of objects or other already-defined group
 # names. A line beginning `+' is assumed to continue the previous
 # line.
 
 # GUI front end and terminal emulator (putty, puttytel).
-GUITERM  = window windlg winctrls terminal sizetip wcwidth unicode
-         + logging printing
+GUITERM  = window windlg winctrls terminal sizetip wcwidth unicode ldiscucs
+         + logging printing winutils dialog config wincfg tree234
+
+# Same thing on Unix.
+UXTERM   = pterm config uxcfg dialog gtkdlg gtkcols gtkpanel tree234
+         + terminal wcwidth uxucs ldiscucs logging uxprint xkeysym
 
 # Non-SSH back ends (putty, puttytel, plink).
 NONSSH   = telnet raw rlogin ldisc
 
 # SSH back end (putty, plink, pscp, psftp).
-SSH      = ssh sshcrc sshdes sshmd5 sshrsa sshrand sshsha sshblowf noise
-         + sshdh sshcrcda sshpubk pageantc sshzlib sshdss x11fwd portfwd
-         + sshaes sshsh512 sshbn
+SSH      = ssh sshcrc sshdes sshmd5 sshrsa sshrand sshsha sshblowf
+         + sshdh sshcrcda sshpubk sshzlib sshdss x11fwd portfwd
+         + sshaes sshsh512 sshbn wildcard
+WINSSH   = SSH noise pageantc
+UXSSH    = SSH uxnoise uxagentc
+MACSSH   = SSH macnoise
 
 # SFTP implementation (pscp, psftp).
 SFTP     = sftp int64 logging
 
 # Miscellaneous objects appearing in all the network utilities (not
 # Pageant or PuTTYgen).
-MISC     = misc version winstore settings tree234 winnet
+WINMISC  = misc version winstore settings tree234 winnet proxy cmdline
+         + windefs winmisc pproxy
+UXMISC   = misc version uxstore settings tree234 uxsel uxnet proxy cmdline
+         + uxmisc uxproxy
+MACMISC  = misc version macstore settings tree234 macnet mtcpnet otnet proxy
+         + macmisc macabout pproxy
+
+# Character set library, for use in pterm.
+CHARSET  = sbcsdat slookup sbcs utf8 toucs fromucs xenc mimeenc macenc localenc
 
-# Standard libraries, and the same with WinSocks 1 and 2.
+# Standard libraries.
 LIBS     = advapi32.lib user32.lib gdi32.lib comctl32.lib comdlg32.lib
          + shell32.lib winmm.lib imm32.lib winspool.lib
-LIBS1    = LIBS wsock32.lib
-LIBS2    = LIBS ws2_32.lib
 
+# ------------------------------------------------------------
 # Definitions of actual programs. The program name, followed by a
 # colon, followed by a list of objects. Also in the list may be the
-# keywords [G] for GUI or [C] for Console application.
+# keywords [G] for Windows GUI app, [C] for Console app, [X] for
+# X/GTK Unix app, [U] for command-line Unix app, [M] for Macintosh app.
 
-putty    : [G] GUITERM NONSSH SSH be_all MISC win_res.res LIBS1
-puttytel : [G] GUITERM NONSSH be_nossh MISC win_res.res LIBS1
-plink    : [C] plink console NONSSH SSH be_all logging MISC plink.res LIBS2
-pscp     : [C] scp console SSH be_none SFTP wildcard MISC scp.res LIBS1
-psftp    : [C] psftp console SSH be_none SFTP MISC scp.res LIBS1
+putty    : [G] GUITERM NONSSH WINSSH be_all WINMISC win_res.res LIBS
+puttytel : [G] GUITERM NONSSH be_nossh WINMISC win_res.res LIBS
+plink    : [C] plink console NONSSH WINSSH be_all logging WINMISC
+         + plink.res LIBS
+pscp     : [C] scp winsftp console WINSSH be_none SFTP wildcard WINMISC
+         + scp.res LIBS
+psftp    : [C] psftp winsftp console WINSSH be_none SFTP WINMISC scp.res LIBS
 
 pageant  : [G] pageant sshrsa sshpubk sshdes sshbn sshmd5 version tree234
-         + misc sshaes sshsha pageantc sshdss sshsh512 pageant.res LIBS
+         + misc sshaes sshsha pageantc sshdss sshsh512 winutils winmisc
+         + pageant.res LIBS
 
 puttygen : [G] puttygen sshrsag sshdssg sshprime sshdes sshbn sshmd5 version
-         + sshrand noise sshsha winstore misc winctrls sshrsa sshdss
-         + sshpubk sshaes sshsh512 puttygen.res LIBS
+         + sshrand noise sshsha winstore misc winctrls sshrsa sshdss winmisc
+         + sshpubk sshaes sshsh512 import winutils puttygen.res tree234 LIBS
+
+pterm    : [X] UXTERM uxmisc misc ldisc settings pty uxsel be_none uxstore
+         + signal CHARSET cmdline ptermm version
+putty    : [X] UXTERM uxmisc misc ldisc settings pty uxsel be_all uxstore
+         + signal CHARSET uxputty NONSSH UXSSH UXMISC ux_x11
+puttytel : [X] UXTERM uxmisc misc ldisc settings pty uxsel be_nossh uxstore
+         + signal CHARSET uxputty NONSSH UXMISC
+
+plink    : [U] uxplink uxcons NONSSH UXSSH be_all logging UXMISC signal ux_x11
+
+puttygen : [U] cmdgen sshrsag sshdssg sshprime sshdes sshbn sshmd5 version
+         + sshrand uxnoise sshsha misc sshrsa sshdss uxcons uxstore uxmisc
+         + sshpubk sshaes sshsh512 import puttygen.res tree234 uxgen
+
+pscp     : [U] scp uxsftp uxcons UXSSH be_none SFTP wildcard UXMISC
+psftp    : [U] psftp uxsftp uxcons UXSSH be_none SFTP UXMISC
+
+PuTTY    : [M] terminal wcwidth ldiscucs logging be_all mac macdlg macevlog
+         + macterm macucs mac_res.rsrc testback NONSSH MACSSH MACMISC CHARSET
+         + stricmp vsnprint dialog config macctrls
+PuTTYtel : [M] terminal wcwidth ldiscucs logging be_nossh mac macdlg macevlog
+         + macterm macucs mac_res.rsrc testback NONSSH MACMISC CHARSET
+         + stricmp vsnprint dialog config macctrls
+PuTTYgen : [M] macpgen sshrsag sshdssg sshprime sshdes sshbn sshmd5 version
+         + sshrand macnoise sshsha macstore misc sshrsa sshdss macmisc sshpubk
+         + sshaes sshsh512 import macpgen.rsrc macpgkey macabout