# # Copyright (c) 2013-2017 Vinnie Falco (vinnie dot falco at gmail 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) # # Official repository: https://github.com/boostorg/beast # import os ; import feature ; import boost ; import modules ; import testing ; import ../config/checks/config : requires ; boost.use-project ; 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 ; } if [ os.name ] = NT { lib ssl : : ssleay32 ; lib crypto : : libeay32 ; } else { lib ssl ; lib crypto ; } variant coverage : debug : "-msse4.2 --coverage" "--coverage" ; variant ubasan : release : "-msse4.2 -funsigned-char -fno-omit-frame-pointer -fsanitize=address,undefined -fsanitize-blacklist=libs/beast/scripts/blacklist.supp" "-fsanitize=address,undefined" ; #cxx11_hdr_type_traits local REQ = [ requires cxx11_variadic_templates cxx11_template_aliases cxx11_decltype cxx11_hdr_tuple ] ; path-constant TEST_MAIN : extras/boost/beast/unit_test/main.cpp ; project beast : requirements #$(REQ) /boost//headers . ./extras #/boost//headers /boost/system//boost_system /boost/coroutine//boost_coroutine /boost/filesystem//boost_filesystem static BOOST_ALL_NO_LIB=1 BOOST_COROUTINES_NO_DEPRECATION_WARNING=1 multi shared on BOOST_ASIO_DISABLE_BOOST_ARRAY=1 BOOST_ASIO_DISABLE_BOOST_BIND=1 BOOST_ASIO_DISABLE_BOOST_DATE_TIME=1 BOOST_ASIO_DISABLE_BOOST_REGEX=1 BOOST_ASIO_NO_DEPRECATED=1 gcc:-std=c++11 clang:-std=c++11 clang:-Wrange-loop-analysis msvc:_SCL_SECURE_NO_WARNINGS=1 msvc:_CRT_SECURE_NO_WARNINGS=1 msvc:"/permissive- /bigobj" msvc:release:"/Ob2 /Oi /Ot" SOLARIS:socket SOLARIS:nsl NT:_WIN32_WINNT=0x0601 NT,cw:ws2_32 NT,cw:mswsock NT,gcc:ws2_32 NT,gcc:mswsock NT,gcc-cygwin:__USE_W32_SOCKETS : usage-requirements ;