mirror of
https://github.com/boostorg/beast.git
synced 2025-06-25 03:51:36 +02:00
* Use beast exclusive valgrind feature. * Make the library modular usable. * Switch to library requirements instead of source. As source puts extra source in install targets. * Add Beast root dir for includes. As some tests refer to files relative to that. * Replace relative docca refs with project based. * Avoid mtuliple openssl configurations. * Always declare openssl. If it's empty and duplicate it will be ignored. * Add missing import-search for cconfig/predef checks. * Add requires-b2 check to top-level build file. * Bump B2 require to 5.2 * Update copyright dates. * Move inter-lib dependencies to a project variable and into the build targets. * Update build deps. * Update build deps. * The http/client/body example uses the source header from json instead of the linked library.
100 lines
3.5 KiB
Plaintext
100 lines
3.5 KiB
Plaintext
# Copyright René Ferdinand Rivera Morell 2023-2024
|
|
# 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 ac ;
|
|
import-search /boost/config/checks ;
|
|
import config : requires ;
|
|
import os ;
|
|
import path ;
|
|
|
|
local openssl-root ;
|
|
if [ os.on-windows ]
|
|
{
|
|
openssl-root ?= [ os.environ OPENSSL_ROOT ] ;
|
|
if ! $(openssl-root) && [ path.glob "C:/OpenSSL" : lib include ]
|
|
{
|
|
openssl-root = "C:/OpenSSL" ;
|
|
}
|
|
}
|
|
using openssl : : <search>$(openssl-root)/lib <include>$(openssl-root)/include ;
|
|
|
|
project
|
|
: source-location ../test
|
|
: common-requirements
|
|
<library>$(boost_dependencies)
|
|
[ requires
|
|
cxx11_constexpr
|
|
cxx11_decltype
|
|
cxx11_hdr_tuple
|
|
cxx11_template_aliases
|
|
cxx11_variadic_templates
|
|
]
|
|
<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
|
|
<boost.beast.valgrind>on:<define>BOOST_USE_VALGRIND
|
|
<boost.beast.allow-deprecated>on:<define>BOOST_BEAST_ALLOW_DEPRECATED
|
|
<boost.beast.separate-compilation>on:<define>BOOST_BEAST_SEPARATE_COMPILATION
|
|
;
|
|
|
|
explicit
|
|
[ searched-lib socket ] # SOLARIS, QNXNTO
|
|
[ searched-lib nsl ] # SOLARIS
|
|
[ searched-lib ws2_32 : : <target-os>windows ] # NT
|
|
[ searched-lib mswsock : : <target-os>windows ] # NT
|
|
[ searched-lib ipv6 ] # HPUX
|
|
[ searched-lib network ] # HAIKU
|
|
;
|
|
|
|
lib boost_beast_asio
|
|
: lib_asio.cpp
|
|
: requirements
|
|
<link>static
|
|
;
|
|
|
|
lib boost_beast_asio_ssl
|
|
: lib_asio_ssl.cpp
|
|
: requirements
|
|
<link>static
|
|
[ ac.check-library /openssl//ssl : <library>/openssl//ssl/<link>shared : <build>no ]
|
|
[ ac.check-library /openssl//crypto : <library>/openssl//crypto/<link>shared : <build>no ]
|
|
: usage-requirements
|
|
[ ac.check-library /openssl//ssl : <library>/openssl//ssl/<link>shared : <build>no ]
|
|
[ ac.check-library /openssl//crypto : <library>/openssl//crypto/<link>shared : <build>no ]
|
|
;
|
|
|
|
lib boost_beast
|
|
: lib_beast.cpp
|
|
: requirements
|
|
<link>static
|
|
;
|