mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-01-22 04:04:16 +00:00
Added instructions for a 64-bit OS
This commit is contained in:
parent
0aa3aa1b8d
commit
f034aef2ae
@ -20,11 +20,15 @@ development location for the sake of convenience. Adjust paths
|
|||||||
accordingly if it is not the case. Note that msys uses unix-alike
|
accordingly if it is not the case. Note that msys uses unix-alike
|
||||||
paths like /c/dev/ for C:\dev\.
|
paths like /c/dev/ for C:\dev\.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
msys2
|
msys2
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
### x86 (32-bit architecture)
|
||||||
|
|
||||||
Get install file msys2-i686-20150916.exe from https://msys2.github.io.
|
Get install file msys2-i686-20150916.exe from https://msys2.github.io.
|
||||||
open MSys2Shell (from Start menu).
|
open MSYS2 Shell (from Start menu).
|
||||||
Install all prerequisites and download i2pd source:
|
Install all prerequisites and download i2pd source:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -37,14 +41,23 @@ export PATH=/mingw32/bin:/usr/bin # we need compiler on PATH which is usually he
|
|||||||
make
|
make
|
||||||
```
|
```
|
||||||
|
|
||||||
If your processor has
|
|
||||||
[AES instruction set](https://en.wikipedia.org/wiki/AES_instruction_set),
|
|
||||||
you use `make USE_AESNI=1`. No check is done however, it
|
|
||||||
will compile, but it might crash with `Illegal instruction` if not supported.
|
|
||||||
|
|
||||||
You should be able to run ./i2pd . If you need to start from the new
|
### x64 (64-bit architecture)
|
||||||
shell, consider starting *MinGW-w64 Win32 Shell* instead of *MSYS2 Shell* as
|
|
||||||
it adds`/minw32/bin` to the PATH.
|
Get install file msys2-x86_64-20150916.exe from https://msys2.github.io.
|
||||||
|
open MSYS2 Shell (from Start menu).
|
||||||
|
Install all prerequisites and download i2pd source:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pacman -S mingw-w64-x86_64-boost mingw-w64-x86_64-openssl mingw-w64-x86_64-gcc git make
|
||||||
|
mkdir -p /c/dev/i2pd
|
||||||
|
cd /c/dev/i2pd
|
||||||
|
git clone https://github.com/PurpleI2P/i2pd.git
|
||||||
|
cd i2pd
|
||||||
|
export PATH=/mingw64/bin:/usr/bin # we need compiler on PATH which is usually heavily cluttered on Windows
|
||||||
|
make
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
### Caveats
|
### Caveats
|
||||||
|
|
||||||
@ -63,6 +76,19 @@ home page, otherwise you might end up with DLLs incompatibility
|
|||||||
problems.
|
problems.
|
||||||
|
|
||||||
|
|
||||||
|
### AES-NI
|
||||||
|
|
||||||
|
If your processor has
|
||||||
|
[AES instruction set](https://en.wikipedia.org/wiki/AES_instruction_set),
|
||||||
|
you use `make USE_AESNI=1`. No check is done however, it
|
||||||
|
will compile, but it might crash with `Illegal instruction` if not supported.
|
||||||
|
|
||||||
|
You should be able to run ./i2pd . If you need to start from the new
|
||||||
|
shell, consider starting *MinGW-w64 Win32 Shell* instead of *MSYS2 Shell* as
|
||||||
|
it adds`/minw32/bin` to the PATH.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Using Visual Studio
|
Using Visual Studio
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
@ -77,7 +103,7 @@ Requirements for building:
|
|||||||
* Strawberry Perl or ActiveState Perl, do NOT try msys2 perl, it won't work
|
* Strawberry Perl or ActiveState Perl, do NOT try msys2 perl, it won't work
|
||||||
|
|
||||||
|
|
||||||
## Building Boost
|
### Building Boost
|
||||||
|
|
||||||
Open a Command Prompt (there is no need to start Visual Studio command
|
Open a Command Prompt (there is no need to start Visual Studio command
|
||||||
prompt to build Boost) and run the following:
|
prompt to build Boost) and run the following:
|
||||||
@ -98,8 +124,8 @@ only and static linking, and/or you are out of space/time, you might
|
|||||||
consider `--build-type=minimal`. Take a look at
|
consider `--build-type=minimal`. Take a look at
|
||||||
[appveyor.yml](../appveyor.yml) for details on how test builds are done.
|
[appveyor.yml](../appveyor.yml) for details on how test builds are done.
|
||||||
|
|
||||||
Building OpenSSL
|
|
||||||
-----------------
|
### Building OpenSSL
|
||||||
|
|
||||||
Download OpenSSL, e.g. with git
|
Download OpenSSL, e.g. with git
|
||||||
|
|
||||||
@ -123,8 +149,8 @@ maintaining multiple versions, e.g. 64 bit and/or
|
|||||||
static/shared. Consult `C:\Program Files
|
static/shared. Consult `C:\Program Files
|
||||||
(x86)\CMake\share\cmake-3.3\Modules\FindOpenSSL.cmake` for details.
|
(x86)\CMake\share\cmake-3.3\Modules\FindOpenSSL.cmake` for details.
|
||||||
|
|
||||||
Get miniupnpc
|
|
||||||
-------------
|
### Get miniupnpc
|
||||||
|
|
||||||
If you are behind a UPnP enabled router and don't feel like manually
|
If you are behind a UPnP enabled router and don't feel like manually
|
||||||
configuring port forwarding, you should consider using
|
configuring port forwarding, you should consider using
|
||||||
@ -139,8 +165,7 @@ Note that you might need to build DLL yourself for 64-bit systems
|
|||||||
using msys2 as 64-bit DLLs are not provided by the project.
|
using msys2 as 64-bit DLLs are not provided by the project.
|
||||||
|
|
||||||
|
|
||||||
Creating Visual Studio project
|
### Creating Visual Studio project
|
||||||
------------------------------
|
|
||||||
|
|
||||||
Start CMake GUI, navigate to i2pd directory, choose building directory, e.g. ./out, and configure options.
|
Start CMake GUI, navigate to i2pd directory, choose building directory, e.g. ./out, and configure options.
|
||||||
|
|
||||||
@ -155,8 +180,8 @@ cmake ..\build -G "Visual Studio 12 2013" -DWITH_UPNP=ON -DWITH_PCH=ON -DCMAKE_I
|
|||||||
|
|
||||||
WITH_UPNP will stay off, if necessary files are not found.
|
WITH_UPNP will stay off, if necessary files are not found.
|
||||||
|
|
||||||
Building i2pd
|
|
||||||
-------------
|
### Building i2pd
|
||||||
|
|
||||||
You can open generated solution/project with Visual Studio and build
|
You can open generated solution/project with Visual Studio and build
|
||||||
from there, alternatively you can use `cmake --build . --config Release --target install` or
|
from there, alternatively you can use `cmake --build . --config Release --target install` or
|
||||||
|
Loading…
x
Reference in New Issue
Block a user