mirror of
https://github.com/boostorg/beast.git
synced 2026-01-26 17:22:20 +01:00
* `basic_parser` now uses pure virtual member functions instead of the curiously recurring template pattern. Actions Required: * Change uses of the `basic_parser` type to omit the `Derived` template parameter * Classes derived from `basic_parser` no longer need to friend the base. * Virtual functions in the derived class may be marked `override`.
134 lines
4.4 KiB
Plaintext
134 lines
4.4 KiB
Plaintext
#
|
|
# 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 ;
|
|
|
|
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 ;
|
|
|
|
lib static_beast
|
|
: test/lib_beast.cpp
|
|
test/lib_asio.cpp
|
|
: requirements
|
|
[ requires
|
|
cxx11_constexpr
|
|
cxx11_decltype
|
|
cxx11_hdr_tuple
|
|
cxx11_template_aliases
|
|
cxx11_variadic_templates
|
|
]
|
|
<define>BOOST_BEAST_SPLIT_COMPILATION
|
|
<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-14.1:<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
|
|
<target-os>windows:<define>_WIN32_WINNT=0x0601
|
|
<link>static
|
|
;
|
|
|
|
project /boost/beast
|
|
: requirements
|
|
<include>.
|
|
<include>./test/extras/include
|
|
<library>/boost/coroutine//boost_coroutine
|
|
<library>/boost/filesystem//boost_filesystem
|
|
#<library>static_asio
|
|
<library>static_beast
|
|
<implicit-dependency>/boost//headers
|
|
<threading>multi
|
|
<debug-symbols>on
|
|
<runtime-link>shared
|
|
[ ac.check-library /boost/beast//ssl : <library>/boost/beast//ssl : <build>no ]
|
|
<library>/boost/beast//crypto
|
|
<define>BOOST_ALL_NO_LIB=1
|
|
<define>BOOST_BEAST_SPLIT_COMPILATION
|
|
<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
|
|
<define>BOOST_ASIO_DISABLE_WINDOWS_RANDOM_ACCESS_HANDLE=1
|
|
<define>BOOST_ASIO_DISABLE_WINDOWS_STREAM_HANDLE=1
|
|
<toolset>msvc:<cxxflags>"/bigobj"
|
|
<toolset>msvc-14.1:<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>cw:<library>ws2_32
|
|
<target-os>windows,<toolset>cw:<library>mswsock
|
|
<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
|
|
|
|
: usage-requirements
|
|
;
|
|
|