X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=Recipe;h=a88dbc7b3db05c738f36f5137083601d087ad1c4;hb=cc66c86e7311c97db09da989c340ba3108c9e14f;hp=1a34bb86eeb0c1db517ac6082b9a1017013997e5;hpb=1a03fa9292f2258384d037994d8e8e119ac11458;p=PuTTY.git diff --git a/Recipe b/Recipe index 1a34bb86..a88dbc7b 100644 --- a/Recipe +++ b/Recipe @@ -19,9 +19,11 @@ !makefile lcc windows/Makefile.lcc !makefile gtk unix/Makefile.gtk !makefile unix unix/Makefile.ux -!makefile ac unix/Makefile.in +!makefile am Makefile.am !makefile osx macosx/Makefile !makefile devcppproj windows/DEVCPP +!makefile vstudio10 windows/VS2010 +!makefile vstudio12 windows/VS2012 # Source directories. !srcdir charset/ !srcdir windows/ @@ -107,11 +109,10 @@ # Makes a couple of minor changes so that PuTTY compiles using # MSVC 4. You will also need /DNO_SECURITY and /DNO_MULTIMON. # -# - RCFL=/DASCIICTLS (Windows only) -# Uses ASCII rather than Unicode to specify the tab control in -# the resource file. Probably most useful when compiling with -# Cygnus/mingw32, whose resource compiler may have less of a -# problem with it. +# - COMPAT=/DNO_SECUREZEROMEMORY (Windows only) +# Disables PuTTY's use of SecureZeroMemory(), which is missing +# from some environments' header files. This is enabled by +# default in the Cygwin Makefile. # # - XFLAGS=/DTELNET_DEFAULT # Causes PuTTY to default to the Telnet protocol (in the absence @@ -169,6 +170,22 @@ version.o: FORCE fi !end !specialobj gtk version +# In the automake build, we have to do the whole job by supplying +# extra CFLAGS, so we have to put the if statement inside one big +# backtick expression. We also force rebuilding via a -D option that +# makes version.o include empty.h, which we construct ourselves and +# touch whenever any source file is updated. +!cflags am version $(VER) -DINCLUDE_EMPTY_H `if test -z "$(VER)" && (cd $(srcdir); md5sum -c manifest >/dev/null 2>&1); then cat $(srcdir)/version.def; else echo "$(VER)"; fi` +!begin am +BUILT_SOURCES = empty.h +CLEANFILES = empty.h +empty.h: $(allsources) + echo '/* Empty file touched by automake makefile to force rebuild of version.o */' >$@ + +!end +!begin >empty.h +/* Empty file touched by automake makefile to force rebuild of version.o */ +!end # Add VER to Windows resource targets, and force them to be rebuilt every # time, on the assumption that they will contain version information. @@ -177,6 +194,7 @@ CFLAGS = $(CFLAGS) /DHAS_GSSAPI /DSECURITY_WIN32 RCFLAGS = $(RCFLAGS) $(VER) !end !begin cygwin vars +CFLAGS += -DSECURITY_WIN32 # XXX GNU-ism, but it's probably all right for a Cygwin/MinGW Makefile. RCFLAGS += $(patsubst -D%,--define %,$(VER)) !end @@ -228,6 +246,21 @@ install-strip: CFLAGS += -DMACOSX !end +# List the man pages for the automake makefile. +!begin am +man1_MANS = doc/plink.1 doc/pscp.1 doc/psftp.1 doc/pterm.1 \ + doc/putty.1 doc/puttygen.1 doc/puttytel.1 +!end + +# In automake, chgrp/chmod pterm after installation, if configured to. +!begin am +if HAVE_SETID_CMD +install-exec-local: + @SETID_CMD@ $(bindir)/pterm + chmod @SETID_MODE@ $(bindir)/pterm +endif +!end + # Random symbols. !begin cygwin vars # _WIN32_IE is required to expose identifiers that only make sense on @@ -245,14 +278,14 @@ CFLAGS += -DWINVER=0x0500 -D_WIN32_WINDOWS=0x0410 -D_WIN32_WINNT=0x0500 # Terminal emulator and its (platform-independent) dependencies. TERMINAL = terminal wcwidth ldiscucs logging tree234 minibidi - + config dialog + + config dialog conf # GUI front end and terminal emulator (putty, puttytel). GUITERM = TERMINAL window windlg winctrls sizetip winucs winprint + winutils wincfg sercfg winhelp winjump # Same thing on Unix. -UXTERM = TERMINAL uxcfg sercfg uxucs uxprint timing +UXTERM = TERMINAL uxcfg sercfg uxucs uxprint timing callback GTKTERM = UXTERM gtkwin gtkcfg gtkdlg gtkfont gtkcols xkeysym OSXTERM = UXTERM osxwin osxdlg osxctrls @@ -263,18 +296,19 @@ NONSSH = telnet raw rlogin ldisc pinger SSH = ssh sshcrc sshdes sshmd5 sshrsa sshrand sshsha sshblowf + sshdh sshcrcda sshpubk sshzlib sshdss x11fwd portfwd + sshaes sshsh256 sshsh512 sshbn wildcard pinger ssharcf - + sshgssc pgssapi -WINSSH = SSH winnoise winpgntc wingss -UXSSH = SSH uxnoise uxagentc uxgss + + sshgssc pgssapi sshshare +WINSSH = SSH winnoise winsecur winpgntc wingss winshare winnps winnpc + + winhsock errsock +UXSSH = SSH uxnoise uxagentc uxgss uxshare # SFTP implementation (pscp, psftp). SFTP = sftp int64 logging # Miscellaneous objects appearing in all the network utilities (not # Pageant or PuTTYgen). -MISC = timing misc version settings tree234 proxy +MISC = timing callback misc version settings tree234 proxy conf WINMISC = MISC winstore winnet winhandl cmdline windefs winmisc winproxy - + wintime + + wintime winhsock errsock UXMISC = MISC uxstore uxsel uxnet cmdline uxmisc uxproxy time OSXMISC = MISC uxstore uxsel osxsel uxnet uxmisc uxproxy time @@ -289,7 +323,7 @@ LIBS = advapi32.lib user32.lib gdi32.lib comctl32.lib comdlg32.lib # to proxy.c depending on whether we're crypto-avoidant or not. BE_ALL = be_all cproxy BE_NOSSH = be_nossh nocproxy -BE_SSH = be_none cproxy +BE_SSH = be_ssh cproxy BE_NONE = be_none nocproxy # More backend sets, with the additional Windows serial-port module. W_BE_ALL = be_all_s winser cproxy @@ -307,20 +341,20 @@ U_BE_NOSSH = be_nos_s uxser nocproxy putty : [G] GUITERM NONSSH WINSSH W_BE_ALL WINMISC winx11 putty.res LIBS puttytel : [G] GUITERM NONSSH W_BE_NOSSH WINMISC puttytel.res nogss LIBS plink : [C] winplink wincons NONSSH WINSSH W_BE_ALL logging WINMISC - + winx11 plink.res winnojmp LIBS + + winx11 plink.res winnojmp noterm LIBS pscp : [C] pscp winsftp wincons WINSSH BE_SSH SFTP wildcard WINMISC + pscp.res winnojmp LIBS psftp : [C] psftp winsftp wincons WINSSH BE_SSH SFTP wildcard WINMISC + psftp.res winnojmp LIBS pageant : [G] winpgnt sshrsa sshpubk sshdes sshbn sshmd5 version tree234 - + misc sshaes sshsha winpgntc sshdss sshsh256 sshsh512 winutils - + winmisc winhelp pageant.res LIBS + + misc sshaes sshsha winsecur winpgntc sshdss sshsh256 sshsh512 + + winutils winmisc winhelp conf pageant.res LIBS puttygen : [G] winpgen sshrsag sshdssg sshprime sshdes sshbn sshmd5 version + sshrand winnoise sshsha winstore misc winctrls sshrsa sshdss winmisc + sshpubk sshaes sshsh256 sshsh512 import winutils puttygen.res - + tree234 notiming winhelp winnojmp LIBS wintime + + tree234 notiming winhelp winnojmp conf LIBS wintime pterm : [X] GTKTERM uxmisc misc ldisc settings uxpty uxsel BE_NONE uxstore + uxsignal CHARSET cmdline uxpterm version time xpmpterm xpmptcfg @@ -333,12 +367,12 @@ puttytel : [X] GTKTERM uxmisc misc ldisc settings uxsel U_BE_NOSSH + nogss plink : [U] uxplink uxcons NONSSH UXSSH U_BE_ALL logging UXMISC uxsignal - + ux_x11 + + ux_x11 noterm puttygen : [U] cmdgen sshrsag sshdssg sshprime sshdes sshbn sshmd5 version + sshrand uxnoise sshsha misc sshrsa sshdss uxcons uxstore uxmisc + sshpubk sshaes sshsh256 sshsh512 import puttygen.res time tree234 - + uxgen notiming + + uxgen notiming conf pscp : [U] pscp uxsftp uxcons UXSSH BE_SSH SFTP wildcard UXMISC psftp : [U] psftp uxsftp uxcons UXSSH BE_SSH SFTP wildcard UXMISC