#
-# Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+# Copyright (c) 2003-2019 Christopher M. Kohlhoff (chris at kohlhoff dot com)
#
# Distributed under the Boost Software License, Version 1.0. (See accompanying
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#
-import os ;
import feature ;
-if [ os.name ] = SOLARIS
-{
- lib socket ;
- lib nsl ;
-}
-else if [ os.name ] = NT
-{
- lib ws2_32 ;
- lib mswsock ;
-}
-else if [ os.name ] = HPUX
-{
- lib ipv6 ;
-}
-else if [ os.name ] = QNXNTO
-{
- lib socket ;
-}
-else if [ os.name ] = HAIKU
-{
- lib network ;
-}
+lib socket ; # SOLARIS, QNXNTO
+lib nsl ; # SOLARIS
+lib ws2_32 ; # NT
+lib mswsock ; # NT
+lib ipv6 ; # HPUX
+lib network ; # HAIKU
local USE_SELECT =
<define>BOOST_ASIO_DISABLE_DEV_POLL
: requirements
<library>/boost/date_time//boost_date_time
<library>/boost/system//boost_system
+ <library>/boost/chrono//boost_chrono
<library>/boost/regex//boost_regex
<define>BOOST_ALL_NO_LIB=1
<threading>multi
- <os>LINUX:<define>_XOPEN_SOURCE=600
- <os>LINUX:<define>_GNU_SOURCE=1
- <os>SOLARIS:<define>_XOPEN_SOURCE=500
- <os>SOLARIS:<define>__EXTENSIONS__
- <os>SOLARIS:<library>socket
- <os>SOLARIS:<library>nsl
- <os>NT:<define>_WIN32_WINNT=0x0501
- <os>NT,<toolset>cw:<library>ws2_32
- <os>NT,<toolset>cw:<library>mswsock
- <os>NT,<toolset>gcc:<library>ws2_32
- <os>NT,<toolset>gcc:<library>mswsock
- <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
- <os>HPUX,<toolset>gcc:<define>_XOPEN_SOURCE_EXTENDED
- <os>HPUX:<library>ipv6
- <os>QNXNTO:<library>socket
- <os>HAIKU:<library>network
+ <target-os>linux:<define>_XOPEN_SOURCE=600
+ <target-os>linux:<define>_GNU_SOURCE=1
+ <target-os>solaris:<define>_XOPEN_SOURCE=500
+ <target-os>solaris:<define>__EXTENSIONS__
+ <target-os>solaris:<library>socket
+ <target-os>solaris:<library>nsl
+ <target-os>windows:<define>_WIN32_WINNT=0x0501
+ <target-os>windows,<toolset>cw:<library>ws2_32
+ <target-os>windows,<toolset>cw:<library>mswsock
+ <target-os>windows,<toolset>gcc:<library>ws2_32
+ <target-os>windows,<toolset>gcc:<library>mswsock
+ <target-os>windows,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
+ <target-os>hpux,<toolset>gcc:<define>_XOPEN_SOURCE_EXTENDED
+ <target-os>hpux:<library>ipv6
+ <target-os>qnxnto:<library>socket
+ <target-os>haiku:<library>network
;
test-suite "asio" :
+ [ link awaitable.cpp ]
+ [ link awaitable.cpp : $(USE_SELECT) : awaitable_select ]
[ link basic_datagram_socket.cpp ]
[ link basic_datagram_socket.cpp : $(USE_SELECT) : basic_datagram_socket_select ]
[ link basic_deadline_timer.cpp ]
[ run buffered_write_stream.cpp : : : $(USE_SELECT) : buffered_write_stream_select ]
[ run buffers_iterator.cpp ]
[ run buffers_iterator.cpp : : : $(USE_SELECT) : buffers_iterator_select ]
+ [ link co_spawn.cpp ]
+ [ link co_spawn.cpp : $(USE_SELECT) : co_spawn_select ]
[ link completion_condition.cpp ]
[ link completion_condition.cpp : $(USE_SELECT) : completion_condition_select ]
+ [ run compose.cpp ]
+ [ run compose.cpp : : : $(USE_SELECT) : compose_select ]
[ link connect.cpp ]
[ link connect.cpp : $(USE_SELECT) : connect_select ]
[ link coroutine.cpp ]
[ link coroutine.cpp : $(USE_SELECT) : coroutine_select ]
- [ link datagram_socket_service.cpp ]
- [ link datagram_socket_service.cpp : $(USE_SELECT) : datagram_socket_service_select ]
- [ link deadline_timer_service.cpp ]
- [ link deadline_timer_service.cpp : $(USE_SELECT) : deadline_timer_service_select ]
[ run deadline_timer.cpp ]
[ run deadline_timer.cpp : : : $(USE_SELECT) : deadline_timer_select ]
+ [ link detached.cpp ]
+ [ link detached.cpp : $(USE_SELECT) : detached_select ]
[ run error.cpp ]
[ run error.cpp : : : $(USE_SELECT) : error_select ]
[ link generic/basic_endpoint.cpp : : generic_basic_endpoint ]
[ link high_resolution_timer.cpp : $(USE_SELECT) : high_resolution_timer_select ]
[ run io_context.cpp ]
[ run io_context.cpp : : : $(USE_SELECT) : io_context_select ]
+ [ run io_context_strand.cpp ]
+ [ run io_context_strand.cpp : : : $(USE_SELECT) : io_context_strand_select ]
[ link ip/address.cpp : : ip_address ]
[ link ip/address.cpp : $(USE_SELECT) : ip_address_select ]
[ link ip/address_v4.cpp : : ip_address_v4 ]
[ run ip/multicast.cpp : : : $(USE_SELECT) : ip_multicast_select ]
[ link ip/resolver_query_base.cpp : : ip_resolver_query_base ]
[ link ip/resolver_query_base.cpp : $(USE_SELECT) : ip_resolver_query_base_select ]
- [ link ip/resolver_service.cpp : : ip_resolver_service ]
- [ link ip/resolver_service.cpp : $(USE_SELECT) : ip_resolver_service_select ]
[ run ip/tcp.cpp : : : : ip_tcp ]
[ run ip/tcp.cpp : : : $(USE_SELECT) : ip_tcp_select ]
[ run ip/udp.cpp : : : : ip_udp ]
[ link posix/descriptor_base.cpp : $(USE_SELECT) : posix_descriptor_base_select ]
[ link posix/stream_descriptor.cpp : : posix_stream_descriptor ]
[ link posix/stream_descriptor.cpp : $(USE_SELECT) : posix_stream_descriptor_select ]
- [ link posix/stream_descriptor_service.cpp : : posix_stream_descriptor_service ]
- [ link posix/stream_descriptor_service.cpp : $(USE_SELECT) : posix_stream_descriptor_service_select ]
- [ link raw_socket_service.cpp ]
- [ link raw_socket_service.cpp : $(USE_SELECT) : raw_socket_service_select ]
[ run read.cpp ]
[ run read.cpp : : : $(USE_SELECT) : read_select ]
[ run read_at.cpp ]
[ run read_at.cpp : : : $(USE_SELECT) : read_at_select ]
[ run read_until.cpp ]
[ run read_until.cpp : : : $(USE_SELECT) : read_until_select ]
- [ link seq_packet_socket_service.cpp ]
- [ link seq_packet_socket_service.cpp : $(USE_SELECT) : seq_packet_socket_service_select ]
+ [ link redirect_error.cpp ]
+ [ link redirect_error.cpp : $(USE_SELECT) : redirect_error_select ]
[ run signal_set.cpp ]
[ run signal_set.cpp : : : $(USE_SELECT) : signal_set_select ]
- [ link signal_set_service.cpp ]
- [ link signal_set_service.cpp : $(USE_SELECT) : signal_set_service_select ]
- [ link socket_acceptor_service.cpp ]
- [ link socket_acceptor_service.cpp : $(USE_SELECT) : socket_acceptor_service_select ]
[ run socket_base.cpp ]
[ run socket_base.cpp : : : $(USE_SELECT) : socket_base_select ]
[ link steady_timer.cpp ]
[ link steady_timer.cpp : $(USE_SELECT) : steady_timer_select ]
[ run strand.cpp ]
[ run strand.cpp : : : $(USE_SELECT) : strand_select ]
- [ link stream_socket_service.cpp ]
- [ link stream_socket_service.cpp : $(USE_SELECT) : stream_socket_service_select ]
[ run streambuf.cpp ]
[ run streambuf.cpp : : : $(USE_SELECT) : streambuf_select ]
[ link system_timer.cpp ]
[ link system_context.cpp : $(USE_SELECT) : system_context_select ]
[ link system_executor.cpp ]
[ link system_executor.cpp : $(USE_SELECT) : system_executor_select ]
+ [ link this_coro.cpp ]
+ [ link this_coro.cpp : $(USE_SELECT) : this_coro_select ]
[ link time_traits.cpp ]
[ link time_traits.cpp : $(USE_SELECT) : time_traits_select ]
[ link ts/buffer.cpp : : ts_buffer ]
[ link ts/socket.cpp : $(USE_SELECT) : ts_socket_select ]
[ link ts/timer.cpp : : ts_timer ]
[ link ts/timer.cpp : $(USE_SELECT) : ts_timer_select ]
+ [ link use_awaitable.cpp ]
+ [ link use_awaitable.cpp : $(USE_SELECT) : use_awaitable_select ]
[ link wait_traits.cpp ]
[ link wait_traits.cpp : $(USE_SELECT) : wait_traits_select ]
- [ link waitable_timer_service.cpp ]
- [ link waitable_timer_service.cpp : $(USE_SELECT) : waitable_timer_service_select ]
- [ link windows/basic_handle.cpp : : windows_basic_handle ]
- [ link windows/basic_handle.cpp : $(USE_SELECT) : windows_basic_handle_select ]
[ link windows/basic_object_handle.cpp : : windows_basic_object_handle ]
[ link windows/basic_object_handle.cpp : $(USE_SELECT) : windows_basic_object_handle_select ]
+ [ link windows/basic_overlapped_handle.cpp : : windows_basic_overlapped_handle ]
+ [ link windows/basic_overlapped_handle.cpp : $(USE_SELECT) : windows_basic_overlapped_handle_select ]
[ link windows/basic_random_access_handle.cpp : : windows_basic_random_access_handle ]
[ link windows/basic_random_access_handle.cpp : $(USE_SELECT) : windows_basic_random_access_handle_select ]
[ link windows/basic_stream_handle.cpp : : windows_basic_stream_handle ]
[ link windows/basic_stream_handle.cpp : $(USE_SELECT) : windows_basic_stream_handle_select ]
[ link windows/object_handle.cpp : : windows_object_handle ]
[ link windows/object_handle.cpp : $(USE_SELECT) : windows_object_handle_select ]
- [ link windows/object_handle_service.cpp : : windows_object_handle_service ]
- [ link windows/object_handle_service.cpp : $(USE_SELECT) : windows_object_handle_service_select ]
[ link windows/overlapped_ptr.cpp : : windows_overlapped_ptr ]
[ link windows/overlapped_ptr.cpp : $(USE_SELECT) : windows_overlapped_ptr_select ]
[ link windows/random_access_handle.cpp : : windows_random_access_handle ]
[ link windows/random_access_handle.cpp : $(USE_SELECT) : windows_random_access_handle_select ]
- [ link windows/random_access_handle_service.cpp : : windows_random_access_handle_service ]
- [ link windows/random_access_handle_service.cpp : $(USE_SELECT) : windows_random_access_handle_service_select ]
[ link windows/stream_handle.cpp : : windows_stream_handle ]
[ link windows/stream_handle.cpp : $(USE_SELECT) : windows_stream_handle_select ]
- [ link windows/stream_handle_service.cpp : : windows_stream_handle_service ]
- [ link windows/stream_handle_service.cpp : $(USE_SELECT) : windows_stream_handle_service_select ]
[ run write.cpp ]
[ run write.cpp : : : $(USE_SELECT) : write_select ]
[ run write_at.cpp ]