123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- #
- # Copyright (c) 2019 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 ac ;
- import os ;
- import feature ;
- import boost ;
- import modules ;
- import testing ;
- import ../../config/checks/config : requires ;
- boost.use-project ;
- lib socket ; # SOLARIS, QNXNTO
- lib nsl ; # SOLARIS
- lib ws2_32 ; # NT
- lib mswsock ; # NT
- lib ipv6 ; # HPUX
- lib network ; # HAIKU
- lib ssl ;
- lib crypto ;
- lib crypt32 ;
- lib ssl : : <target-os>windows <name>ssleay32 ;
- lib crypto : : <target-os>windows <name>libeay32 ;
- feature.feature boost.beast.allow-deprecated : on off : propagated composite ;
- feature.compose <boost.beast.allow-deprecated>on : <define>BOOST_BEAST_ALLOW_DEPRECATED ;
- feature.feature boost.beast.separate-compilation : on off : propagated composite ;
- feature.compose <boost.beast.separate-compilation>on : <define>BOOST_BEAST_SEPARATE_COMPILATION ;
- variant beast_coverage
- : debug
- : <cxxflags>"-msse4.2 --coverage"
- <linkflags>"--coverage"
- ;
- variant beast_valgrind
- : release
- : <valgrind>on # Boost.Context uses this property
- ;
- variant beast_ubasan
- : release
- : <cxxflags>"-msse4.2 -funsigned-char -fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize-recover=address,undefined -fsanitize-blacklist=libs/beast/tools/blacklist.supp"
- <linkflags>"-fsanitize=address,undefined"
- <define>BOOST_USE_ASAN=1
- ;
- path-constant TEST_MAIN : include/boost/beast/_experimental/unit_test/main.cpp ;
- project /boost/beast ;
- local defines =
- [ requires
- cxx11_constexpr
- cxx11_decltype
- cxx11_hdr_tuple
- cxx11_template_aliases
- cxx11_variadic_templates
- ]
- <implicit-dependency>/boost//headers
- <include>.
- <define>BOOST_ALL_NO_LIB=1
- <define>BOOST_ASIO_SEPARATE_COMPILATION
- <define>BOOST_ASIO_NO_DEPRECATED=1
- <define>BOOST_ASIO_DISABLE_BOOST_ARRAY=1
- <define>BOOST_ASIO_DISABLE_BOOST_BIND=1
- <define>BOOST_ASIO_DISABLE_BOOST_DATE_TIME=1
- <define>BOOST_ASIO_DISABLE_BOOST_REGEX=1
- <define>BOOST_COROUTINES_NO_DEPRECATION_WARNING=1
- <toolset>msvc:<cxxflags>"/bigobj"
- <toolset>msvc-14.1:<cxxflags>"/permissive-"
- <toolset>msvc-14.2:<cxxflags>"/permissive-"
- <toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS=1
- <toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS=1
- <toolset>msvc:<define>_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING
- <toolset>msvc:<define>_SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING
- <toolset>msvc,<variant>release:<cxxflags>"/Ob2 /Oi /Ot"
- <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=0x0601
- <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
- ;
- lib lib-asio
- : test/lib_asio.cpp
- : requirements
- <link>static
- $(defines)
- : usage-requirements
- $(defines)
- ;
- lib lib-asio-ssl
- : test/lib_asio_ssl.cpp
- : requirements
- <link>static
- $(defines)
- [ ac.check-library /boost/beast//ssl : <library>/boost/beast//ssl/<link>shared : <build>no ]
- [ ac.check-library /boost/beast//crypto : <library>/boost/beast//crypto/<link>shared : <build>no ]
- : usage-requirements
- $(defines)
- ;
- lib lib-beast
- : test/lib_beast.cpp
- : requirements
- <link>static
- $(defines)
- : usage-requirements
- $(defines)
- ;
|