#
# 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)
#

subproject libs/asio/example/serialization ;

project boost : $(BOOST_ROOT) ;

if $(UNIX)
{
  switch $(JAMUNAME)
  {
  case SunOS* :
    {
      SOCKET_LIBS = <find-library>socket <find-library>nsl ;
    }
  }
}

exe client
  : <lib>@boost/libs/serialization/build/boost_serialization
    <lib>@boost/libs/system/build/boost_system
    client.cpp
  : <include>$(BOOST_ROOT)
    <include>../../../..
    <define>BOOST_ALL_NO_LIB=1
    <threading>multi
    <mingw><*><find-library>ws2_32
    <mingw><*><find-library>mswsock
    $(SOCKET_LIBS)
  ;

exe server
  : <lib>@boost/libs/serialization/build/boost_serialization
    <lib>@boost/libs/system/build/boost_system
    server.cpp
  : <include>$(BOOST_ROOT)
    <include>../../../..
    <define>BOOST_ALL_NO_LIB=1
    <threading>multi
    <mingw><*><find-library>ws2_32
    <mingw><*><find-library>mswsock
    $(SOCKET_LIBS)
  ;
