forked from ambrop72/badvpn
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
New Windows build instructions using VS.
- Loading branch information
Showing
3 changed files
with
124 additions
and
86 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
# Windows build using Visual Studio | ||
|
||
This document describes how to build on Windows using Visual Studio. Note that only | ||
32-bit build has been tested and is described here. | ||
|
||
## Prerequisites | ||
|
||
### Visual Studio | ||
|
||
You need Visual Studio 2017. | ||
|
||
### CMake | ||
|
||
You need CMake, it is best to get the latest version. | ||
|
||
### OpenSSL | ||
|
||
You don't need this if you only need tun2socks or udpgw (but only for the VPN software). | ||
|
||
Install ActivePerl if not already. | ||
|
||
Download and extract the OpenSSL source code. | ||
|
||
Open a Visual Studio x86 native tools command prompt (found under Programs -> Visual | ||
Studio 2017) and enter the OpenSSL source code directory. In this terminal, run the | ||
following commands: | ||
|
||
``` | ||
perl Configure VC-WIN32 no-asm --prefix=%cd%\install-dir | ||
ms\do_ms | ||
nmake -f ms\ntdll.mak install | ||
``` | ||
|
||
### NSS | ||
|
||
You don't need this if you only need tun2socks or udpgw (but only for the VPN software). | ||
|
||
Install MozillaBuild (https://wiki.mozilla.org/MozillaBuild). | ||
|
||
Download and extract the NSS source code that includes NSPR | ||
(`nss-VERSION-with-nspr-VERSION.tar.gz`). | ||
|
||
Copy the file `C:\mozilla-build\start-shell.bat` to | ||
`C:\mozilla-build\start-shell-fixed.bat`, and in the latter file REMOVE the following | ||
lines near the beginning: | ||
|
||
``` | ||
SET INCLUDE= | ||
SET LIB= | ||
IF NOT DEFINED MOZ_NO_RESET_PATH ( | ||
SET PATH=%SystemRoot%\System32;%SystemRoot%;%SystemRoot%\System32\Wbem | ||
) | ||
``` | ||
|
||
Open a Visual Studio x86 native tools command prompt. In this terminal, first run the | ||
following command to enter the mozilla-build bash shell: | ||
|
||
``` | ||
C:\mozilla-build\start-shell-fixed.bat | ||
``` | ||
|
||
Enter the NSS source code directory and run the following commands: | ||
|
||
``` | ||
make -C nss nss_build_all OS_TARGET=WINNT BUILD_OPT=1 | ||
cp -r dist/private/. dist/public/. dist/WINNT*.OBJ/include/ | ||
``` | ||
|
||
## Building BadVPN | ||
|
||
Open a Visual Studio x86 native tools command prompt (found under Programs -> Visual | ||
Studio 2017) and enter the BadVPN source code directory. | ||
|
||
If you needed to build OpenSSL and NSS, then specify the paths to the builds of these | ||
libraries by setting the `CMAKE_PREFIX_PATH` environment variable as shown below; | ||
replace `<openssl-source-dir>` and `<nss-source-dir>` with the correct paths. For NSS, | ||
check if the `.OBJ` directory name is correct, if not then adjust that as well. | ||
|
||
``` | ||
set CMAKE_PREFIX_PATH=<openssl-source-dir>\install-dir;<nss-source-dir>\dist\WINNT6.2_OPT.OBJ | ||
``` | ||
|
||
Run the commands shown below. If you only need tun2socks and udpgw then also add | ||
the following parameters to first `cmake` command: | ||
`-DBUILD_NOTHING_BY_DEFAULT=1 -DBUILD_TUN2SOCKS=1 -DBUILD_UDPGW=1`. | ||
|
||
``` | ||
mkdir build | ||
cd build | ||
cmake .. -G "Visual Studio 15 2017" -DCMAKE_INSTALL_PREFIX=%cd%\..\install-dir | ||
cmake --build . --config Release --target install | ||
``` | ||
|
||
If you did need OpenSSL and NSS, then copy the needed DLL so that the programs will | ||
be able to find them. You can use the following commands to do this (while still in | ||
the `build` directory): | ||
|
||
``` | ||
copy <openssl-source-dir>\install-dir\bin\libeay32.dll ..\install-dir\bin\ | ||
copy <nss-source-dir>\dist\WINNT6.2_OPT.OBJ\lib\*.dll ..\install-dir\bin\ | ||
``` | ||
|
||
The build is now complete and is located in `<badvpn-source-dir>\install-dir`. |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters