boost detection fixes: now able to launch with boost1.34 and boost1.35

This commit is contained in:
roman_rybalko 2008-06-13 12:20:55 +00:00
parent 7df5d4a9c6
commit 5314b639e2
13 changed files with 220 additions and 139 deletions

View File

@ -1,6 +1,6 @@
ACLOCAL_AMFLAGS = -I m4
SUBDIRS = include @ZLIBDIR@ src @EXAMPLESDIR@ test
EXTRA_DIST = docs/manual.html docs/manual.rst docs/extension_protocol.rst \
EXTRA_DIST = autotool.sh docs/manual.html docs/manual.rst docs/extension_protocol.rst \
docs/extension_protocol.html \
docs/projects.rst docs/projects.html \
docs/building.rst docs/building.html \
@ -32,9 +32,6 @@ docs/moopolice_thumb.gif \
docs/qbittorrent_thumb.jpg \
docs/ziptorrent_thumb.gif \
docs/unicode_support.png docs/client_test.png docs/style.css Jamfile project-root.jam \
m4/ac_cxx_namespaces.m4 m4/acx_pthread.m4 m4/ax_boost_date_time.m4 \
m4/ax_boost_filesystem.m4 m4/ax_boost_thread.m4 \
m4/ax_boost_asio.m4 m4/ax_boost_system.m4 m4/check_ssl.m4 \
src/file_win.cpp libtorrent.pc \
bindings/README.txt \
bindings/python/Jamfile \

13
autotool.sh Executable file
View File

@ -0,0 +1,13 @@
#!/bin/sh
# $Id$
set -e
set -x
aclocal -I m4
libtoolize -c -f
automake -a -c -f
autoconf
rm -Rf config.cache autom4te.cache

View File

@ -27,18 +27,32 @@ AC_PROG_LIBTOOL
AC_SYS_LARGEFILE
SAVED_LIBS="$LIBS"
dnl Check for pthreads and boost libraries.
dnl Check for pthreads.
ACX_PTHREAD
dnl Apply pthread config.
CC=$PTHREAD_CC
CPPFLAGS="$CPPFLAGS $PTHREAD_CFLAGS"
LIBS="$LIBS $PTHREAD_LIBS"
AX_BOOST_BASE([1.34])
dnl Check for boost libraries.
AX_BOOST_BASE([1.35],[
AX_BOOST_SYSTEM
dnl check that Boost.System was found:
if test -z "$BOOST_SYSTEM_LIB"; then
AC_MSG_ERROR([unable to find Boost.System library, currently this is required.])
fi
AX_BOOST_SYSTEM
dnl check that Boost.System was found:
if test -z "$BOOST_SYSTEM_LIB"; then
AC_MSG_ERROR([unable to find Boost.System library, currently this is required.])
fi
AX_BOOST_ASIO
dnl check that Boost.Asio was found:
if test -z "$BOOST_ASIO_LIB"; then
AC_MSG_ERROR([Unable to find Boost.Asio library, currently this is required.])
fi
],[
AX_BOOST_BASE([1.34])
])
AC_MSG_NOTICE([BOOST_CPPFLAGS=$BOOST_CPPFLAGS])
AC_MSG_NOTICE([BOOST_LDFLAGS=$BOOST_LDFLAGS])
AX_BOOST_IOSTREAMS
dnl check that Boost.IOStreams was found:
@ -47,35 +61,24 @@ if test -z "$BOOST_IOSTREAMS_LIB"; then
fi
AX_BOOST_DATE_TIME
dnl check that Boost.DateTime was found:
if test -z "$BOOST_DATE_TIME_LIB"; then
AC_MSG_ERROR([Unable to find Boost.DateTime library, currently this is required.])
fi
AX_BOOST_FILESYSTEM
dnl check that Boost.Filesystem was found:
if test -z "$BOOST_FILESYSTEM_LIB"; then
AC_MSG_ERROR([Unable to find Boost.Filesystem library, currently this is required.])
fi
AX_BOOST_THREAD
dnl check that Boost.Thread was found:
if test -z "$BOOST_THREAD_LIB"; then
AC_MSG_ERROR([Unable to find Boost.Thread library, currently this is required.])
fi
AX_BOOST_ASIO
dnl check that Boost.Asio was found:
if test -z "$BOOST_ASIO_LIB"; then
AC_MSG_ERROR([Unable to find Boost.Asio library, currently this is required.])
fi
AX_BOOST_REGEX
dnl check that Boost.Regex was found:
if test -z "$BOOST_REGEX_LIB"; then
AC_MSG_RESULT([Unable to find Boost.Regex library, example test_client will not be build.])
@ -83,14 +86,15 @@ if test -z "$BOOST_REGEX_LIB"; then
fi
AX_BOOST_PROGRAM_OPTIONS
dnl check that Boost.Program_options was found:
if test -z "$BOOST_PROGRAM_OPTIONS_LIB"; then
AC_MSG_RESULT([Unable to find Boost.Program_options library, example test_client will not be build.])
BUILD_TESTCLIENT=no;
fi
LIBS="$SAVED_LIBS"
dnl Apply boost config.
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
if [[ "x$BUILD_TESTCLIENT" != "xno" ]]; then
CLIENT_TEST_BIN=client_test;

View File

@ -101,9 +101,95 @@ libtorrent/kademlia/rpc_manager.hpp \
libtorrent/kademlia/traversal_algorithm.hpp \
\
libtorrent/asio.hpp \
libtorrent/asio/detail/bind_handler.hpp \
libtorrent/asio/detail/buffer_resize_guard.hpp \
libtorrent/asio/detail/buffered_stream_storage.hpp \
libtorrent/asio/detail/call_stack.hpp \
libtorrent/asio/detail/const_buffers_iterator.hpp \
libtorrent/asio/detail/consuming_buffers.hpp \
libtorrent/asio/detail/deadline_timer_service.hpp \
libtorrent/asio/detail/descriptor_ops.hpp \
libtorrent/asio/detail/dev_poll_reactor.hpp \
libtorrent/asio/detail/dev_poll_reactor_fwd.hpp \
libtorrent/asio/detail/epoll_reactor.hpp \
libtorrent/asio/detail/epoll_reactor_fwd.hpp \
libtorrent/asio/detail/event.hpp \
libtorrent/asio/detail/fd_set_adapter.hpp \
libtorrent/asio/detail/handler_alloc_helpers.hpp \
libtorrent/asio/detail/handler_base_from_member.hpp \
libtorrent/asio/detail/handler_invoke_helpers.hpp \
libtorrent/asio/detail/handler_queue.hpp \
libtorrent/asio/detail/hash_map.hpp \
libtorrent/asio/detail/indirect_handler_queue.hpp \
libtorrent/asio/detail/io_control.hpp \
libtorrent/asio/detail/kqueue_reactor.hpp \
libtorrent/asio/detail/kqueue_reactor_fwd.hpp \
libtorrent/asio/detail/local_free_on_block_exit.hpp \
libtorrent/asio/detail/mutex.hpp \
libtorrent/asio/detail/noncopyable.hpp \
libtorrent/asio/detail/null_event.hpp \
libtorrent/asio/detail/null_mutex.hpp \
libtorrent/asio/detail/null_signal_blocker.hpp \
libtorrent/asio/detail/null_thread.hpp \
libtorrent/asio/detail/null_tss_ptr.hpp \
libtorrent/asio/detail/old_win_sdk_compat.hpp \
libtorrent/asio/detail/pipe_select_interrupter.hpp \
libtorrent/asio/detail/pop_options.hpp \
libtorrent/asio/detail/posix_event.hpp \
libtorrent/asio/detail/posix_fd_set_adapter.hpp \
libtorrent/asio/detail/posix_mutex.hpp \
libtorrent/asio/detail/posix_signal_blocker.hpp \
libtorrent/asio/detail/posix_thread.hpp \
libtorrent/asio/detail/posix_tss_ptr.hpp \
libtorrent/asio/detail/push_options.hpp \
libtorrent/asio/detail/reactive_descriptor_service.hpp \
libtorrent/asio/detail/reactive_serial_port_service.hpp \
libtorrent/asio/detail/reactive_socket_service.hpp \
libtorrent/asio/detail/reactor_op_queue.hpp \
libtorrent/asio/detail/resolver_service.hpp \
libtorrent/asio/detail/scoped_lock.hpp \
libtorrent/asio/detail/select_interrupter.hpp \
libtorrent/asio/detail/select_reactor.hpp \
libtorrent/asio/detail/select_reactor_fwd.hpp \
libtorrent/asio/detail/service_base.hpp \
libtorrent/asio/detail/service_id.hpp \
libtorrent/asio/detail/service_registry.hpp \
libtorrent/asio/detail/service_registry_fwd.hpp \
libtorrent/asio/detail/signal_blocker.hpp \
libtorrent/asio/detail/signal_init.hpp \
libtorrent/asio/detail/socket_holder.hpp \
libtorrent/asio/detail/socket_ops.hpp \
libtorrent/asio/detail/socket_option.hpp \
libtorrent/asio/detail/socket_select_interrupter.hpp \
libtorrent/asio/detail/socket_types.hpp \
libtorrent/asio/detail/strand_service.hpp \
libtorrent/asio/detail/task_io_service.hpp \
libtorrent/asio/detail/task_io_service_2lock.hpp \
libtorrent/asio/detail/task_io_service_fwd.hpp \
libtorrent/asio/detail/thread.hpp \
libtorrent/asio/detail/throw_error.hpp \
libtorrent/asio/detail/timer_queue.hpp \
libtorrent/asio/detail/timer_queue_base.hpp \
libtorrent/asio/detail/tss_ptr.hpp \
libtorrent/asio/detail/win_event.hpp \
libtorrent/asio/detail/win_fd_set_adapter.hpp \
libtorrent/asio/detail/win_iocp_handle_service.hpp \
libtorrent/asio/detail/win_iocp_io_service.hpp \
libtorrent/asio/detail/win_iocp_io_service_fwd.hpp \
libtorrent/asio/detail/win_iocp_serial_port_service.hpp \
libtorrent/asio/detail/win_iocp_socket_service.hpp \
libtorrent/asio/detail/win_mutex.hpp \
libtorrent/asio/detail/win_signal_blocker.hpp \
libtorrent/asio/detail/win_thread.hpp \
libtorrent/asio/detail/win_tss_ptr.hpp \
libtorrent/asio/detail/wince_thread.hpp \
libtorrent/asio/detail/winsock_init.hpp \
libtorrent/asio/detail/wrapped_handler.hpp \
libtorrent/asio/basic_datagram_socket.hpp \
libtorrent/asio/basic_deadline_timer.hpp \
libtorrent/asio/basic_io_object.hpp \
libtorrent/asio/basic_raw_socket.hpp \
libtorrent/asio/basic_serial_port.hpp \
libtorrent/asio/basic_socket.hpp \
libtorrent/asio/basic_socket_acceptor.hpp \
libtorrent/asio/basic_socket_iostream.hpp \
@ -129,8 +215,13 @@ libtorrent/asio/io_service.hpp \
libtorrent/asio/is_read_buffered.hpp \
libtorrent/asio/is_write_buffered.hpp \
libtorrent/asio/placeholders.hpp \
libtorrent/asio/raw_socket_service.hpp \
libtorrent/asio/read.hpp \
libtorrent/asio/read_at.hpp \
libtorrent/asio/read_until.hpp \
libtorrent/asio/serial_port.hpp \
libtorrent/asio/serial_port_base.hpp \
libtorrent/asio/serial_port_service.hpp \
libtorrent/asio/socket_acceptor_service.hpp \
libtorrent/asio/socket_base.hpp \
libtorrent/asio/ssl.hpp \
@ -142,87 +233,16 @@ libtorrent/asio/thread.hpp \
libtorrent/asio/time_traits.hpp \
libtorrent/asio/version.hpp \
libtorrent/asio/write.hpp \
libtorrent/asio/detail/bind_handler.hpp \
libtorrent/asio/detail/buffer_resize_guard.hpp \
libtorrent/asio/detail/buffered_stream_storage.hpp \
libtorrent/asio/detail/call_stack.hpp \
libtorrent/asio/detail/const_buffers_iterator.hpp \
libtorrent/asio/detail/consuming_buffers.hpp \
libtorrent/asio/detail/deadline_timer_service.hpp \
libtorrent/asio/detail/dev_poll_reactor.hpp \
libtorrent/asio/detail/dev_poll_reactor_fwd.hpp \
libtorrent/asio/detail/epoll_reactor.hpp \
libtorrent/asio/detail/epoll_reactor_fwd.hpp \
libtorrent/asio/detail/event.hpp \
libtorrent/asio/detail/fd_set_adapter.hpp \
libtorrent/asio/detail/handler_alloc_helpers.hpp \
libtorrent/asio/detail/handler_invoke_helpers.hpp \
libtorrent/asio/detail/handler_queue.hpp \
libtorrent/asio/detail/hash_map.hpp \
libtorrent/asio/detail/io_control.hpp \
libtorrent/asio/detail/kqueue_reactor.hpp \
libtorrent/asio/detail/kqueue_reactor_fwd.hpp \
libtorrent/asio/detail/local_free_on_block_exit.hpp \
libtorrent/asio/detail/mutex.hpp \
libtorrent/asio/detail/noncopyable.hpp \
libtorrent/asio/detail/null_event.hpp \
libtorrent/asio/detail/null_mutex.hpp \
libtorrent/asio/detail/null_signal_blocker.hpp \
libtorrent/asio/detail/null_thread.hpp \
libtorrent/asio/detail/null_tss_ptr.hpp \
libtorrent/asio/detail/old_win_sdk_compat.hpp \
libtorrent/asio/detail/pipe_select_interrupter.hpp \
libtorrent/asio/detail/pop_options.hpp \
libtorrent/asio/detail/posix_event.hpp \
libtorrent/asio/detail/posix_fd_set_adapter.hpp \
libtorrent/asio/detail/posix_mutex.hpp \
libtorrent/asio/detail/posix_signal_blocker.hpp \
libtorrent/asio/detail/posix_thread.hpp \
libtorrent/asio/detail/posix_tss_ptr.hpp \
libtorrent/asio/detail/push_options.hpp \
libtorrent/asio/detail/reactive_socket_service.hpp \
libtorrent/asio/detail/reactor_op_queue.hpp \
libtorrent/asio/detail/resolver_service.hpp \
libtorrent/asio/detail/scoped_lock.hpp \
libtorrent/asio/detail/select_interrupter.hpp \
libtorrent/asio/detail/select_reactor.hpp \
libtorrent/asio/detail/select_reactor_fwd.hpp \
libtorrent/asio/detail/service_base.hpp \
libtorrent/asio/detail/service_id.hpp \
libtorrent/asio/detail/service_registry.hpp \
libtorrent/asio/detail/service_registry_fwd.hpp \
libtorrent/asio/detail/signal_blocker.hpp \
libtorrent/asio/detail/signal_init.hpp \
libtorrent/asio/detail/socket_holder.hpp \
libtorrent/asio/detail/socket_ops.hpp \
libtorrent/asio/detail/socket_option.hpp \
libtorrent/asio/detail/socket_select_interrupter.hpp \
libtorrent/asio/detail/socket_types.hpp \
libtorrent/asio/detail/strand_service.hpp \
libtorrent/asio/detail/task_io_service.hpp \
libtorrent/asio/detail/task_io_service_fwd.hpp \
libtorrent/asio/detail/thread.hpp \
libtorrent/asio/detail/throw_error.hpp \
libtorrent/asio/detail/timer_queue.hpp \
libtorrent/asio/detail/timer_queue_base.hpp \
libtorrent/asio/detail/tss_ptr.hpp \
libtorrent/asio/detail/win_event.hpp \
libtorrent/asio/detail/win_fd_set_adapter.hpp \
libtorrent/asio/detail/win_iocp_io_service.hpp \
libtorrent/asio/detail/win_iocp_io_service_fwd.hpp \
libtorrent/asio/detail/win_iocp_socket_service.hpp \
libtorrent/asio/detail/win_mutex.hpp \
libtorrent/asio/detail/win_signal_blocker.hpp \
libtorrent/asio/detail/win_thread.hpp \
libtorrent/asio/detail/win_tss_ptr.hpp \
libtorrent/asio/detail/wince_thread.hpp \
libtorrent/asio/detail/winsock_init.hpp \
libtorrent/asio/detail/wrapped_handler.hpp \
libtorrent/asio/write_at.hpp \
libtorrent/asio/impl/error_code.ipp \
libtorrent/asio/impl/io_service.ipp \
libtorrent/asio/impl/read.ipp \
libtorrent/asio/impl/read_at.ipp \
libtorrent/asio/impl/read_until.ipp \
libtorrent/asio/impl/serial_port_base.ipp \
libtorrent/asio/impl/write.ipp \
libtorrent/asio/impl/write_at.ipp \
libtorrent/asio/ip/detail/socket_option.hpp \
libtorrent/asio/ip/address.hpp \
libtorrent/asio/ip/address_v4.hpp \
libtorrent/asio/ip/address_v6.hpp \
@ -232,6 +252,7 @@ libtorrent/asio/ip/basic_resolver_entry.hpp \
libtorrent/asio/ip/basic_resolver_iterator.hpp \
libtorrent/asio/ip/basic_resolver_query.hpp \
libtorrent/asio/ip/host_name.hpp \
libtorrent/asio/ip/icmp.hpp \
libtorrent/asio/ip/multicast.hpp \
libtorrent/asio/ip/resolver_query_base.hpp \
libtorrent/asio/ip/resolver_service.hpp \
@ -239,7 +260,20 @@ libtorrent/asio/ip/tcp.hpp \
libtorrent/asio/ip/udp.hpp \
libtorrent/asio/ip/unicast.hpp \
libtorrent/asio/ip/v6_only.hpp \
libtorrent/asio/ip/detail/socket_option.hpp \
libtorrent/asio/local/basic_endpoint.hpp \
libtorrent/asio/local/connect_pair.hpp \
libtorrent/asio/local/datagram_protocol.hpp \
libtorrent/asio/local/stream_protocol.hpp \
libtorrent/asio/posix/basic_descriptor.hpp \
libtorrent/asio/posix/basic_stream_descriptor.hpp \
libtorrent/asio/posix/descriptor_base.hpp \
libtorrent/asio/posix/stream_descriptor.hpp \
libtorrent/asio/posix/stream_descriptor_service.hpp \
libtorrent/asio/ssl/detail/openssl_context_service.hpp \
libtorrent/asio/ssl/detail/openssl_init.hpp \
libtorrent/asio/ssl/detail/openssl_operation.hpp \
libtorrent/asio/ssl/detail/openssl_stream_service.hpp \
libtorrent/asio/ssl/detail/openssl_types.hpp \
libtorrent/asio/ssl/basic_context.hpp \
libtorrent/asio/ssl/context.hpp \
libtorrent/asio/ssl/context_base.hpp \
@ -247,9 +281,10 @@ libtorrent/asio/ssl/context_service.hpp \
libtorrent/asio/ssl/stream.hpp \
libtorrent/asio/ssl/stream_base.hpp \
libtorrent/asio/ssl/stream_service.hpp \
libtorrent/asio/ssl/detail/openssl_context_service.hpp \
libtorrent/asio/ssl/detail/openssl_init.hpp \
libtorrent/asio/ssl/detail/openssl_operation.hpp \
libtorrent/asio/ssl/detail/openssl_stream_service.hpp \
libtorrent/asio/ssl/detail/openssl_types.hpp
libtorrent/asio/windows/basic_handle.hpp \
libtorrent/asio/windows/basic_random_access_handle.hpp \
libtorrent/asio/windows/basic_stream_handle.hpp \
libtorrent/asio/windows/random_access_handle.hpp \
libtorrent/asio/windows/random_access_handle_service.hpp \
libtorrent/asio/windows/stream_handle.hpp \
libtorrent/asio/windows/stream_handle_service.hpp

13
include/get_asio.sh Executable file
View File

@ -0,0 +1,13 @@
#! /bin/sh
# $Id$
set -x
set -e
rm -Rf asio
rm -Rf libtorrent/asio*
#cvs -d :pserver:anonymous@asio.cvs.sourceforge.net:/cvsroot/asio login # uncomment this if you're the first time, use empty password
cvs -d :pserver:anonymous@asio.cvs.sourceforge.net:/cvsroot/asio export -D 'Fri, 13 Jun 2008 14:18:47 +0400' -d asio asio/include
ln -s ../asio/asio libtorrent
ln -s ../asio/asio.hpp libtorrent

View File

@ -28,6 +28,7 @@
#
# Copyright (c) 2008 Thomas Porschberg <thomas@randspringer.de>
# Copyright (c) 2008 Pete Greenwell <pete@mu.org>
# Copyright (c) 2008 Roman Rybalko <libtorrent@romanr.info> (using BOOST_SYSTEM_LIB)
#
# Copying and distribution of this file, with or without modification, are
# permitted in any medium without royalty provided the copyright notice
@ -83,8 +84,9 @@ AC_DEFUN([AX_BOOST_ASIO],
if test "x$ax_cv_boost_asio" = "xyes"; then
AC_DEFINE(HAVE_BOOST_ASIO,,[define if the Boost::ASIO library is available])
BN=boost_system
BN2=`echo $BOOST_SYSTEM_LIB | sed 's/-l//'`
if test "x$ax_boost_user_asio_lib" = "x"; then
for ax_lib in $BN $BN-$CC $BN-$CC-mt $BN-$CC-mt-s $BN-$CC-s \
for ax_lib in $BN2 $BN $BN-$CC $BN-$CC-mt $BN-$CC-mt-s $BN-$CC-s \
lib$BN lib$BN-$CC lib$BN-$CC-mt lib$BN-$CC-mt-s lib$BN-$CC-s \
$BN-mgw $BN-mgw $BN-mgw-mt $BN-mgw-mt-s $BN-mgw-s ; do
AC_CHECK_LIB($ax_lib, main, [BOOST_ASIO_LIB="-l$ax_lib" AC_SUBST(BOOST_ASIO_LIB) link_thread="yes" break],

View File

@ -4,7 +4,7 @@
#
# SYNOPSIS
#
# AX_BOOST_BASE([MINIMUM-VERSION])
# AX_BOOST_BASE([MINIMUM-VERSION],[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
#
# DESCRIPTION
#
@ -25,12 +25,16 @@
#
# LAST MODIFICATION
#
# 2008-04-12
# 2008-04-12 - original
# 2008-06-13 - AIF/AINF parameters
#
# COPYLEFT
#
# Copyright (c) 2008 Thomas Porschberg <thomas@randspringer.de>
#
# Copyright (c) 2008 Roman Rybalko <libtorrent@romanr.info> (under RbLibtorrent project)
# (ACTION-IF-FOUND/ACTION-IF-NOT-FOUND options, re-enterability fixes)
#
# Copying and distribution of this file, with or without modification, are
# permitted in any medium without royalty provided the copyright notice
# and this notice are preserved.
@ -203,21 +207,28 @@ if test "x$want_boost" = "xyes"; then
])
AC_LANG_POP([C++])
fi
CPPFLAGS="$CPPFLAGS_SAVED"
LDFLAGS="$LDFLAGS_SAVED"
unset ac_boost_path # re-enterability
if test "$succeeded" != "yes" ; then
if test "$_version" = "0" ; then
AC_MSG_ERROR([[We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.]])
else
AC_MSG_NOTICE([Your boost libraries seems to old (version $_version).])
fi
ifelse([$3], ,[
if test "$_version" = "0" ; then
AC_MSG_ERROR([[We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.]])
else
AC_MSG_NOTICE([Your boost libraries seems to old (version $_version).])
fi
],[
AC_MSG_RESULT(no)
$3
])
else
$2
AC_SUBST(BOOST_CPPFLAGS)
AC_SUBST(BOOST_LDFLAGS)
AC_DEFINE(HAVE_BOOST,,[define if the Boost library is available])
fi
CPPFLAGS="$CPPFLAGS_SAVED"
LDFLAGS="$LDFLAGS_SAVED"
fi
])

