*** empty log message ***

This commit is contained in:
Arvid Norberg 2004-02-27 11:49:12 +00:00
parent 5c074c457e
commit 205a6e2496
3 changed files with 87 additions and 53 deletions

View File

@ -9,6 +9,7 @@ use-project /boost/thread : $(BOOST_ROOT)/libs/thread/build ;
use-project /boost/filesystem : $(BOOST_ROOT)/libs/filesystem/build ; use-project /boost/filesystem : $(BOOST_ROOT)/libs/filesystem/build ;
use-project /boost/date_time : $(BOOST_ROOT)/libs/date_time/build ; use-project /boost/date_time : $(BOOST_ROOT)/libs/date_time/build ;
lib winsock : : <name>wsock32.lib ;
project torrent project torrent
: requirements : requirements
@ -33,6 +34,8 @@ project torrent
; ;
LIBS = ;
SOURCES = SOURCES =
allocate_resources.cpp allocate_resources.cpp
alert.cpp alert.cpp
@ -60,6 +63,7 @@ SOURCES =
if [ modules.peek : NT ] && toolset != msvc-6 if [ modules.peek : NT ] && toolset != msvc-6
{ {
SOURCES += file_win.cpp ; SOURCES += file_win.cpp ;
LIBS += winsock ;
} }
else else
{ {
@ -74,6 +78,7 @@ lib torrent
/boost/thread//boost_thread/<link>shared /boost/thread//boost_thread/<link>shared
/boost/date_time//boost_date_time/<link>static /boost/date_time//boost_date_time/<link>static
/boost/filesystem//boost_filesystem/<link>static /boost/filesystem//boost_filesystem/<link>static
$(LIBS)
: :
<include>./include <include>./include
<threading>multi <threading>multi

View File

@ -15,61 +15,62 @@
<ul class="simple"> <ul class="simple">
<li><a class="reference" href="#introduction" id="id13" name="id13">introduction</a></li> <li><a class="reference" href="#introduction" id="id13" name="id13">introduction</a></li>
<li><a class="reference" href="#downloading-and-building" id="id14" name="id14">downloading and building</a><ul> <li><a class="reference" href="#downloading-and-building" id="id14" name="id14">downloading and building</a><ul>
<li><a class="reference" href="#release-and-debug-builds" id="id15" name="id15">release and debug builds</a></li> <li><a class="reference" href="#cygwin-and-msvc" id="id15" name="id15">cygwin and msvc</a></li>
<li><a class="reference" href="#release-and-debug-builds" id="id16" name="id16">release and debug builds</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="#using" id="id16" name="id16">using</a></li> <li><a class="reference" href="#using" id="id17" name="id17">using</a></li>
<li><a class="reference" href="#session" id="id17" name="id17">session</a></li> <li><a class="reference" href="#session" id="id18" name="id18">session</a></li>
<li><a class="reference" href="#parsing-torrent-files" id="id18" name="id18">parsing torrent files</a></li> <li><a class="reference" href="#parsing-torrent-files" id="id19" name="id19">parsing torrent files</a></li>
<li><a class="reference" href="#entry" id="id19" name="id19">entry</a></li> <li><a class="reference" href="#entry" id="id20" name="id20">entry</a></li>
<li><a class="reference" href="#torrent-info" id="id20" name="id20">torrent_info</a></li> <li><a class="reference" href="#torrent-info" id="id21" name="id21">torrent_info</a></li>
<li><a class="reference" href="#torrent-handle" id="id21" name="id21">torrent_handle</a><ul> <li><a class="reference" href="#torrent-handle" id="id22" name="id22">torrent_handle</a><ul>
<li><a class="reference" href="#status" id="id22" name="id22">status()</a></li> <li><a class="reference" href="#status" id="id23" name="id23">status()</a></li>
<li><a class="reference" href="#get-download-queue" id="id23" name="id23">get_download_queue()</a></li> <li><a class="reference" href="#get-download-queue" id="id24" name="id24">get_download_queue()</a></li>
<li><a class="reference" href="#get-peer-info" id="id24" name="id24">get_peer_info()</a></li> <li><a class="reference" href="#get-peer-info" id="id25" name="id25">get_peer_info()</a></li>
<li><a class="reference" href="#get-torrent-info" id="id25" name="id25">get_torrent_info()</a></li> <li><a class="reference" href="#get-torrent-info" id="id26" name="id26">get_torrent_info()</a></li>
<li><a class="reference" href="#is-valid" id="id26" name="id26">is_valid()</a></li> <li><a class="reference" href="#is-valid" id="id27" name="id27">is_valid()</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="#address" id="id27" name="id27">address</a></li> <li><a class="reference" href="#address" id="id28" name="id28">address</a></li>
<li><a class="reference" href="#http-settings" id="id28" name="id28">http_settings</a></li> <li><a class="reference" href="#http-settings" id="id29" name="id29">http_settings</a></li>
<li><a class="reference" href="#big-number" id="id29" name="id29">big_number</a></li> <li><a class="reference" href="#big-number" id="id30" name="id30">big_number</a></li>
<li><a class="reference" href="#hasher" id="id30" name="id30">hasher</a></li> <li><a class="reference" href="#hasher" id="id31" name="id31">hasher</a></li>
<li><a class="reference" href="#fingerprint" id="id31" name="id31">fingerprint</a><ul> <li><a class="reference" href="#fingerprint" id="id32" name="id32">fingerprint</a><ul>
<li><a class="reference" href="#identify-client" id="id32" name="id32">identify_client</a></li> <li><a class="reference" href="#identify-client" id="id33" name="id33">identify_client</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="#alerts" id="id33" name="id33">alerts</a><ul> <li><a class="reference" href="#alerts" id="id34" name="id34">alerts</a><ul>
<li><a class="reference" href="#listen-failed-alert" id="id34" name="id34">listen_failed_alert</a></li> <li><a class="reference" href="#listen-failed-alert" id="id35" name="id35">listen_failed_alert</a></li>
<li><a class="reference" href="#file-error-alert" id="id35" name="id35">file_error_alert</a></li> <li><a class="reference" href="#file-error-alert" id="id36" name="id36">file_error_alert</a></li>
<li><a class="reference" href="#tracker-alert" id="id36" name="id36">tracker_alert</a></li> <li><a class="reference" href="#tracker-alert" id="id37" name="id37">tracker_alert</a></li>
<li><a class="reference" href="#hash-failed-alert" id="id37" name="id37">hash_failed_alert</a></li> <li><a class="reference" href="#hash-failed-alert" id="id38" name="id38">hash_failed_alert</a></li>
<li><a class="reference" href="#peer-error-alert" id="id38" name="id38">peer_error_alert</a></li> <li><a class="reference" href="#peer-error-alert" id="id39" name="id39">peer_error_alert</a></li>
<li><a class="reference" href="#invalid-request-alert" id="id39" name="id39">invalid_request_alert</a></li> <li><a class="reference" href="#invalid-request-alert" id="id40" name="id40">invalid_request_alert</a></li>
<li><a class="reference" href="#torrent-finished-alert" id="id40" name="id40">torrent_finished_alert</a></li> <li><a class="reference" href="#torrent-finished-alert" id="id41" name="id41">torrent_finished_alert</a></li>
<li><a class="reference" href="#dispatcher" id="id41" name="id41">dispatcher</a></li> <li><a class="reference" href="#dispatcher" id="id42" name="id42">dispatcher</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="#exceptions" id="id42" name="id42">exceptions</a><ul> <li><a class="reference" href="#exceptions" id="id43" name="id43">exceptions</a><ul>
<li><a class="reference" href="#invalid-handle" id="id43" name="id43">invalid_handle</a></li> <li><a class="reference" href="#invalid-handle" id="id44" name="id44">invalid_handle</a></li>
<li><a class="reference" href="#duplicate-torrent" id="id44" name="id44">duplicate_torrent</a></li> <li><a class="reference" href="#duplicate-torrent" id="id45" name="id45">duplicate_torrent</a></li>
<li><a class="reference" href="#invalid-encoding" id="id45" name="id45">invalid_encoding</a></li> <li><a class="reference" href="#invalid-encoding" id="id46" name="id46">invalid_encoding</a></li>
<li><a class="reference" href="#type-error" id="id46" name="id46">type_error</a></li> <li><a class="reference" href="#type-error" id="id47" name="id47">type_error</a></li>
<li><a class="reference" href="#invalid-torrent-file" id="id47" name="id47">invalid_torrent_file</a></li> <li><a class="reference" href="#invalid-torrent-file" id="id48" name="id48">invalid_torrent_file</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="#examples" id="id48" name="id48">examples</a><ul> <li><a class="reference" href="#examples" id="id49" name="id49">examples</a><ul>
<li><a class="reference" href="#dump-torrent" id="id49" name="id49">dump_torrent</a></li> <li><a class="reference" href="#dump-torrent" id="id50" name="id50">dump_torrent</a></li>
<li><a class="reference" href="#simple-client" id="id50" name="id50">simple client</a></li> <li><a class="reference" href="#simple-client" id="id51" name="id51">simple client</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="#fast-resume" id="id51" name="id51">fast resume</a><ul> <li><a class="reference" href="#fast-resume" id="id52" name="id52">fast resume</a><ul>
<li><a class="reference" href="#file-format" id="id52" name="id52">file format</a></li> <li><a class="reference" href="#file-format" id="id53" name="id53">file format</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="#extensions" id="id53" name="id53">extensions</a></li> <li><a class="reference" href="#extensions" id="id54" name="id54">extensions</a></li>
<li><a class="reference" href="#filenames-checks" id="id54" name="id54">filenames checks</a></li> <li><a class="reference" href="#filenames-checks" id="id55" name="id55">filenames checks</a></li>
<li><a class="reference" href="#aknowledgements" id="id55" name="id55">aknowledgements</a></li> <li><a class="reference" href="#aknowledgements" id="id56" name="id56">aknowledgements</a></li>
</ul> </ul>
</div> </div>
<div class="section" id="introduction"> <div class="section" id="introduction">
@ -164,15 +165,27 @@ bjam &lt;toolset&gt; link=static
<p>in the libtorrent directory.</p> <p>in the libtorrent directory.</p>
<p>If you're building on a platform where dlls share the same heap, you can build libtorrent <p>If you're building on a platform where dlls share the same heap, you can build libtorrent
as a dll too, by typing <tt class="literal"><span class="pre">link=shared</span></tt> instead of <tt class="literal"><span class="pre">link=static</span></tt>.</p> as a dll too, by typing <tt class="literal"><span class="pre">link=shared</span></tt> instead of <tt class="literal"><span class="pre">link=static</span></tt>.</p>
<p>If you're making your own project file, note that there are two versions of the file
abstraction. There's one <tt class="literal"><span class="pre">file_win.cpp</span></tt> which relies on windows file API that supports
files larger than 2 Gigabytes. This does not work in vc6 for some reason, possibly because
it may require windows NT and above. The other file, <tt class="literal"><span class="pre">file.cpp</span></tt> is the default
implementation that simply relies on the standard library's fstream, and as a result does
not support files larger than 2 Gigabytes.</p>
<div class="section" id="cygwin-and-msvc">
<h2><a name="cygwin-and-msvc">cygwin and msvc</a></h2>
<p>Note that if you're building on windows using the <tt class="literal"><span class="pre">msvc</span></tt> toolset, you cannot run it
from a cygwin terminal, you'll have to run it from a cmd terminal. The same goes for
cygwin, if you're building with gcc (mingw) 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
(<tt class="literal"><span class="pre">BOOST_BUILD_PATH</span></tt> and <tt class="literal"><span class="pre">BOOST_ROOT</span></tt>) should be in the typical unix-format (e.g.
<tt class="literal"><span class="pre">/cygdrive/c/boost_1_31_0</span></tt>). In the windows environment, they should have the typical
windows format (<tt class="literal"><span class="pre">c:/boost_1_31_0</span></tt>).</p>
<p>If you're building in developer studio, you may have to set the compiler options <p>If you're building in developer studio, you may have to set the compiler options
&quot;force conformance in for loop scope&quot; and &quot;treat wchar_t as built-in type&quot; to Yes.</p> &quot;force conformance in for loop scope&quot; and &quot;treat wchar_t as built-in type&quot; to Yes.</p>
<p>If you're building in developer studio 6, you will probably have to use the previous <p>If you're building in developer studio 6, you will probably have to use the previous
version of boost, <a class="reference" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041&amp;release_id=178835">boost 1.30.2</a>.</p> version of boost, <a class="reference" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041&amp;release_id=178835">boost 1.30.2</a>. And you'll definately have to use the latest service
<p>There are two versions of the file abstraction. There's one <tt class="literal"><span class="pre">file_win.cpp</span></tt> which pack (sp5).</p>
relies on windows file API that supports files larger than 2 Gigabytes. This does not work </div>
in vc6 for some reason, possibly because it may require windows NT and above. The other file,
<tt class="literal"><span class="pre">file.cpp</span></tt> is the default implementation that simply relies on the standard library's fstream,
and as a result does not support files larger than 2 Gigabytes.</p>
<div class="section" id="release-and-debug-builds"> <div class="section" id="release-and-debug-builds">
<h2><a name="release-and-debug-builds">release and debug builds</a></h2> <h2><a name="release-and-debug-builds">release and debug builds</a></h2>
<p>The <tt class="literal"><span class="pre">Jamfile</span></tt> can build both a release and debug version of libtorrent. In debug mode, <p>The <tt class="literal"><span class="pre">Jamfile</span></tt> can build both a release and debug version of libtorrent. In debug mode,

View File

@ -111,19 +111,35 @@ in the libtorrent directory.
If you're building on a platform where dlls share the same heap, you can build libtorrent If you're building on a platform where dlls share the same heap, you can build libtorrent
as a dll too, by typing ``link=shared`` instead of ``link=static``. as a dll too, by typing ``link=shared`` instead of ``link=static``.
If you're making your own project file, note that there are two versions of the file
abstraction. There's one ``file_win.cpp`` which relies on windows file API that supports
files larger than 2 Gigabytes. This does not work in vc6 for some reason, possibly because
it may require windows NT and above. The other file, ``file.cpp`` is the default
implementation that simply relies on the standard library's fstream, and as a result does
not support files larger than 2 Gigabytes.
cygwin and msvc
---------------
Note that if you're building on windows using the ``msvc`` toolset, you cannot run it
from a cygwin terminal, you'll have to run it from a cmd terminal. The same goes for
cygwin, if you're building with gcc (mingw) 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_31_0``). In the windows environment, they should have the typical
windows format (``c:/boost_1_31_0``).
If you're building in developer studio, you may have to set the compiler options If you're building in developer studio, you may have to set the compiler options
"force conformance in for loop scope" and "treat wchar_t as built-in type" to Yes. "force conformance in for loop scope" and "treat wchar_t as built-in type" to Yes.
If you're building in developer studio 6, you will probably have to use the previous If you're building in developer studio 6, you will probably have to use the previous
version of boost, `boost 1.30.2`__. version of boost, `boost 1.30.2`__. And you'll definately have to use the latest service
pack (sp5).
__ http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=8041&release_id=178835 __ http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=8041&release_id=178835
There are two versions of the file abstraction. There's one ``file_win.cpp`` which
relies on windows file API that supports files larger than 2 Gigabytes. This does not work
in vc6 for some reason, possibly because it may require windows NT and above. The other file,
``file.cpp`` is the default implementation that simply relies on the standard library's fstream,
and as a result does not support files larger than 2 Gigabytes.
release and debug builds release and debug builds
------------------------ ------------------------