Now that we have Subversion's file renaming ability, it's time at
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Tue, 16 Nov 2004 22:14:56 +0000 (22:14 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Tue, 16 Nov 2004 22:14:56 +0000 (22:14 +0000)
long last to move all the Windows-specific source files down into a
`windows' subdirectory. Only platform-specific files remain at the
top level. With any luck this will act as a hint to anyone still
contemplating sending us a Windows-centric patch...

git-svn-id: svn://svn.tartarus.org/sgt/putty@4792 cda61777-01e9-0310-a592-d414129be87e

42 files changed:
README
Recipe
mkfiles.pl
website.url [deleted file]
windows/pageant.ico [moved from pageant.ico with 100% similarity]
windows/pageant.mft [moved from pageant.mft with 100% similarity]
windows/pageant.rc [moved from pageant.rc with 100% similarity]
windows/pageants.ico [moved from pageants.ico with 100% similarity]
windows/plink.rc [moved from plink.rc with 100% similarity]
windows/putty.ico [moved from putty.ico with 100% similarity]
windows/putty.iss [moved from putty.iss with 97% similarity]
windows/putty.mft [moved from putty.mft with 100% similarity]
windows/puttycfg.ico [moved from puttycfg.ico with 100% similarity]
windows/puttygen.ico [moved from puttygen.ico with 100% similarity]
windows/puttygen.mft [moved from puttygen.mft with 100% similarity]
windows/puttygen.rc [moved from puttygen.rc with 100% similarity]
windows/scp.ico [moved from scp.ico with 100% similarity]
windows/scp.rc [moved from scp.rc with 100% similarity]
windows/sizetip.c [moved from sizetip.c with 100% similarity]
windows/website.url [new file with mode: 0644]
windows/win_res.h [moved from win_res.h with 100% similarity]
windows/win_res.rc [moved from win_res.rc with 100% similarity]
windows/wincfg.c [moved from wincfg.c with 100% similarity]
windows/wincons.c [moved from console.c with 100% similarity]
windows/winctrls.c [moved from winctrls.c with 100% similarity]
windows/windefs.c [moved from windefs.c with 100% similarity]
windows/windlg.c [moved from windlg.c with 100% similarity]
windows/window.c [moved from window.c with 100% similarity]
windows/winhelp.h [moved from winhelp.h with 100% similarity]
windows/winmisc.c [moved from winmisc.c with 100% similarity]
windows/winnet.c [moved from winnet.c with 100% similarity]
windows/winnoise.c [moved from noise.c with 100% similarity]
windows/winpgen.c [moved from puttygen.c with 100% similarity]
windows/winpgnt.c [moved from pageant.c with 100% similarity]
windows/winpgntc.c [moved from pageantc.c with 100% similarity]
windows/winplink.c [moved from plink.c with 100% similarity]
windows/winprint.c [moved from printing.c with 100% similarity]
windows/winsftp.c [moved from winsftp.c with 100% similarity]
windows/winstore.c [moved from winstore.c with 100% similarity]
windows/winstuff.h [moved from winstuff.h with 100% similarity]
windows/winucs.c [moved from unicode.c with 100% similarity]
windows/winutils.c [moved from winutils.c with 100% similarity]

diff --git a/README b/README
index 20d5aab..e178791 100644 (file)
--- a/README
+++ b/README
@@ -8,34 +8,37 @@ below.)
 
 For building on Windows:
 
- - Makefile.vc is for command-line builds on MS Visual C++ systems.
-   Type `nmake -f Makefile.vc' to build all the PuTTY binaries.
+ - 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 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.
+ - 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.
 
- - Makefile.bor is for the Borland C compiler. Type `make -f
-   Makefile.bor' to build all the PuTTY binaries.
+ - 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.
 
- - 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
+ - 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.
 
- - Makefile.lcc is for lcc-win32. Type `make -f Makefile.lcc'. (You
-   will probably need to specify COMPAT=-DNO_MULTIMON.)
+ - 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:
 
diff --git a/Recipe b/Recipe
index 9847d0b..ac7171c 100644 (file)
--- a/Recipe
+++ b/Recipe
 # 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 vc windows/Makefile.vc