View File

@ -28,6 +28,7 @@
#
# Copyright (c) 2008 Thomas Porschberg <thomas@randspringer.de>
# Copyright (c) 2008 Michael Tindal
# Copyright (c) 2008 Roman Rybalko <libtorrent@romanr.info> (using BOOST_SYSTEM_LIB)
#
# Copying and distribution of this file, with or without modification, are
# permitted in any medium without royalty provided the copyright notice
@ -62,6 +63,10 @@ AC_DEFUN([AX_BOOST_FILESYSTEM],
LDFLAGS_SAVED="$LDFLAGS"
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
export LDFLAGS
LIBS_SAVED=$LIBS
LIBS="$LIBS $BOOST_SYSTEM_LIB"
export LIBS
AC_CACHE_CHECK(whether the Boost::Filesystem library is available,
ax_cv_boost_filesystem,
@ -105,6 +110,7 @@ AC_DEFUN([AX_BOOST_FILESYSTEM],
fi
CPPFLAGS="$CPPFLAGS_SAVED"
LDFLAGS="$LDFLAGS_SAVED"
LDFLAGS="$LDFLAGS_SAVED"
LIBS="$LIBS_SAVED"
fi
])

View File

@ -72,7 +72,7 @@ $(top_srcdir)/include/libtorrent/peer.hpp \
$(top_srcdir)/include/libtorrent/peer_connection.hpp \
$(top_srcdir)/include/libtorrent/bt_peer_connection.hpp \
$(top_srcdir)/include/libtorrent/web_peer_connection.hpp \
$(top_srcdir)/include/libtorrent/pares_url.hpp \
$(top_srcdir)/include/libtorrent/parse_url.hpp \
$(top_srcdir)/include/libtorrent/pe_crypto.hpp \
$(top_srcdir)/include/libtorrent/natpmp.hpp \
$(top_srcdir)/include/libtorrent/pch.hpp \

View File

@ -192,9 +192,9 @@ int copy_buffers(T const& b, char* target)
for (typename T::const_iterator i = b.begin()
, end(b.end()); i != end; ++i)
{
memcpy(target, asio::buffer_cast<char const*>(*i), asio::buffer_size(*i));
target += asio::buffer_size(*i);
copied += asio::buffer_size(*i);
memcpy(target, libtorrent::asio::buffer_cast<char const*>(*i), libtorrent::asio::buffer_size(*i));
target += libtorrent::asio::buffer_size(*i);
copied += libtorrent::asio::buffer_size(*i);
}
return copied;
}
@ -203,7 +203,7 @@ bool compare_chained_buffer(chained_buffer& b, char const* mem, int size)
{
if (size == 0) return true;
std::vector<char> flat(size);
std::list<asio::const_buffer> const& iovec2 = b.build_iovec(size);
std::list<libtorrent::asio::const_buffer> const& iovec2 = b.build_iovec(size);
int copied = copy_buffers(iovec2, &flat[0]);
TEST_CHECK(copied == size);
return std::memcmp(&flat[0], mem, size) == 0;

View File

@ -11,7 +11,7 @@ int read_message(stream_socket& s, char* buffer)
{
using namespace libtorrent::detail;
error_code ec;
asio::read(s, asio::buffer(buffer, 4), asio::transfer_all(), ec);
libtorrent::asio::read(s, libtorrent::asio::buffer(buffer, 4), libtorrent::asio::transfer_all(), ec);
if (ec)
{
std::cout << ec.message() << std::endl;
@ -20,7 +20,7 @@ int read_message(stream_socket& s, char* buffer)
char* ptr = buffer;
int length = read_int32(ptr);
asio::read(s, asio::buffer(buffer, length), asio::transfer_all(), ec);
libtorrent::asio::read(s, libtorrent::asio::buffer(buffer, length), libtorrent::asio::transfer_all(), ec);
if (ec)
{
std::cout << ec.message() << std::endl;
@ -41,7 +41,7 @@ void send_allow_fast(stream_socket& s, int piece)
char* ptr = msg + 5;
write_int32(piece, ptr);
error_code ec;
asio::write(s, asio::buffer(msg, 9), asio::transfer_all(), ec);
libtorrent::asio::write(s, libtorrent::asio::buffer(msg, 9), libtorrent::asio::transfer_all(), ec);
if (ec)
{
std::cout << ec.message() << std::endl;
@ -57,7 +57,7 @@ void send_suggest_piece(stream_socket& s, int piece)
char* ptr = msg + 5;
write_int32(piece, ptr);
error_code ec;
asio::write(s, asio::buffer(msg, 9), asio::transfer_all(), ec);
libtorrent::asio::write(s, libtorrent::asio::buffer(msg, 9), libtorrent::asio::transfer_all(), ec);
if (ec)
{
std::cout << ec.message() << std::endl;
@ -70,7 +70,7 @@ void send_unchoke(stream_socket& s)
std::cout << "send unchoke" << std::endl;
char msg[] = "\0\0\0\x01\x01";
error_code ec;
asio::write(s, asio::buffer(msg, 5), asio::transfer_all(), ec);
libtorrent::asio::write(s, libtorrent::asio::buffer(msg, 5), libtorrent::asio::transfer_all(), ec);
if (ec)
{
std::cout << ec.message() << std::endl;
@ -87,7 +87,7 @@ void do_handshake(stream_socket& s, sha1_hash const& ih, char* buffer)
std::cout << "send handshake" << std::endl;
error_code ec;
std::memcpy(handshake + 28, ih.begin(), 20);
asio::write(s, asio::buffer(handshake, sizeof(handshake) - 1), asio::transfer_all(), ec);
libtorrent::asio::write(s, libtorrent::asio::buffer(handshake, sizeof(handshake) - 1), libtorrent::asio::transfer_all(), ec);
if (ec)
{
std::cout << ec.message() << std::endl;
@ -95,7 +95,7 @@ void do_handshake(stream_socket& s, sha1_hash const& ih, char* buffer)
}
// read handshake
asio::read(s, asio::buffer(buffer, 68), asio::transfer_all(), ec);
libtorrent::asio::read(s, libtorrent::asio::buffer(buffer, 68), libtorrent::asio::transfer_all(), ec);
if (ec)
{
std::cout << ec.message() << std::endl;
@ -172,13 +172,13 @@ void test_reject_fast()
// send reject request
recv_buffer[0] = 0x10;
error_code ec;
asio::write(s, asio::buffer("\0\0\0\x0d", 4), asio::transfer_all(), ec);
libtorrent::asio::write(s, libtorrent::asio::buffer("\0\0\0\x0d", 4), libtorrent::asio::transfer_all(), ec);
if (ec)
{
std::cout << ec.message() << std::endl;
exit(1);
}
asio::write(s, asio::buffer(recv_buffer, 13), asio::transfer_all(), ec);
libtorrent::asio::write(s, libtorrent::asio::buffer(recv_buffer, 13), libtorrent::asio::transfer_all(), ec);
std::cout << ec.message() << std::endl;
if (ec)
{
@ -240,13 +240,13 @@ void test_respect_suggest()
// send reject request
recv_buffer[0] = 0x10;
error_code ec;
asio::write(s, asio::buffer("\0\0\0\x0d", 4), asio::transfer_all(), ec);
libtorrent::asio::write(s, libtorrent::asio::buffer("\0\0\0\x0d", 4), libtorrent::asio::transfer_all(), ec);
if (ec)
{
std::cout << ec.message() << std::endl;
exit(1);
}
asio::write(s, asio::buffer(recv_buffer, 13), asio::transfer_all(), ec);
libtorrent::asio::write(s, libtorrent::asio::buffer(recv_buffer, 13), libtorrent::asio::transfer_all(), ec);
if (ec)
{
std::cout << ec.message() << std::endl;

View File

@ -118,7 +118,7 @@ void run_suite(std::string const& protocol, proxy_settings const& ps)
if ((ps.type == proxy_settings::http || ps.type == proxy_settings::http_pw) && protocol != "https")
run_test(protocol + "://non-existent-domain.se/non-existing-file", -1, 502, 1, err(), ps);
else
run_test(protocol + "://non-existent-domain.se/non-existing-file", -1, -1, 0, err(asio::error::host_not_found), ps);
run_test(protocol + "://non-existent-domain.se/non-existing-file", -1, -1, 0, err(libtorrent::asio::error::host_not_found), ps);
if (ps.type != proxy_settings::none)
stop_proxy(ps.port);

View File

@ -93,7 +93,7 @@ void run_storage_tests(boost::intrusive_ptr<torrent_info> info
// make sure the piece_manager can identify the pieces
{
file_pool fp;
asio::io_service ios;
libtorrent::asio::io_service ios;
disk_io_thread io(ios);
boost::shared_ptr<int> dummy(new int);
boost::intrusive_ptr<piece_manager> pm = new piece_manager(dummy, info