--- /dev/null
+Compiling rsync for MS Windows 95
+=================================
+
+Caveat:
+There are no doubt other ways to do this, but I have not tried them.
+
+This will produce an rsync binary which runs under win95/NT which can _send_
+data to a UNIX rsync host but not receive. This is suitable for my requirements
+as I am backing up a bunch of win95 machines to a linux server, but it may
+not be what _you_ require.
+
+NOTE: I am now told (by patl@curl.com) that receiving as well as
+sending works with the current cygwin32 toolkit.
+
+
+Step 1. Get the Cygnus development kit
+--------------------------------------
+
+If you do not already know about this wonderful project undertaken by cygnus,
+grab the latest copy of the gnu-win32 runtime system from
+
+ http://www.cygnus.com/misc/gnu-win32/
+
+You will want the CDK-B19.EXE self-installing binary (be warned - it's 12M
+in size) which contains gcc+binutils+DLLs required by the system. Read the
+instructions about this and install it. You will then have something which
+looks _very_ close to a UNIX box as far as any UNIX software ic concerned.
+
+Also grab the updated version (B19.1) of the DLL as this fixes some problems
+(it's pretty small at ~190k).
+
+Take a bit of time to play with this stuff - have a look at the registry
+entries that define mount points etc so you know where/how your windows
+directories are mapped.
+
+Step 2. Compile rsync
+---------------------
+
+Once the magic BASH$ prompt appears in your cygnus dos box, you can download
+and compile rsync right out of the box. You might want to do this:
+
+ tar xvzf rsync-2.0.17.tar.gz (or whatever version...)
+ cd rsync-2.0.17
+ chmod +x configure (exec is not set automatically)
+ ./configure
+ make
+
+and you will have a working RSYNC.EXE
+
+Before you can do a "make install" you must edit the Makefile so that
+it knows about "rsync.exe" rather than "rsync".
+
+Step 3 (optional) - compile and install SSH
+-------------------------------------------
+
+If you want to use ssh as the transport then you better grab a copy and compile
+it - again, no surprises. It compiles ok under gnuwin32, and you can generate
+keys etc in the normal way.
+
+Problems
+--------
+
+Well, it _almost_ works seamlessly. Here are a couple of problems I have
+encountered so far - I do not know why these symptoms occur, and they are
+probably nothing to do with rsync, but if you follow this course then you
+will probably run into these things also...
+
+1. rsync will not _receive_ data onto a windows box. It seems to do everything
+ ok, but then hangs at the last step and no files actually appear. When
+ transferring via my modem, I can see data being received, but it never
+ appears in my directory.
+
+NOTE: This now appears to be fixed.
+
+2. rsync, ssh and other gnuwin32-compiled programs can be called directly from
+ a DOS prompt, but argument passing seems to be broken. This means that
+ starting SSH directly is difficult.
+
+ After a bit of experimenting I found a workaround, which is not pretty
+ but worked for me :-)
+
+ Lets say you want to call ssh from a normal DOS prompt. Set up a batch
+ file called "SSH.BAT" which sets up the cygnus environment and calls bash
+ with the argument "ssh.sh %1 %2 %3 %4 %5 %6 %7 %8 %9". You can copy the
+ cygnus.bat file and use it as a template if you like. here is my ssh.bat:
+
+
+ @ECHO OFF
+ SET TERM=ansi
+ SET MAKE_MODE=unix
+ SET CYGFS=e:/apps/cygnus
+ SET GCC_EXEC_PREFIX=/lib\gcc-lib\
+ SET TCL_LIBRARY=%CYGROOT%\share\tcl8.0\
+ SET HOME=/home/awesley
+ SET GDBTK_LIBRARY=%CYGFS%/share/gdbtcl
+ bash /scripts/ssh.sh %1 %2 %3 %4 %5 %6 %7 %8 %9
+
+
+ Create a shell script called ssh.sh containing:
+
+ /usr/local/bin/ssh $*
+
+ which is then run by bash and calls the ssh binary (wherever you have
+ installed it).
+
+ I suspect that there is a better way, but I have not yet had time to
+ look for it.
+
+
+Cheers, Anthony Wesley