Jamfile cleanup

This commit is contained in:
Mohammad Nejati
2024-09-04 06:53:50 +00:00
committed by Mohammad Nejati
parent 333b5511da
commit 3ddcf4ed38
31 changed files with 146 additions and 164 deletions

View File

@ -58,6 +58,7 @@ jobs:
- name: Run fuzzer
run: |
cd ../boost-root/libs/beast
mkdir build
cd build
cmake \
-DCMAKE_CXX_COMPILER=clang++ \

View File

@ -36,39 +36,13 @@ project /boost/beast
;
explicit
[ alias boost_beast : build//boost_beast ]
[ alias boost_beast_asio : build//boost_beast_asio ]
[ alias boost_beast_asio_ssl : build//boost_beast_asio_ssl ]
[ alias all : boost_beast boost_beast_asio boost_beast_asio_ssl example test ]
# Old-style targets. Remove once the rest of Beast changes.
[ alias lib-beast : boost_beast ]
[ alias lib-asio : boost_beast_asio ]
[ alias lib-asio-ssl : boost_beast_asio_ssl ]
[ alias boost_beast : : : : <library>$(boost_dependencies) ]
[ alias all : boost_beast example test ]
;
call-if : boost-library beast
: install boost_beast boost_beast_asio boost_beast_asio_ssl
;
feature.feature boost.beast.allow-deprecated : on off : propagated ;
feature.feature boost.beast.separate-compilation : on off : propagated ;
feature.feature boost.beast.valgrind : on off : optional propagated ;
variant beast_coverage
: debug
: <cxxflags>"-msse4.2 --coverage"
<linkflags>"--coverage"
;
variant beast_valgrind
: release
: <boost.beast.valgrind>on
;
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
;

View File

@ -1,99 +0,0 @@
# 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
;

View File

@ -21,8 +21,8 @@ project /boost/beast/example
cxx11_template_aliases
cxx11_variadic_templates
]
<library>/boost/beast//lib-asio/<link>static
<boost.beast.separate-compilation>on:<library>/boost/beast//lib-beast/<link>static
<library>/boost/beast/test//lib-asio/<link>static
<boost.beast.separate-compilation>on:<library>/boost/beast/test//lib-beast/<link>static
<include>..
;

View File

@ -11,7 +11,7 @@ import ac ;
project
: requirements
[ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
[ ac.check-library /boost/beast/test//lib-asio-ssl : <library>/boost/beast/test//lib-asio-ssl/<link>static : <build>no ]
<library>/boost/scope//boost_scope
;

View File

@ -11,7 +11,7 @@ import ac ;
project
: requirements
[ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
[ ac.check-library /boost/beast/test//lib-asio-ssl : <library>/boost/beast/test//lib-asio-ssl/<link>static : <build>no ]
;
exe advanced-server-flex :

View File

@ -11,7 +11,7 @@ import ac ;
project
: requirements
[ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
[ ac.check-library /boost/beast/test//lib-asio-ssl : <library>/boost/beast/test//lib-asio-ssl/<link>static : <build>no ]
;
exe http-client-async-ssl-system-executor :

View File

@ -11,7 +11,7 @@ import ac ;
project
: requirements
[ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
[ ac.check-library /boost/beast/test//lib-asio-ssl : <library>/boost/beast/test//lib-asio-ssl/<link>static : <build>no ]
;
exe http-client-async-ssl :

View File

@ -11,7 +11,7 @@ import ac ;
project
: requirements
[ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
[ ac.check-library /boost/beast/test//lib-asio-ssl : <library>/boost/beast/test//lib-asio-ssl/<link>static : <build>no ]
;
exe http-client-awaitable-ssl :

View File

@ -11,7 +11,7 @@ import ac ;
project
: requirements
[ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
[ ac.check-library /boost/beast/test//lib-asio-ssl : <library>/boost/beast/test//lib-asio-ssl/<link>static : <build>no ]
;
exe http-client-coro-ssl :

View File

@ -11,7 +11,7 @@ import ac ;
project
: requirements
[ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
[ ac.check-library /boost/beast/test//lib-asio-ssl : <library>/boost/beast/test//lib-asio-ssl/<link>static : <build>no ]
;
exe http-client-sync-ssl :

View File

@ -11,7 +11,7 @@ import ac ;
project
: requirements
[ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
[ ac.check-library /boost/beast/test//lib-asio-ssl : <library>/boost/beast/test//lib-asio-ssl/<link>static : <build>no ]
;
exe http-server-async-ssl :

View File

@ -11,7 +11,7 @@ import ac ;
project
: requirements
[ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
[ ac.check-library /boost/beast/test//lib-asio-ssl : <library>/boost/beast/test//lib-asio-ssl/<link>static : <build>no ]
;
exe http-server-coro-ssl :

View File

@ -11,7 +11,7 @@ import ac ;
project
: requirements
[ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
[ ac.check-library /boost/beast/test//lib-asio-ssl : <library>/boost/beast/test//lib-asio-ssl/<link>static : <build>no ]
;
exe http-server-flex :

View File

@ -11,7 +11,7 @@ import ac ;
project
: requirements
[ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
[ ac.check-library /boost/beast/test//lib-asio-ssl : <library>/boost/beast/test//lib-asio-ssl/<link>static : <build>no ]
;
exe http-server-stackless-ssl :

View File

@ -11,7 +11,7 @@ import ac ;
project
: requirements
[ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
[ ac.check-library /boost/beast/test//lib-asio-ssl : <library>/boost/beast/test//lib-asio-ssl/<link>static : <build>no ]
;
exe http-server-sync-ssl :

View File

@ -11,7 +11,7 @@ import ac ;
project
: requirements
[ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
[ ac.check-library /boost/beast/test//lib-asio-ssl : <library>/boost/beast/test//lib-asio-ssl/<link>static : <build>no ]
;
exe websocket-client-async-ssl-system-executor :

View File

@ -11,7 +11,7 @@ import ac ;
project
: requirements
[ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
[ ac.check-library /boost/beast/test//lib-asio-ssl : <library>/boost/beast/test//lib-asio-ssl/<link>static : <build>no ]
;
exe websocket-client-async-ssl :

View File

@ -11,7 +11,7 @@ import ac ;
project
: requirements
[ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
[ ac.check-library /boost/beast/test//lib-asio-ssl : <library>/boost/beast/test//lib-asio-ssl/<link>static : <build>no ]
;
exe websocket-client-coro-ssl :

View File

@ -11,7 +11,7 @@ import ac ;
project
: requirements
[ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
[ ac.check-library /boost/beast/test//lib-asio-ssl : <library>/boost/beast/test//lib-asio-ssl/<link>static : <build>no ]
;
exe websocket-client-sync-ssl :

View File

@ -11,7 +11,7 @@ import ac ;
project
: requirements
[ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
[ ac.check-library /boost/beast/test//lib-asio-ssl : <library>/boost/beast/test//lib-asio-ssl/<link>static : <build>no ]
;
exe websocket-server-async-ssl :

View File

@ -11,7 +11,7 @@ import ac ;
project
: requirements
[ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
[ ac.check-library /boost/beast/test//lib-asio-ssl : <library>/boost/beast/test//lib-asio-ssl/<link>static : <build>no ]
;
exe websocket-server-coro-ssl :

View File

@ -11,7 +11,7 @@ import ac ;
project
: requirements
[ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
[ ac.check-library /boost/beast/test//lib-asio-ssl : <library>/boost/beast/test//lib-asio-ssl/<link>static : <build>no ]
;
exe websocket-server-stackless-ssl :

View File

@ -11,7 +11,7 @@ import ac ;
project
: requirements
[ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
[ ac.check-library /boost/beast/test//lib-asio-ssl : <library>/boost/beast/test//lib-asio-ssl/<link>static : <build>no ]
;
exe websocket-server-sync-ssl :

View File

@ -7,9 +7,115 @@
# Official repository: https://github.com/boostorg/beast
#
import testing ;
import ac ;
import-search /boost/config/checks ;
import config : requires ;
import os ;
import testing ;
using openssl ;
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
;
local 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
;
lib lib-asio
: lib_asio.cpp
: requirements
$(requirements)
<link>static
: usage-requirements
$(requirements)
;
lib lib-asio-ssl
: lib_asio_ssl.cpp
: requirements
$(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
$(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 lib-beast
: lib_beast.cpp
: requirements
$(requirements)
<link>static
: usage-requirements
$(requirements)
;
variant beast_coverage
: debug
: <cxxflags>"-msse4.2 --coverage"
<linkflags>"--coverage"
;
variant beast_valgrind
: release
: <boost.beast.valgrind>on
;
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
;
project /boost/beast/test
: requirements
@ -23,8 +129,8 @@ project /boost/beast/test
]
<define>BOOST_BEAST_TESTS
<target-os>darwin:<define>Z_HAVE_UNISTD_H=1
<library>/boost/beast//lib-asio/<link>static
<boost.beast.separate-compilation>on:<library>/boost/beast//lib-beast/<link>static
<library>/boost/beast/test//lib-asio/<link>static
<boost.beast.separate-compilation>on:<library>/boost/beast/test//lib-beast/<link>static
<library>/boost/filesystem//boost_filesystem/<link>static
<library>/boost/context//boost_context/<link>static
<address-sanitizer>norecover:<context-impl>ucontext

View File

@ -10,7 +10,7 @@
alias run-tests :
[ compile core.cpp ]
[ compile http.cpp ]
[ compile ssl.cpp /boost/beast//lib-asio-ssl ]
[ compile ssl.cpp /boost/beast/test//lib-asio-ssl ]
[ compile version.cpp ]
[ compile websocket.cpp ]
[ compile zlib.cpp ]

View File

@ -19,7 +19,7 @@ local RUN_TESTS ;
for local f in $(SOURCES)
{
RUN_TESTS += [ run $(f)
/boost/beast//lib-asio-ssl
/boost/beast/test//lib-asio-ssl
/boost/beast/test//lib-test
] ;
}
@ -28,14 +28,14 @@ alias run-tests : $(RUN_TESTS) ;
exe fat-tests :
$(SOURCES)
/boost/beast//lib-asio-ssl
/boost/beast/test//lib-asio-ssl
/boost/beast/test//lib-test
;
explicit fat-tests ;
run $(SOURCES)
/boost/beast//lib-asio-ssl
/boost/beast/test//lib-asio-ssl
/boost/beast/test//lib-test
: : : : run-fat-tests ;

View File

@ -16,7 +16,7 @@ local RUN_TESTS ;
for local f in $(SOURCES)
{
RUN_TESTS += [ run $(f)
/boost/beast//lib-asio-ssl
/boost/beast/test//lib-asio-ssl
/boost/beast/test//lib-test
] ;
}
@ -26,14 +26,14 @@ alias run-tests : $(RUN_TESTS) ;
exe fat-tests
:
$(SOURCES)
/boost/beast//lib-asio-ssl
/boost/beast/test//lib-asio-ssl
/boost/beast/test//lib-test
;
explicit fat-tests ;
run $(SOURCES)
/boost/beast//lib-asio-ssl
/boost/beast/test//lib-asio-ssl
/boost/beast/test//lib-test
: : : : run-fat-tests ;

View File

@ -41,7 +41,7 @@ local RUN_TESTS ;
for local f in $(SOURCES)
{
RUN_TESTS += [ run $(f)
/boost/beast//lib-asio-ssl
/boost/beast/test//lib-asio-ssl
/boost/beast/test//lib-test
] ;
}
@ -51,14 +51,14 @@ alias run-tests : $(RUN_TESTS) ;
exe fat-tests
:
$(SOURCES)
/boost/beast//lib-asio-ssl
/boost/beast/test//lib-asio-ssl
/boost/beast/test//lib-test
;
explicit fat-tests ;
run $(SOURCES)
/boost/beast//lib-asio-ssl
/boost/beast/test//lib-asio-ssl
/boost/beast/test//lib-test
: : : : run-fat-tests ;

View File

@ -12,7 +12,7 @@ project
<include>../.. ;
local libs =
/boost/beast//lib-asio-ssl
/boost/beast/test//lib-asio-ssl
/boost/beast/test//lib-test
;

View File

@ -19,7 +19,7 @@ local SOURCES =
local RUN_TESTS ;
local libs =
/boost/beast//lib-asio-ssl
/boost/beast/test//lib-asio-ssl
/boost/beast/test//lib-test
;