forked from premiere/premiere-libtorrent
update build docs
This commit is contained in:
parent
e36b066020
commit
1280361236
|
@ -12,10 +12,9 @@ libtorrent manual
|
|||
downloading and building
|
||||
========================
|
||||
|
||||
To acquire the latest version of libtorrent, you'll have to grab it from SVN.
|
||||
You'll find instructions on how to do this here__ (see subversion access).
|
||||
To download the latest version of libtorrent, clone the `github repo`__.
|
||||
|
||||
__ http://sourceforge.net/svn/?group_id=79942
|
||||
__ https://github.com/arvidn/libtorrent
|
||||
|
||||
The build systems supported "out of the box" in libtorrent are boost-build v2
|
||||
(BBv2) and autotools (for unix-like systems). If you still can't build after
|
||||
|
@ -38,15 +37,18 @@ IRC channel on ``irc.freenode.net``.
|
|||
configuration options in the pkg-config file. Always use pkg-config
|
||||
when linking against libtorrent.
|
||||
|
||||
building from svn
|
||||
building from git
|
||||
-----------------
|
||||
|
||||
To build libtorrent from svn you need to check out the libtorrent sources from
|
||||
sourceforge. If you downloaded a release tarball, you can skip this section.
|
||||
To build libtorrent from git you need to clone the libtorrent repo from
|
||||
github. If you downloaded a release `tarball`__, you can skip this section.
|
||||
|
||||
To check out libtorrent follow these instructions__.
|
||||
__ https://github.com/arvidn/libtorrent/releases/latest
|
||||
|
||||
::
|
||||
|
||||
git clone https://github.com/arvidn/libtorrent.git
|
||||
|
||||
__ http://sourceforge.net/svn/?group_id=79942
|
||||
|
||||
building with BBv2
|
||||
------------------
|
||||
|
@ -75,7 +77,7 @@ You'll find boost here__.
|
|||
__ http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=8041&release_id=619445
|
||||
|
||||
Extract the archive to some directory where you want it. For the sake of this
|
||||
guide, let's assume you extract the package to ``c:\boost_1_55_0`` (I'm using
|
||||
guide, let's assume you extract the package to ``c:\boost_1_64_0`` (I'm using
|
||||
a windows path in this example since if you're on linux/unix you're more likely
|
||||
to use the autotools). You'll need at least version 1.49 of the boost library
|
||||
in order to build libtorrent.
|
||||
|
@ -86,7 +88,7 @@ Step 2: Setup BBv2
|
|||
|
||||
First you need to build ``bjam``. You do this by opening a terminal (In
|
||||
windows, run ``cmd``). Change directory to
|
||||
``c:\boost_1_55_0\tools\jam\src``. Then run the script called
|
||||
``c:\boost_1_64_0\tools\jam\src``. Then run the script called
|
||||
``build.bat`` or ``build.sh`` on a unix system. This will build ``bjam`` and
|
||||
place it in a directory starting with ``bin.`` and then have the name of your
|
||||
platform. Copy the ``bjam.exe`` (or ``bjam`` on a unix system) to a place
|
||||
|
@ -101,16 +103,16 @@ set the environment variable ``BOOST_BUILD_PATH``. This is the path that tells
|
|||
``bjam`` where it can find boost-build, your configuration file and all the
|
||||
toolsets (descriptions used by boost-build to know how to use different
|
||||
compilers on different platforms). Assuming the boost install path above, set
|
||||
it to ``c:\boost_1_55_0\tools\build\v2``.
|
||||
it to ``c:\boost_1_64_0\tools\build\v2``.
|
||||
|
||||
To set an environment variable in windows, type for example::
|
||||
|
||||
set BOOST_BUILD_PATH=c:\boost_1_55_0\tools\build\v2
|
||||
set BOOST_BUILD_PATH=c:\boost_1_64_0\tools\build\v2
|
||||
|
||||
In a terminal window.
|
||||
|
||||
The last thing to do to complete the setup of BBv2 is to modify your
|
||||
``user-config.jam`` file. It is located in ``c:\boost_1_55_0\tools\build\v2``.
|
||||
``user-config.jam`` file. It is located in ``c:\boost_1_64_0\tools\build\v2``.
|
||||
Depending on your platform and which compiler you're using, you should add a
|
||||
line for each compiler and compiler version you have installed on your system
|
||||
that you want to be able to use with BBv2. For example, if you're using
|
||||
|
@ -148,7 +150,7 @@ Step 3: Building libtorrent
|
|||
When building libtorrent, the ``Jamfile`` expects the environment variable
|
||||
``BOOST_ROOT`` to be set to the boost installation directory. It uses this to
|
||||
find the boost libraries it depends on, so they can be built and their headers
|
||||
files found. So, set this to ``c:\boost_1_55_0``. You only need this if you're
|
||||
files found. So, set this to ``c:\boost_1_64_0``. You only need this if you're
|
||||
building against a source distribution of boost.
|
||||
|
||||
Then the only thing left is simply to invoke ``bjam``. If you want to specify
|
||||
|
@ -224,8 +226,8 @@ from a cygwin terminal, you'll have to run it from a ``cmd`` terminal. The same
|
|||
cygwin, if you're building with gcc in cygwin you'll have to run it from a cygwin terminal.
|
||||
Also, make sure the paths are correct in the different environments. In cygwin, the paths
|
||||
(``BOOST_BUILD_PATH`` and ``BOOST_ROOT``) should be in the typical unix-format (e.g.
|
||||
``/cygdrive/c/boost_1_55_0``). In the windows environment, they should have the typical
|
||||
windows format (``c:/boost_1_55_0``).
|
||||
``/cygdrive/c/boost_1_64_0``). In the windows environment, they should have the typical
|
||||
windows format (``c:/boost_1_64_0``).
|
||||
|
||||
.. note::
|
||||
In Jamfiles, spaces are separators. It's typically easiest to avoid spaces
|
||||
|
@ -388,12 +390,12 @@ building with autotools
|
|||
First of all, you need to install ``automake`` and ``autoconf``. Many
|
||||
unix/linux systems comes with these preinstalled.
|
||||
|
||||
The prerequisites for building libtorrent are boost.thread, boost.date_time
|
||||
and boost.filesystem. Those are the *compiled* boost libraries needed. The
|
||||
headers-only libraries needed include (but is not necessarily limited to)
|
||||
boost.bind, boost.ref, boost.multi_index, boost.optional, boost.lexical_cast,
|
||||
boost.integer, boost.iterator, boost.tuple, boost.array, boost.function,
|
||||
boost.smart_ptr, boost.preprocessor, boost.static_assert.
|
||||
The prerequisites for building libtorrent are boost.system, boost.chrono and
|
||||
boost.random. Those are the *compiled* boost libraries needed. The headers-only
|
||||
libraries needed include (but is not necessarily limited to) boost.bind,
|
||||
boost.ref, boost.multi_index, boost.optional, boost.lexical_cast, boost.integer,
|
||||
boost.iterator, boost.tuple, boost.array, boost.function, boost.smart_ptr,
|
||||
boost.preprocessor, boost.static_assert.
|
||||
|
||||
If you want to build the ``client_test`` example, you'll also need boost.regex
|
||||
and boost.program_options.
|
||||
|
@ -452,12 +454,14 @@ the suffix ``mt``.
|
|||
You know that the boost libraries were found if you see the following output
|
||||
from the configure script::
|
||||
|
||||
checking whether the Boost::DateTime library is available... yes
|
||||
checking for main in -lboost_date_time... yes
|
||||
checking whether the Boost::Filesystem library is available... yes
|
||||
checking for main in -lboost_filesystem... yes
|
||||
checking whether the Boost::Thread library is available... yes
|
||||
checking for main in -lboost_thread... yes
|
||||
Checking for boost libraries:
|
||||
checking for boostlib >= 1.53... yes
|
||||
checking whether the Boost::System library is available... yes
|
||||
checking for exit in -lboost_system... yes
|
||||
checking whether the Boost::Chrono library is available... yes
|
||||
checking for exit in -lboost_chrono-mt... yes
|
||||
checking whether the Boost::Random library is available... yes
|
||||
checking for exit in -lboost_random-mt... yes
|
||||
|
||||
Another possible source of problems may be if the path to your libtorrent
|
||||
directory contains spaces. Make sure you either rename the directories with
|
||||
|
@ -532,10 +536,6 @@ defines you can use to control the build.
|
|||
| | peer_log_alert. With this build flag, you |
|
||||
| | cannot enable those alerts. |
|
||||
+----------------------------------------+-------------------------------------------------+
|
||||
| ``TORRENT_STORAGE_DEBUG`` | This will enable extra expensive invariant |
|
||||
| | checks in the storage, including logging of |
|
||||
| | piece sorting. |
|
||||
+----------------------------------------+-------------------------------------------------+
|
||||
| ``TORRENT_DISK_STATS`` | This will create a log of all disk activity |
|
||||
| | which later can parsed and graphed using |
|
||||
| | ``parse_disk_log.py``. |
|
||||
|
|
Loading…
Reference in New Issue