+!makefile vcproj windows/MSVC
+!makefile cygwin windows/Makefile.cyg
+!makefile borland windows/Makefile.bor
+!makefile lcc windows/Makefile.lcc
 !makefile gtk unix/Makefile.gtk
 !makefile mpw mac/Makefile.mpw
 # Source directories.
 !srcdir charset/
+!srcdir windows/
 !srcdir unix/
 !srcdir mac/
 
 # Hack to force version.o to be rebuilt always.
 !begin vc
 version.obj: *.c *.h *.rc
-       cl $(FWHACK) $(VER) $(CFLAGS) /c version.c
+       cl $(FWHACK) $(VER) $(CFLAGS) /c ..\version.c
 !end
+!specialobj vc version
 !begin cygwin
-version.o: FORCE;
+version.o: FORCE
 FORCE:
-       $(CC) $(COMPAT) $(FWHACK) $(XFLAGS) $(CFLAGS) $(VER) -c version.c
+       $(CC) $(COMPAT) $(FWHACK) $(XFLAGS) $(CFLAGS) $(VER) -c ../version.c
 !end
+!specialobj cygwin version
 !begin borland
 version.obj: FORCE
 FORCE:
-       bcc32 $(FWHACK) $(VER) $(CFLAGS) /c version.c
+       bcc32 $(FWHACK) $(VER) $(CFLAGS) /c ..\version.c
 !end
+!specialobj borland version
 !begin lcc
 version.o: FORCE
 FORCE:
-       lcc $(FWHACK) $(VER) $(CFLAGS) /c version.c
+       lcc $(FWHACK) $(VER) $(CFLAGS) /c ..\version.c
 !end
+!specialobj lcc version
 # For Unix, we also need the gross MD5 hack that causes automatic
 # version number selection in release source archives.
 !begin gtk
@@ -137,6 +142,7 @@ FORCE:
                $(CC) $(COMPAT) $(FWHACK) $(XFLAGS) $(CFLAGS) $(VER) -c ../version.c; \
        fi
 !end
+!specialobj gtk version
 
 # `make install' target for Unix.
 !begin gtk
@@ -171,7 +177,7 @@ TERMINAL = terminal wcwidth ldiscucs logging tree234 minibidi
          + config dialog
 
 # GUI front end and terminal emulator (putty, puttytel).
-GUITERM  = TERMINAL window windlg winctrls sizetip unicode printing
+GUITERM  = TERMINAL window windlg winctrls sizetip winucs winprint
          + winutils wincfg
 
 # Same thing on Unix.
@@ -184,7 +190,7 @@ NONSSH   = telnet raw rlogin ldisc
 SSH      = ssh sshcrc sshdes sshmd5 sshrsa sshrand sshsha sshblowf
          + sshdh sshcrcda sshpubk sshzlib sshdss x11fwd portfwd
          + sshaes sshsh512 sshbn wildcard
-WINSSH   = SSH noise pageantc
+WINSSH   = SSH winnoise winpgntc
 UXSSH    = SSH uxnoise uxagentc
 MACSSH   = SSH macnoise
 
@@ -222,18 +228,18 @@ BE_NONE  = be_none nocproxy
 
 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    : [C] winplink wincons NONSSH WINSSH BE_ALL logging WINMISC
          + plink.res LIBS
-pscp     : [C] scp winsftp console WINSSH BE_SSH SFTP wildcard WINMISC
+pscp     : [C] scp winsftp wincons WINSSH BE_SSH SFTP wildcard WINMISC
          + scp.res LIBS
-psftp    : [C] psftp winsftp console WINSSH BE_SSH SFTP WINMISC scp.res LIBS
+psftp    : [C] psftp winsftp wincons WINSSH BE_SSH SFTP WINMISC scp.res LIBS
 
