mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
Remove broken MSVC support
MSVC compilation has been broken since at least 1e417b7275 ("All remaining
files in src/common belong to the event loop.") deleted
src/common/Makefile.nmake in 2018.
This commit is contained in:
@@ -1,122 +0,0 @@
|
||||
Building Tor with MSVC.
|
||||
=======================
|
||||
|
||||
NOTE: This is not the preferred method for building Tor on windows: we use
|
||||
mingw for our packages.
|
||||
|
||||
Last updated 9 September 2014.
|
||||
|
||||
|
||||
Requirements:
|
||||
-------------
|
||||
|
||||
* Visual Studio 2010
|
||||
https://go.microsoft.com/fwlink/?LinkId=323467
|
||||
* CMake 2.8.12.2
|
||||
https://www.cmake.org/download/
|
||||
* Perl 5.16
|
||||
https://www.activestate.com/activeperl/downloads
|
||||
* Latest stable OpenSSL tarball
|
||||
https://www.openssl.org/source/
|
||||
* Latest stable zlib tarball
|
||||
https://zlib.net/
|
||||
* Latest stable libevent Libevent tarball
|
||||
https://github.com/libevent/libevent/releases
|
||||
|
||||
Make sure you check signatures for all these packages.
|
||||
|
||||
Steps:
|
||||
------
|
||||
|
||||
Building OpenSSL from source as a shared library:
|
||||
|
||||
cd <openssl source dir>
|
||||
perl Configure VC-WIN32
|
||||
perl util\mkfiles.pl >MINFO
|
||||
perl util\mk1mf.pl no-asm dll VC-WIN32 >32dll.mak
|
||||
perl util\mkdef.pl 32 libeay > ms\libeay32.def
|
||||
perl util\mkdef.pl 32 ssleay > ms\ssleay32.def
|
||||
nmake -f 32dll.mak
|
||||
|
||||
Making OpenSSL final package:
|
||||
|
||||
Create <openssl final package dir>, I'd recommend using a name like <openssl
|
||||
source dir>-vc10.
|
||||
|
||||
Copy the following directories and files to their respective locations
|
||||
<openssl source dir>\inc32\openssl => <openssl final package dir>\include\openssl
|
||||
<openssl source dir>\out32dll\libeay32.lib => <openssl final package dir>\lib\libeay32.lib
|
||||
<openssl source dir>\out32dll\ssleay32.lib => <openssl final package dir>\lib\ssleay32.lib
|
||||
<openssl source dir>\out32dll\libeay32.dll => <openssl final package dir>\bin\libeay32.dll
|
||||
<openssl source dir>\out32dll\openssl.exe => <openssl final package dir>\bin\openssl.exe
|
||||
<openssl source dir>\out32dll\ssleay32.dll => <openssl final package dir>\bin\ssleay32.dll
|
||||
|
||||
Building Zlib from source:
|
||||
|
||||
cd <zlib source dir>
|
||||
nmake -f win32/Makefile.msc
|
||||
|
||||
Building libevent:
|
||||
|
||||
cd <libevent source dir>
|
||||
mkdir build && cd build
|
||||
SET OPENSSL_ROOT_DIR=<openssl final package dir>
|
||||
cmake -G "NMake Makefiles" .. -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo -DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING="/MT /Zi /O2 /Ob1 /D NDEBUG" -DZLIB_LIBRARY:FILEPATH="<zlib source dir>\zdll.lib" -DZLIB_INCLUDE_DIR:PATH="<zlib source dir>"
|
||||
nmake event
|
||||
|
||||
Building Tor:
|
||||
|
||||
Create a dir above tor source dir named build-alpha and two subdirs include
|
||||
and lib.
|
||||
|
||||
Your build tree should now be similar to this one:
|
||||
* build-alpha
|
||||
- include
|
||||
- lib
|
||||
* <libevent source dir>
|
||||
- build
|
||||
- cmake
|
||||
- ...
|
||||
* <openssl source dir>
|
||||
- ...
|
||||
- ms
|
||||
- util
|
||||
- ...
|
||||
* <openssl final package dir>
|
||||
- bin
|
||||
- include
|
||||
- lib
|
||||
* <tor source dir>
|
||||
- ...
|
||||
- src
|
||||
- ...
|
||||
* <zlib source dir>
|
||||
- ...
|
||||
- win32
|
||||
- ...
|
||||
|
||||
Copy the following dirs and files to the following locations:
|
||||
<openssl final package dir>\include\openssl => build-alpha\include\openssl
|
||||
<libevent source dir>\include => build-alpha\include
|
||||
<libevent source dir>\WIN32-Code\nmake\event2 => build-alpha\include\event2
|
||||
<zlib source dir>\z*.h => build-alpha\include\z*.h
|
||||
|
||||
Now copy the following files to the following locations and rename them
|
||||
according new names:
|
||||
|
||||
<libevent source dir>\build\lib\event.lib => build-alpha\lib\libevent.lib
|
||||
<openssl final package dir>\lib\libeay32.lib => build-alpha\lib\libcrypto.lib
|
||||
<openssl final package dir>\lib\ssleay32.lib => build-alpha\lib\libssl.lib
|
||||
<zlib source dir>\zdll.lib => build-alpha\lib\libz.lib
|
||||
|
||||
And we are now ready for the build process:
|
||||
|
||||
cd <tor source dir>
|
||||
nmake -f Makefile.nmake
|
||||
|
||||
After the above process is completed there should be a tor.exe in <tor
|
||||
source dir>\src\or
|
||||
|
||||
Copy tor.exe to desired location and also copy zlib1.dll, libeay32.dll and
|
||||
ssleay32.dll from built zlib and openssl packages
|
||||
|
||||
Reference in New Issue
Block a user