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

View File

@ -15,61 +15,62 @@
<ul class="simple">
<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="#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>
</li>
<li><a class="reference" href="#using" id="id16" name="id16">using</a></li>
<li><a class="reference" href="#session" id="id17" name="id17">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="#entry" id="id19" name="id19">entry</a></li>
<li><a class="reference" href="#torrent-info" id="id20" name="id20">torrent_info</a></li>
<li><a class="reference" href="#torrent-handle" id="id21" name="id21">torrent_handle</a><ul>
<li><a class="reference" href="#status" id="id22" name="id22">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-peer-info" id="id24" name="id24">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="#is-valid" id="id26" name="id26">is_valid()</a></li>
<li><a class="reference" href="#using" id="id17" name="id17">using</a></li>
<li><a class="reference" href="#session" id="id18" name="id18">session</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="id20" name="id20">entry</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="id22" name="id22">torrent_handle</a><ul>
<li><a class="reference" href="#status" id="id23" name="id23">status()</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="id25" name="id25">get_peer_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="id27" name="id27">is_valid()</a></li>
</ul>
</li>
<li><a class="reference" href="#address" id="id27" name="id27">address</a></li>
<li><a class="reference" href="#http-settings" id="id28" name="id28">http_settings</a></li>
<li><a class="reference" href="#big-number" id="id29" name="id29">big_number</a></li>
<li><a class="reference" href="#hasher" id="id30" name="id30">hasher</a></li>
<li><a class="reference" href="#fingerprint" id="id31" name="id31">fingerprint</a><ul>
<li><a class="reference" href="#identify-client" id="id32" name="id32">identify_client</a></li>
<li><a class="reference" href="#address" id="id28" name="id28">address</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="id30" name="id30">big_number</a></li>
<li><a class="reference" href="#hasher" id="id31" name="id31">hasher</a></li>
<li><a class="reference" href="#fingerprint" id="id32" name="id32">fingerprint</a><ul>
<li><a class="reference" href="#identify-client" id="id33" name="id33">identify_client</a></li>
</ul>
</li>
<li><a class="reference" href="#alerts" id="id33" name="id33">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="#file-error-alert" id="id35" name="id35">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="#hash-failed-alert" id="id37" name="id37">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="#invalid-request-alert" id="id39" name="id39">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="#dispatcher" id="id41" name="id41">dispatcher</a></li>
<li><a class="reference" href="#alerts" id="id34" name="id34">alerts</a><ul>
<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="id36" name="id36">file_error_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="id38" name="id38">hash_failed_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="id40" name="id40">invalid_request_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="id42" name="id42">dispatcher</a></li>
</ul>
</li>
<li><a class="reference" href="#exceptions" id="id42" name="id42">exceptions</a><ul>
<li><a class="reference" href="#invalid-handle" id="id43" name="id43">invalid_handle</a></li>
<li><a class="reference" href="#duplicate-torrent" id="id44" name="id44">duplicate_torrent</a></li>
<li><a class="reference" href="#invalid-encoding" id="id45" name="id45">invalid_encoding</a></li>
<li><a class="reference" href="#type-error" id="id46" name="id46">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="#exceptions" id="id43" name="id43">exceptions</a><ul>
<li><a class="reference" href="#invalid-handle" id="id44" name="id44">invalid_handle</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="id46" name="id46">invalid_encoding</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="id48" name="id48">invalid_torrent_file</a></li>
</ul>
</li>
<li><a class="reference" href="#examples" id="id48" name="id48">examples</a><ul>
<li><a class="reference" href="#dump-torrent" id="id49" name="id49">dump_torrent</a></li>
<li><a class="reference" href="#simple-client" id="id50" name="id50">simple client</a></li>
<li><a class="reference" href="#examples" id="id49" name="id49">examples</a><ul>
<li><a class="reference" href="#dump-torrent" id="id50" name="id50">dump_torrent</a></li>
<li><a class="reference" href="#simple-client" id="id51" name="id51">simple client</a></li>
</ul>
</li>
<li><a class="reference" href="#fast-resume" id="id51" name="id51">fast resume</a><ul>
<li><a class="reference" href="#file-format" id="id52" name="id52">file format</a></li>
<li><a class="reference" href="#fast-resume" id="id52" name="id52">fast resume</a><ul>
<li><a class="reference" href="#file-format" id="id53" name="id53">file format</a></li>
</ul>
</li>
<li><a class="reference" href="#extensions" id="id53" name="id53">extensions</a></li>
<li><a class="reference" href="#filenames-checks" id="id54" name="id54">filenames checks</a></li>
<li><a class="reference" href="#aknowledgements" id="id55" name="id55">aknowledgements</a></li>
<li><a class="reference" href="#extensions" id="id54" name="id54">extensions</a></li>
<li><a class="reference" href="#filenames-checks" id="id55" name="id55">filenames checks</a></li>
<li><a class="reference" href="#aknowledgements" id="id56" name="id56">aknowledgements</a></li>
</ul>
</div>
<div class="section" id="introduction">
@ -164,15 +165,27 @@ bjam &lt;toolset&gt; link=static
<p>in the libtorrent directory.</p>
<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>
<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
&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
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>
<p>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>
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
pack (sp5).</p>
</div>
<div class="section" id="release-and-debug-builds">
<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,

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
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
"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
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
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
------------------------