-pageant  : [G] pageant sshrsa sshpubk sshdes sshbn sshmd5 version tree234
-         + misc sshaes sshsha pageantc sshdss sshsh512 winutils winmisc
+pageant  : [G] winpgnt sshrsa sshpubk sshdes sshbn sshmd5 version tree234
+         + misc sshaes sshsha winpgntc 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 winmisc
+puttygen : [G] winpgen sshrsag sshdssg sshprime sshdes sshbn sshmd5 version
+         + sshrand winnoise 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
index 8c23127..840a409 100755 (executable)
@@ -51,6 +51,7 @@ while (<IN>) {
   if ($_[0] eq "!name") { $project_name = $_[1]; next; }
   if ($_[0] eq "!srcdir") { push @srcdirs, $_[1]; next; }
   if ($_[0] eq "!makefile" and &mfval($_[1])) { $makefiles{$_[1]}=$_[2]; next;}
+  if ($_[0] eq "!specialobj" and &mfval($_[1])) { $specialobj{$_[1]}->{$_[2]} = 1; next;}
   if ($_[0] eq "!begin") {
       if (&mfval($_[1])) {
          $divert = \$makefile_extra{$_[1]};
@@ -221,8 +222,14 @@ sub dirpfx {
     my ($path) = shift @_;
     my ($sep) = shift @_;
     my $ret = "", $i;
-    while (($i = index $path, $sep) >= 0) {
-       $path = substr $path, ($i + length $sep);
+
+    while (($i = index $path, $sep) >= 0 ||
+          ($j = index $path, "/") >= 0) {
+        if ($i >= 0 and ($j < 0 or $i < $j)) {
+           $path = substr $path, ($i + length $sep);
+       } else {
+           $path = substr $path, ($j + 1);
+       }
        $ret .= "..$sep";
     }
     return $ret;
@@ -278,12 +285,13 @@ sub splitline {
 }
 
 sub deps {
-  my ($otmpl, $rtmpl, $prefix, $dirsep, $depchar, $splitchar) = @_;
+  my ($otmpl, $rtmpl, $prefix, $dirsep, $mftyp, $depchar, $splitchar) = @_;
   my ($i, $x, $y);
   my @deps, @ret;
   @ret = ();
   $depchar ||= ':';
   foreach $i (sort keys %depends) {
+    next if $specialobj{$mftyp}->{$i};
     if ($i =~ /^(.*)\.(res|rsrc)/) {
       next if !defined $rtmpl;
       $y = $1;
@@ -372,12 +380,6 @@ if (defined $makefiles{'cygwin'}) {
       " --define WINVER=0x0400 --define MINGW32_FIX=1")."\n".
     "\n".
     ".SUFFIXES:\n".
-    "\n".
-    "%.o: %.c\n".
-    "\t\$(CC) \$(COMPAT) \$(FWHACK) \$(XFLAGS) \$(CFLAGS) -c \$<\n".
-    "\n".
-    "%.res.o: %.rc\n".
-    "\t\$(RC) \$(FWHACK) \$(RCFL) \$(RCFLAGS) \$< \$\@\n".
     "\n";
     print &splitline("all:" . join "", map { " $_.exe" } &progrealnames("GC"));
     print "\n\n";
@@ -391,9 +393,14 @@ if (defined $makefiles{'cygwin'}) {
                        "-Wl,-Map,$prog.map " .
                        $objstr . " $libstr", 69), "\n\n";
     }
-    foreach $d (&deps("X.o", "X.res.o", $dirpfx, "/")) {
+    foreach $d (&deps("X.o", "X.res.o", $dirpfx, "/", "cygwin")) {
       print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})),
         "\n";
+      if ($d->{obj} =~ /\.res\.o$/) {
+         print "\t\$(RC) \$(FWHACK) \$(RCFL) \$(RCFLAGS) ".$d->{deps}->[0]." ".$d->{obj}."\n\n";
+      } else {
+         print "\t\$(CC) \$(COMPAT) \$(FWHACK) \$(XFLAGS) \$(CFLAGS) -c ".$d->{deps}->[0]."\n\n";
+      }
     }
     print "\n";
     print $makefile_extra{'cygwin'};
@@ -488,7 +495,7 @@ if (defined $makefiles{'borland'}) {
       print "\techo " . &objects($p, undef, "X.res", undef) . " >> $prog.rsp\n";
       print "\n";
     }
-    foreach $d (&deps("X.obj", "X.res", $dirpfx, "\\")) {
+    foreach $d (&deps("X.obj", "X.res", $dirpfx, "\\", "borland")) {
       print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})),
         "\n";
     }
@@ -525,13 +532,11 @@ if (defined $makefiles{'vc'}) {
       "MAKEFILE = Makefile.vc\n".
       "\n".
       "# C compilation flags\n".
-      "CFLAGS = /nologo /W3 /O1 /D_WINDOWS /D_WIN32_WINDOWS=0x401 /DWINVER=0x401\n".
+      "CFLAGS = /nologo /W3 /O1 " .
+      (join " ", map {"-I$dirpfx$_"} @srcdirs) .
+      " /D_WINDOWS /D_WIN32_WINDOWS=0x401 /DWINVER=0x401\n".
       "LFLAGS = /incremental:no /fixed\n".
       "\n".
-      ".c.obj:\n".
-      "\tcl \$(COMPAT) \$(FWHACK) \$(XFLAGS) \$(CFLAGS) /c \$*.c\n".
-      ".rc.res:\n".
-      "\trc \$(FWHACK) \$(RCFL) -r -DWIN32 -D_WIN32 -DWINVER=0x0400 \$*.rc\n".
       "\n";
     print &splitline("all:" . join "", map { " $_.exe" } &progrealnames("GC"));
     print "\n\n";
@@ -560,9 +565,14 @@ if (defined $makefiles{'vc'}) {
        }
        print "\n";
     }
-    foreach $d (&deps("X.obj", "X.res", $dirpfx, "\\")) {
+    foreach $d (&deps("X.obj", "X.res", $dirpfx, "\\", "vc")) {
        print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})),
          "\n";
+        if ($d->{obj} =~ /.obj$/) {
+           print "\tcl \$(COMPAT) \$(FWHACK) \$(XFLAGS) \$(CFLAGS) /c ".$d->{deps}->[0],"\n\n";
+       } else {
+           print "\trc \$(FWHACK) \$(RCFL) -r -DWIN32 -D_WIN32 -DWINVER=0x0400 ".$d->{deps}->[0],"\n\n";
+       }
     }
     print "\n";
     print $makefile_extra{'vc'};
@@ -588,6 +598,7 @@ if (defined $makefiles{'vc'}) {
 }
 
 if (defined $makefiles{'vcproj'}) {
+    $dirpfx = &dirpfx($makefiles{'vcproj'}, "\\");
 
     $orig_dir = cwd;
 
@@ -604,7 +615,7 @@ if (defined $makefiles{'vcproj'}) {
     mkdir $makefiles{'vcproj'}
         if(! -d $makefiles{'vcproj'});
     chdir $makefiles{'vcproj'};
-    @deps = &deps("X.obj", "X.res", "", "\\");
+    @deps = &deps("X.obj", "X.res", $dirpfx, "\\", "vcproj");
     %all_object_deps = map {$_->{obj} => $_->{deps}} @deps;
     # Create the project files
     # Get names of all Windows projects (GUI and console)
@@ -739,8 +750,12 @@ if (defined $makefiles{'vcproj'}) {
        "# PROP Intermediate_Dir \"Release\"\r\n".
        "# PROP Ignore_Export_Lib 0\r\n".
        "# PROP Target_Dir \"\"\r\n".
-       "# ADD BASE CPP /nologo /W3 /GX /O2 /D \"WIN32\" /D \"NDEBUG\" /D \"_WINDOWS\" /D \"_MBCS\" /YX /FD /c\r\n".
-       "# ADD CPP /nologo /W3 /GX /O2 /D \"WIN32\" /D \"NDEBUG\" /D \"_WINDOWS\" /D \"_MBCS\" /YX /FD /c\r\n".
+       "# ADD BASE CPP /nologo /W3 /GX /O2 ".
+         (join " ", map {"/I \"..\\..\\$dirpfx$_\""} @srcdirs) .
+         " /D \"WIN32\" /D \"NDEBUG\" /D \"_WINDOWS\" /D \"_MBCS\" /YX /FD /c\r\n".
+       "# ADD CPP /nologo /W3 /GX /O2 ".
+         (join " ", map {"/I \"..\\..\\$dirpfx$_\""} @srcdirs) .
+         " /D \"WIN32\" /D \"NDEBUG\" /D \"_WINDOWS\" /D \"_MBCS\" /YX /FD /c\r\n".
        "# ADD BASE MTL /nologo /D \"NDEBUG\" /mktyplib203 /win32\r\n".
        "# ADD MTL /nologo /D \"NDEBUG\" /mktyplib203 /win32\r\n".
        "# ADD BASE RSC /l 0x809 /d \"NDEBUG\"\r\n".
@@ -766,8 +781,12 @@ if (defined $makefiles{'vcproj'}) {
        "# PROP Intermediate_Dir \"Debug\"\r\n".
        "# PROP Ignore_Export_Lib 0\r\n".
        "# PROP Target_Dir \"\"\r\n".
-       "# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D \"WIN32\" /D \"_DEBUG\" /D \"_WINDOWS\" /D \"_MBCS\" /YX /FD /GZ /c\r\n".
-       "# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D \"WIN32\" /D \"_DEBUG\" /D \"_WINDOWS\" /D \"_MBCS\" /YX /FD /GZ /c\r\n".
+       "# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od ".
+         (join " ", map {"/I \"..\\..\\$dirpfx$_\""} @srcdirs) .
+         " /D \"WIN32\" /D \"_DEBUG\" /D \"_WINDOWS\" /D \"_MBCS\" /YX /FD /GZ /c\r\n".
+       "# ADD CPP /nologo /W3 /Gm /GX /ZI /Od ".
+         (join " ", map {"/I \"..\\..\\$dirpfx$_\""} @srcdirs) .
+         " /D \"WIN32\" /D \"_DEBUG\" /D \"_WINDOWS\" /D \"_MBCS\" /YX /FD /GZ /c\r\n".
        "# ADD BASE MTL /nologo /D \"_DEBUG\" /mktyplib203 /win32\r\n".
        "# ADD MTL /nologo /D \"_DEBUG\" /mktyplib203 /win32\r\n".
        "# ADD BASE RSC /l 0x809 /d \"_DEBUG\"\r\n".
@@ -889,7 +908,7 @@ if (defined $makefiles{'gtk'}) {
       print &splitline("\t\$(CC)" . $mw . " \$(${type}LDFLAGS) -o \$@ " .
                        $objstr . " $libstr", 69), "\n\n";
     }
-    foreach $d (&deps("X.o", undef, $dirpfx, "/")) {
+    foreach $d (&deps("X.o", undef, $dirpfx, "/", "gtk")) {
       print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})),
           "\n";
     }
@@ -1008,14 +1027,14 @@ if (defined $makefiles{'mpw'}) {
       }
 
     }
-    foreach $d (&deps("", "X.rsrc", "::", ":")) {
+    foreach $d (&deps("", "X.rsrc", "::", ":", "mpw")) {
       next unless $d->{obj};
       print &splitline(sprintf("%s \xc4 %s", $d->{obj}, join " ", @{$d->{deps}}),
                   undef, "\xb6"), "\n";
       print "\tRez ", $d->{deps}->[0], " -o {Targ} {ROptions}\n\n";
     }
     foreach $arch (qw(68K CFM68K)) {
-        foreach $d (&deps("X.\L$arch\E.o", "", "::", ":")) {
+        foreach $d (&deps("X.\L$arch\E.o", "", "::", ":", "mpw")) {
         next unless $d->{obj};
        print &splitline(sprintf("%s \xc4 %s", $d->{obj},
                                 join " ", @{$d->{deps}}),
@@ -1025,7 +1044,7 @@ if (defined $makefiles{'mpw'}) {
          }
     }
     foreach $arch (qw(PPC Carbon)) {
-        foreach $d (&deps("X.\L$arch\E.o", "", "::", ":")) {
+        foreach $d (&deps("X.\L$arch\E.o", "", "::", ":", "mpw")) {
         next unless $d->{obj};
        print &splitline(sprintf("%s \xc4 %s", $d->{obj},
                                 join " ", @{$d->{deps}}),
@@ -1064,12 +1083,6 @@ if (defined $makefiles{'lcc'}) {
       "\n".
     "\n".
     "# Get include directory for resource compiler\n".
-    "\n".
-    ".c.obj:\n".
-    &splitline("\tlcc -O -p6 \$(COMPAT) \$(FWHACK)".
-      " \$(XFLAGS) \$(CFLAGS)  \$*.c",69)."\n".
-    ".rc.res:\n".
-    &splitline("\tlrc \$(FWHACK) \$(RCFL) -r \$*.rc",69)."\n".
     "\n";
     print &splitline("all:" . join "", map { " $_.exe" } &progrealnames("GC"));
     print "\n\n";
@@ -1084,9 +1097,15 @@ if (defined $makefiles{'lcc'}) {
       print "\n\n";
     }
 
-    foreach $d (&deps("X.obj", "X.res", $dirpfx, "\\")) {
+    foreach $d (&deps("X.obj", "X.res", $dirpfx, "\\", "lcc")) {
       print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})),
         "\n";
+      if ($d->{obj} =~ /\.obj$/) {
+         print &splitline("\tlcc -O -p6 \$(COMPAT) \$(FWHACK)".
+                          " \$(XFLAGS) \$(CFLAGS) ".$d->{deps}->[0],69)."\n";
+      } else {
+         print &splitline("\tlrc \$(FWHACK) \$(RCFL) -r ".$d->{deps}->[0],69)."\n";
+      }
     }
     print "\n";
     print $makefile_extra{'lcc'};
diff --git a/website.url b/website.url
deleted file mode 100644 (file)
index 70546b7..0000000
Binary files a/website.url and /dev/null differ
similarity index 100%
rename from pageant.ico
rename to windows/pageant.ico
similarity index 100%
rename from pageant.mft
rename to windows/pageant.mft
similarity index 100%
rename from pageant.rc
rename to windows/pageant.rc
similarity index 100%
rename from pageants.ico
rename to windows/pageants.ico
similarity index 100%
rename from plink.rc
rename to windows/plink.rc
similarity index 100%
rename from putty.ico
rename to windows/putty.ico
similarity index 97%
rename from putty.iss
rename to windows/putty.iss
index c59eb16..b78f247 100644 (file)
--- a/putty.iss
@@ -1,62 +1,62 @@
-; -*- no -*-\r
-; putty.iss\r
-;\r
-; -- Inno Setup installer script for PuTTY and its related tools.\r
-;\r
-; TODO for future releases:\r
-;\r
-;  - It would be neighbourly to set up an [UninstallRun] entry that ran\r
-;    some close cousin of `putty -cleanup', only it should prompt first\r
-;    in case the user wants to keep stuff. And make the `leave it alone'\r
-;    button the DEFAULT. And perhaps warn that on NT-style systems not\r
-;    everything will be caught by this.\r
-;\r
-;  - The Quick Launch bar is an interesting thought. Certainly a fair\r
-;    number of people actually _believe_ my silly joke about how PuTTY\r
-;    is the only thing that makes Windows usable, so perhaps they'd like\r
-;    that. Unchecked by default, though, I think.\r
-;     * does this need to be conditional on the Windows version?\r
-\r
-[Setup]\r
-AppName=PuTTY\r
-AppVerName=PuTTY version 0.56\r
-DefaultDirName={pf}\PuTTY\r
-DefaultGroupName=PuTTY\r
-UninstallDisplayIcon={app}\putty.exe\r
-ChangesAssociations=yes\r
-Compression=zip/9\r
-\r
-[Files]\r
-Source: "putty.exe"; DestDir: "{app}"\r
-Source: "pageant.exe"; DestDir: "{app}"\r
-Source: "puttygen.exe"; DestDir: "{app}"\r
-Source: "pscp.exe"; DestDir: "{app}"\r
-Source: "psftp.exe"; DestDir: "{app}"\r
-Source: "plink.exe"; DestDir: "{app}"\r
-Source: "website.url"; DestDir: "{app}"\r
-Source: "doc\putty.hlp"; DestDir: "{app}"\r
-Source: "doc\putty.cnt"; DestDir: "{app}"\r
-Source: "LICENCE"; DestDir: "{app}"\r
-Source: "README.txt"; DestDir: "{app}"; Flags: isreadme\r
-\r
-[Icons]\r
-Name: "{group}\PuTTY"; Filename: "{app}\putty.exe"; Tasks: startmenu\r
-Name: "{group}\PuTTY Manual"; Filename: "{app}\putty.hlp"; Tasks: startmenu\r
-Name: "{group}\PuTTY Web Site"; Filename: "{app}\website.url"; Tasks: startmenu\r
-Name: "{group}\PSFTP"; Filename: "{app}\psftp.exe"; Tasks: startmenu\r
-Name: "{group}\PuTTYgen"; Filename: "{app}\puttygen.exe"; Tasks: startmenu\r
-Name: "{group}\Pageant"; Filename: "{app}\pageant.exe"; Tasks: startmenu\r
-Name: "{userdesktop}\PuTTY"; Filename: "{app}\putty.exe"; Tasks: desktopicon\r
-\r
-[Tasks]\r
-Name: startmenu; Description: "Create a &Start Menu group"\r
-Name: desktopicon; Description: "Create a &desktop icon for PuTTY"\r
-Name: associate; Description: "&Associate .PPK files (PuTTY Private Key) with Pageant"\r
-\r
-[Registry]\r
-Root: HKCR; Subkey: ".ppk"; ValueType: string; ValueName: ""; ValueData: "PuTTYPrivateKey"; Flags: uninsdeletevalue; Tasks: associate\r
-Root: HKCR; Subkey: "PuTTYPrivateKey"; ValueType: string; ValueName: ""; ValueData: "PuTTY Private Key File"; Flags: uninsdeletekey; Tasks: associate\r
-Root: HKCR; Subkey: "PuTTYPrivateKey\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\pageant.exe,0"; Tasks: associate\r
-Root: HKCR; Subkey: "PuTTYPrivateKey\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\pageant.exe"" ""%1"""; Tasks: associate\r
-Root: HKCR; Subkey: "PuTTYPrivateKey\shell\edit"; ValueType: string; ValueName: ""; ValueData: "&Edit"; Tasks: associate\r
-Root: HKCR; Subkey: "PuTTYPrivateKey\shell\edit\command"; ValueType: string; ValueName: ""; ValueData: """{app}\puttygen.exe"" ""%1"""; Tasks: associate\r
+; -*- no -*-
+; putty.iss
+;
+; -- Inno Setup installer script for PuTTY and its related tools.
+;
+; TODO for future releases:
+;
+;  - It would be neighbourly to set up an [UninstallRun] entry that ran
+;    some close cousin of `putty -cleanup', only it should prompt first
+;    in case the user wants to keep stuff. And make the `leave it alone'
+;    button the DEFAULT. And perhaps warn that on NT-style systems not
+;    everything will be caught by this.
+;
+;  - The Quick Launch bar is an interesting thought. Certainly a fair
+;    number of people actually _believe_ my silly joke about how PuTTY
+;    is the only thing that makes Windows usable, so perhaps they'd like
+;    that. Unchecked by default, though, I think.
+;     * does this need to be conditional on the Windows version?
+
+[Setup]
+AppName=PuTTY
+AppVerName=PuTTY version 0.56
+DefaultDirName={pf}\PuTTY
+DefaultGroupName=PuTTY
+UninstallDisplayIcon={app}\putty.exe
+ChangesAssociations=yes
+Compression=zip/9
+
+[Files]
+Source: "putty.exe"; DestDir: "{app}"
+Source: "pageant.exe"; DestDir: "{app}"
+Source: "puttygen.exe"; DestDir: "{app}"
+Source: "pscp.exe"; DestDir: "{app}"
+Source: "psftp.exe"; DestDir: "{app}"
+Source: "plink.exe"; DestDir: "{app}"
+Source: "website.url"; DestDir: "{app}"
+Source: "doc\putty.hlp"; DestDir: "{app}"
+Source: "doc\putty.cnt"; DestDir: "{app}"
+Source: "LICENCE"; DestDir: "{app}"
+Source: "README.txt"; DestDir: "{app}"; Flags: isreadme
+
+[Icons]
+Name: "{group}\PuTTY"; Filename: "{app}\putty.exe"; Tasks: startmenu
+Name: "{group}\PuTTY Manual"; Filename: "{app}\putty.hlp"; Tasks: startmenu
+Name: "{group}\PuTTY Web Site"; Filename: "{app}\website.url"; Tasks: startmenu
+Name: "{group}\PSFTP"; Filename: "{app}\psftp.exe"; Tasks: startmenu
+Name: "{group}\PuTTYgen"; Filename: "{app}\puttygen.exe"; Tasks: startmenu
+Name: "{group}\Pageant"; Filename: "{app}\pageant.exe"; Tasks: startmenu
+Name: "{userdesktop}\PuTTY"; Filename: "{app}\putty.exe"; Tasks: desktopicon
+
+[Tasks]
+Name: startmenu; Description: "Create a &Start Menu group"
+Name: desktopicon; Description: "Create a &desktop icon for PuTTY"
+Name: associate; Description: "&Associate .PPK files (PuTTY Private Key) with Pageant"
+
+[Registry]
+Root: HKCR; Subkey: ".ppk"; ValueType: string; ValueName: ""; ValueData: "PuTTYPrivateKey"; Flags: uninsdeletevalue; Tasks: associate
+Root: HKCR; Subkey: "PuTTYPrivateKey"; ValueType: string; ValueName: ""; ValueData: "PuTTY Private Key File"; Flags: uninsdeletekey; Tasks: associate
+Root: HKCR; Subkey: "PuTTYPrivateKey\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\pageant.exe,0"; Tasks: associate
+Root: HKCR; Subkey: "PuTTYPrivateKey\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\pageant.exe"" ""%1"""; Tasks: associate
+Root: HKCR; Subkey: "PuTTYPrivateKey\shell\edit"; ValueType: string; ValueName: ""; ValueData: "&Edit"; Tasks: associate
+Root: HKCR; Subkey: "PuTTYPrivateKey\shell\edit\command"; ValueType: string; ValueName: ""; ValueData: """{app}\puttygen.exe"" ""%1"""; Tasks: associate
similarity index 100%
rename from putty.mft
rename to windows/putty.mft
similarity index 100%
rename from puttycfg.ico
rename to windows/puttycfg.ico
similarity index 100%
rename from puttygen.ico
rename to windows/puttygen.ico
similarity index 100%
rename from puttygen.mft
rename to windows/puttygen.mft
similarity index 100%
rename from puttygen.rc
rename to windows/puttygen.rc
similarity index 100%
rename from scp.ico
rename to windows/scp.ico
similarity index 100%
rename from scp.rc
rename to windows/scp.rc
similarity index 100%
rename from sizetip.c
rename to windows/sizetip.c
diff --git a/windows/website.url b/windows/website.url
new file mode 100644 (file)
index 0000000..4b50369
Binary files /dev/null and b/windows/website.url differ
similarity index 100%
rename from win_res.h
rename to windows/win_res.h
similarity index 100%
rename from win_res.rc
rename to windows/win_res.rc
similarity index 100%
rename from wincfg.c
rename to windows/wincfg.c
similarity index 100%
rename from console.c
rename to windows/wincons.c
similarity index 100%
rename from winctrls.c
rename to windows/winctrls.c
similarity index 100%
rename from windefs.c
rename to windows/windefs.c
similarity index 100%
rename from windlg.c
rename to windows/windlg.c
similarity index 100%
rename from window.c
rename to windows/window.c
similarity index 100%
rename from winhelp.h
rename to windows/winhelp.h
similarity index 100%
rename from winmisc.c
rename to windows/winmisc.c
similarity index 100%
rename from winnet.c
rename to windows/winnet.c
similarity index 100%
rename from noise.c
rename to windows/winnoise.c
similarity index 100%
rename from puttygen.c
rename to windows/winpgen.c
similarity index 100%
rename from pageant.c
rename to windows/winpgnt.c
similarity index 100%
rename from pageantc.c
rename to windows/winpgntc.c
similarity index 100%
rename from plink.c
rename to windows/winplink.c
similarity index 100%
rename from printing.c
rename to windows/winprint.c
similarity index 100%
rename from winsftp.c
rename to windows/winsftp.c
similarity index 100%
rename from winstore.c
rename to windows/winstore.c
similarity index 100%
rename from winstuff.h
rename to windows/winstuff.h
similarity index 100%
rename from unicode.c
rename to windows/winucs.c
similarity index 100%
rename from winutils.c
rename to windows/winutils.c