#
# Copyright (c) 2003-2010 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 ;

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 ;
}

exe prioritised_handlers
  : prioritised_handlers.cpp
    /boost/system//boost_system
  : <define>BOOST_ALL_NO_LIB=1
    <threading>multi
    <os>SOLARIS:<library>socket
    <os>SOLARIS:<library>nsl
    <os>NT:<define>_WIN32_WINNT=0x0501
    <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
  ;
