Commit 4125fe23 authored by Andrew Lewman's avatar Andrew Lewman
Browse files

Changes to doc as a result of creating a MinGW tor.exe on a bare system.

Add two TODO items relating to MinGW instructions.

parent 563e03a3
......@@ -41,6 +41,8 @@ R . If we fail to connect via an exit enclave, (warn and) try again
so we can abandon then too.
N - We need a separate list of "hidserv authorities" if we want to
retire moria1 from the main list.
P - Figure out why dll's compiled in mingw don't work right in Winxp.
P - Figure out why openssl 0.9.8c "make test" fails at sha256t test.
Items for 0.1.2.x:
o re-enable blossom functionality: let tor servers decide if they
......@@ -18,6 +18,8 @@
Install mingw, msys and mingw-dtk.
Create a directory called "tor-mingw".
Stage Two: Download, extract, compile openssl
......@@ -25,28 +27,24 @@ Download openssl:
Extract openssl:
cp openssl-0.9.8c.tar.gz tor-mingw/
cd tor-mingw/
tar zxf openssl-0.9.8c.tar.gz
Make openssl.dll:
cd tor-mingw/openssl-0.9.8c/
cd crypto/
find ./ -name "*.h" -exec cp {} ../include/openssl/ \;
find ./ -type f -name "*.c" -exec cp {} ../test/ \;
cd ../ssl/
find ./ -name "*.h" -exec cp {} ../include/openssl/ \;
cd ..
cp *.h include/openssl/
cp ssl/ssltest.c test/
Edit Makefile and remove the "test" and "tests" sections.
rm -rf ./test
./Configure mingw
Note: this fails in test due to:
make[1]: *** No rule to make target `sha256t.o', needed by `sha256t.exe'. Stop.
--need to research this - phobos
Copy the openssl tarball into the "tor-mingw" directory.
Type "cd tor-mingw/"
Type "tar zxf openssl-0.9.8c.tar.gz"
Make openssl libraries:
Type "cd tor-mingw/openssl-0.9.8c/"
Type "./Configure mingw"
Edit Makefile and remove the "test:" and "tests:" sections.
Type "rm -rf ./test"
Type "cd crypto/"
Type "find ./ -name "*.h" -exec cp {} ../include/openssl/ \;"
Type "cd ../ssl/"
Type "find ./ -name "*.h" -exec cp {} ../include/openssl/ \;
Type "cd .."
Type "cp *.h include/openssl/"
# The next steps can take up to 30 minutes to complete.
Type "make"
Type "make install"
Download the pre-compiled openssl for win32.
......@@ -60,13 +58,24 @@ Download zlib source:
Extract zlib:
cp zlib-1.2.3.tar.gz tor-mingw/
cd tor-mingw/
tar zxf zlib-1.2.3.tar.gz
Copy the zlib tarball into the "tor-mingw" directory
Type "cd tor-mingw/"
Type "tar zxf zlib-1.2.3.tar.gz"
Make zlib.a:
Type "cd tor-mingw/zlib-1.2.3/"
Type "./configure"
Type "make"
Type "make install"
Make zlib1.dll:
cd tor-mingw/zlib-1.2.3/
make -f win32/Makefile.gcc
Type "cd tor-mingw/zlib-1.2.3"/
Type "./configure"
Type "make -f win32/Makefile.gcc"
......@@ -77,38 +86,35 @@ Stage Four: Download, extract, and patch libevent-1.1b.
Download libevent-1.1b:
Start up MSYS:
Start -> Programs -> MinGW -> MSYS -> msys
Create a directory to work within, for example, /c/tor-mingw.
Copy libevent and tor tarballs into this working dir:
cp /path/to/libevent-1.1b.tar.gz /c/tor-mingw/
cp /patch/to/tor-alpha.tar.gz /c/tor-mingw/
cd /c/tor-mingw/
Copy the libevent tarball into the "tor-mingw" directory.
Type "cd tor-mingw"
Extract libevent: tar zxf libevent-1.1b.tar.gz
Extract tor: tar zxf tor-alpha.tar.gz
Extract libevent:
Type "tar zxf libevent-1.1b.tar.gz"
Copy the libevent-1.1b diff into libevent-1.1b:
patch -p0 < ../tor-alpha/Win32Build/mingw/libevent-1.1b-mingw.diff
Download the libevent-1.1b-mingw.diff from
Copy the libevent-1.1b diff into the libevent-1.1b directory.
Type "patch -p0 < libevent-1.1b-mingw.diff"
Run "aclocal && autoheader && automake && autoconf".
Type "aclocal && autoheader && automake && autoconf".
There may be WARNING messages. There will be no output if all runs successfuly.
Run "./configure"
Run "make"
Run "make install"
Type "./configure --enable-static --disable-shared"
Type "make"
Type "make install"
Stage Five: Build Tor
Extract the latest tor from svn in tor-mingw dir:
tar zxf latest-tor-alpha.tar.gz
Download the current Tor alpha release from
Copy the Tor tarball into the "tor-mingw" directory.
Extract Tor:
Type "tar zxf latest-tor-alpha.tar.gz"
cd tor-alpha
cd tor-<version>
Type "./configure --enable-static --disable-shared"
Type "make"
You now have a tor.exe in src/or/. This is Tor.
You now have a tor_resolve.exe in src/tools/.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment