BUILDING ALLMYDATA.ORG TAHOE ON WINDOWS

There are three ways to do it:

ALL CYGWIN ALL THE TIME 

If you are building on Windows, then the easy way is to install cygwin and
use cygwin version of Python and the cygwin versions of all dependencies
(which will happen naturally if you follow the main README file -- note that
you cannot use Windows-native versions of any of the dependencies -- they all
have to be cygwin versions).  So if you are taking this approach then you
don't need to read the rest of this README.win32 file at all.

CYGWIN TOOLS TO BUILD WINDOWS-NATIVE LIBRARIES

The second-easiest way is to install cygwin and use cygwin development tools
such as bash, GNU make, gcc, etc., but install the Windows-native version of
Python and the Windows-native versions of all of the dependencies.  If you
create a distutils config file (as per
http://docs.python.org/inst/config-syntax.html ) and put "compiler=mingw32"
in it, then you can follow the rest of the main README file and the
dependencies will all be automatically built (by the cygwin gcc compiler) as
Windows-native libraries.  This README.win32 file contains some extra notes
about how to take this approach.

OTHER BUILD TOOLS

The third-easiest way is to use a Microsoft compiler or some other compiler.
Our README files do not currently explain how to do that.  You are on your
own for now, but please feel free to contribute a document which explains how
to build all these dependencies using your favorite compiler.




Okay, here are some notes about following the "CYGWIN TOOLS TO BUILD
WINDOWS-NATIVE LIBRARIES" approach:


EXTRA MANUAL DEPENDENCIES

In addition to the dependencies listed in the main README file, you also need
the following:

 + the pywin32 package (210 or later)

   http://sourceforge.net/projects/pywin32/


NOTES ABOUT BUILDING OPENSSL

In order to compile the tahoe source you need to have libeay32.dll version
0.9.8.5 and ssleay32.dll version 0.9.8.5 installed.  On the original machine
I somehow had those in my system32 directory, but on my fresh install machine
I did not.  And, installing pyopenssl does not seem to install these dlls
into system32 for me.
 
So, to get them installed I had to download and compile openssl from the
openssl.org website.  When I attempted to compile that with using the
instructions in their install.w32 file:
 
       perl Configure VC-WIN32 ~prefix=c:/some/openssl/dir
       ms\do_masm
       nmake ~f ms\ntdll.mak
 
I found that
 
I needed to have perl installed, so I installed that from active perl (though
the version from the cygwin install works too).  I needed to add my visual
studio install to my ~path~ environment variable. In my case that was 
~C:\Program Files\Microsoft Visual Studio\VC98\Bin~I needed to add an
include environment variable with the path to my include files.  In VS2005,
there are two directories that have to be added there, so ~include~ = 
~C:\Program Files\Microsoft Visual Studio 8\VC\include; C:\Program
Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include~I needed to add a 
~lib~ environment variable with paths to my .lib files for the linker.  In
my case that was ~lib~ = ~C:\Program Files\Microsoft Visual Studio
8\VC\lib; C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib~
 
Once I did this, the openssl code compiles for me and I just needed to copy
the dlls (libeay32.dll and ssleay32.dll) that were created in the out32dll
directory of my openssl-0.9.8e source folder into my windows\system32 folder.
Then Tahoe-0.6.0 compiles and installs fine using the ~python setup.py
install~ command.
 

NOTES ABOUT INSTALLING PYOPENSSL

To install PyOpenSSL on Windows-native, download this:

http://allmydata.org/source/pyOpenSSL-0.6.win32-py2.5.exe

or for Python 2.4, this:

http://allmydata.org/source/pyOpenSSL-0.6.win32-py2.4.exe
