#
# Copyright (c) 2020 Paul-Louis Ageneau (paul-louis at ageneau dot org)
#
# 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 ;

lib gnutls ;
lib crypto ;

lib socket ; # SOLARIS
lib nsl ; # SOLARIS
lib ws2_32 ; # NT
lib mswsock ; # NT
lib ipv6 ; # HPUX
lib network ; # HAIKU

local USE_SELECT =
  <define>BOOST_ASIO_DISABLE_EPOLL
  <define>BOOST_ASIO_DISABLE_KQUEUE
  <define>BOOST_ASIO_DISABLE_IOCP
  ;

project
  : requirements
    <include>../../include
    <library>/boost/system//boost_system
    <define>BOOST_ALL_NO_LIB=1
    <threading>multi
    <target-os>solaris:<library>socket
    <target-os>solaris:<library>nsl
    <target-os>windows:<define>_WIN32_WINNT=0x0501
    <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>haiku:<library>network
  ;

test-suite "asio-gnutls" :
  [ compile context_base.cpp ]
  [ compile context_base.cpp : $(USE_SELECT) : context_base_select ]
  [ compile context.cpp ]
  [ compile context.cpp : $(USE_SELECT) : context_select ]
  [ compile error.cpp ]
  [ compile error.cpp : $(USE_SELECT) : error_select ]
  [ compile stream_base.cpp ]
  [ compile stream_base.cpp : $(USE_SELECT) : stream_base_select ]
  [ compile stream.cpp ]
  [ compile stream.cpp : $(USE_SELECT) : stream_select ]
  ;
