diff --git a/build.jam b/build.jam index f81936c4c3..0a7f93a153 100644 --- a/build.jam +++ b/build.jam @@ -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 : : : : $(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 - : "-msse4.2 --coverage" - "--coverage" - ; - -variant beast_valgrind - : release - : on - ; - -variant beast_ubasan - : release - : "-msse4.2 -funsigned-char -fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize-recover=address,undefined -fsanitize-blacklist=libs/beast/tools/blacklist.supp" - "-fsanitize=address,undefined" - BOOST_USE_ASAN=1 - ; - diff --git a/build/Jamfile b/build/Jamfile index b27ba56a48..bd940602e0 100644 --- a/build/Jamfile +++ b/build/Jamfile @@ -7,18 +7,17 @@ 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 : : $(openssl-root)/lib $(openssl-root)/include ; +using openssl ; + +explicit + [ searched-lib socket ] # SOLARIS, QNXNTO + [ searched-lib nsl ] # SOLARIS + [ searched-lib ws2_32 : : windows ] # NT + [ searched-lib mswsock : : windows ] # NT + [ searched-lib ipv6 ] # HPUX + [ searched-lib network ] # HAIKU + ; project : source-location ../test @@ -66,22 +65,13 @@ project on:BOOST_BEAST_SEPARATE_COMPILATION ; -explicit - [ searched-lib socket ] # SOLARIS, QNXNTO - [ searched-lib nsl ] # SOLARIS - [ searched-lib ws2_32 : : windows ] # NT - [ searched-lib mswsock : : windows ] # NT - [ searched-lib ipv6 ] # HPUX - [ searched-lib network ] # HAIKU - ; - -lib boost_beast_asio +lib lib-asio : lib_asio.cpp : requirements static ; -lib boost_beast_asio_ssl +lib lib-asio-ssl : lib_asio_ssl.cpp : requirements static @@ -92,8 +82,8 @@ lib boost_beast_asio_ssl [ ac.check-library /openssl//crypto : /openssl//crypto/shared : no ] ; -lib boost_beast +lib lib-beast : lib_beast.cpp : requirements - static + static ; diff --git a/example/Jamfile b/example/Jamfile index 001c382426..2211393a97 100644 --- a/example/Jamfile +++ b/example/Jamfile @@ -21,8 +21,8 @@ project /boost/beast/example cxx11_template_aliases cxx11_variadic_templates ] - /boost/beast//lib-asio/static - on:/boost/beast//lib-beast/static + /boost/beast/build//lib-asio/static + on:/boost/beast/build//lib-beast/static .. ; diff --git a/example/advanced/server-flex-awaitable/Jamfile b/example/advanced/server-flex-awaitable/Jamfile index d10c6498b8..6f54e09985 100644 --- a/example/advanced/server-flex-awaitable/Jamfile +++ b/example/advanced/server-flex-awaitable/Jamfile @@ -11,7 +11,7 @@ import ac ; project : requirements - [ ac.check-library /boost/beast//lib-asio-ssl : /boost/beast//lib-asio-ssl/static : no ] + [ ac.check-library /boost/beast/build//lib-asio-ssl : /boost/beast/build//lib-asio-ssl/static : no ] /boost/scope//boost_scope ; diff --git a/example/advanced/server-flex/Jamfile b/example/advanced/server-flex/Jamfile index e7bd844aa5..ab099debb8 100644 --- a/example/advanced/server-flex/Jamfile +++ b/example/advanced/server-flex/Jamfile @@ -11,7 +11,7 @@ import ac ; project : requirements - [ ac.check-library /boost/beast//lib-asio-ssl : /boost/beast//lib-asio-ssl/static : no ] + [ ac.check-library /boost/beast/build//lib-asio-ssl : /boost/beast/build//lib-asio-ssl/static : no ] ; exe advanced-server-flex : diff --git a/example/http/client/async-ssl-system-executor/Jamfile b/example/http/client/async-ssl-system-executor/Jamfile index 732da86319..dd59aaf285 100644 --- a/example/http/client/async-ssl-system-executor/Jamfile +++ b/example/http/client/async-ssl-system-executor/Jamfile @@ -11,7 +11,7 @@ import ac ; project : requirements - [ ac.check-library /boost/beast//lib-asio-ssl : /boost/beast//lib-asio-ssl/static : no ] + [ ac.check-library /boost/beast/build//lib-asio-ssl : /boost/beast/build//lib-asio-ssl/static : no ] ; exe http-client-async-ssl-system-executor : diff --git a/example/http/client/async-ssl/Jamfile b/example/http/client/async-ssl/Jamfile index c11bcb072d..95c8ad497b 100644 --- a/example/http/client/async-ssl/Jamfile +++ b/example/http/client/async-ssl/Jamfile @@ -11,7 +11,7 @@ import ac ; project : requirements - [ ac.check-library /boost/beast//lib-asio-ssl : /boost/beast//lib-asio-ssl/static : no ] + [ ac.check-library /boost/beast/build//lib-asio-ssl : /boost/beast/build//lib-asio-ssl/static : no ] ; exe http-client-async-ssl : diff --git a/example/http/client/awaitable-ssl/Jamfile b/example/http/client/awaitable-ssl/Jamfile index 7a3b82669e..961c858237 100644 --- a/example/http/client/awaitable-ssl/Jamfile +++ b/example/http/client/awaitable-ssl/Jamfile @@ -11,7 +11,7 @@ import ac ; project : requirements - [ ac.check-library /boost/beast//lib-asio-ssl : /boost/beast//lib-asio-ssl/static : no ] + [ ac.check-library /boost/beast/build//lib-asio-ssl : /boost/beast/build//lib-asio-ssl/static : no ] ; exe http-client-awaitable-ssl : diff --git a/example/http/client/coro-ssl/Jamfile b/example/http/client/coro-ssl/Jamfile index f135420326..0fa0425ff1 100644 --- a/example/http/client/coro-ssl/Jamfile +++ b/example/http/client/coro-ssl/Jamfile @@ -11,7 +11,7 @@ import ac ; project : requirements - [ ac.check-library /boost/beast//lib-asio-ssl : /boost/beast//lib-asio-ssl/static : no ] + [ ac.check-library /boost/beast/build//lib-asio-ssl : /boost/beast/build//lib-asio-ssl/static : no ] ; exe http-client-coro-ssl : diff --git a/example/http/client/sync-ssl/Jamfile b/example/http/client/sync-ssl/Jamfile index c1fabf4797..dd7f4716c4 100644 --- a/example/http/client/sync-ssl/Jamfile +++ b/example/http/client/sync-ssl/Jamfile @@ -11,7 +11,7 @@ import ac ; project : requirements - [ ac.check-library /boost/beast//lib-asio-ssl : /boost/beast//lib-asio-ssl/static : no ] + [ ac.check-library /boost/beast/build//lib-asio-ssl : /boost/beast/build//lib-asio-ssl/static : no ] ; exe http-client-sync-ssl : diff --git a/example/http/server/async-ssl/Jamfile b/example/http/server/async-ssl/Jamfile index f4cf0204e3..52b0e0c0d4 100644 --- a/example/http/server/async-ssl/Jamfile +++ b/example/http/server/async-ssl/Jamfile @@ -11,7 +11,7 @@ import ac ; project : requirements - [ ac.check-library /boost/beast//lib-asio-ssl : /boost/beast//lib-asio-ssl/static : no ] + [ ac.check-library /boost/beast/build//lib-asio-ssl : /boost/beast/build//lib-asio-ssl/static : no ] ; exe http-server-async-ssl : diff --git a/example/http/server/coro-ssl/Jamfile b/example/http/server/coro-ssl/Jamfile index 4f6c7a6a1c..6b13f7891c 100644 --- a/example/http/server/coro-ssl/Jamfile +++ b/example/http/server/coro-ssl/Jamfile @@ -11,7 +11,7 @@ import ac ; project : requirements - [ ac.check-library /boost/beast//lib-asio-ssl : /boost/beast//lib-asio-ssl/static : no ] + [ ac.check-library /boost/beast/build//lib-asio-ssl : /boost/beast/build//lib-asio-ssl/static : no ] ; exe http-server-coro-ssl : diff --git a/example/http/server/flex/Jamfile b/example/http/server/flex/Jamfile index f094caa27f..8f8e7150f8 100644 --- a/example/http/server/flex/Jamfile +++ b/example/http/server/flex/Jamfile @@ -11,7 +11,7 @@ import ac ; project : requirements - [ ac.check-library /boost/beast//lib-asio-ssl : /boost/beast//lib-asio-ssl/static : no ] + [ ac.check-library /boost/beast/build//lib-asio-ssl : /boost/beast/build//lib-asio-ssl/static : no ] ; exe http-server-flex : diff --git a/example/http/server/stackless-ssl/Jamfile b/example/http/server/stackless-ssl/Jamfile index b475246465..af87df8382 100644 --- a/example/http/server/stackless-ssl/Jamfile +++ b/example/http/server/stackless-ssl/Jamfile @@ -11,7 +11,7 @@ import ac ; project : requirements - [ ac.check-library /boost/beast//lib-asio-ssl : /boost/beast//lib-asio-ssl/static : no ] + [ ac.check-library /boost/beast/build//lib-asio-ssl : /boost/beast/build//lib-asio-ssl/static : no ] ; exe http-server-stackless-ssl : diff --git a/example/http/server/sync-ssl/Jamfile b/example/http/server/sync-ssl/Jamfile index 0ad5e57f5c..7f793ed180 100644 --- a/example/http/server/sync-ssl/Jamfile +++ b/example/http/server/sync-ssl/Jamfile @@ -11,7 +11,7 @@ import ac ; project : requirements - [ ac.check-library /boost/beast//lib-asio-ssl : /boost/beast//lib-asio-ssl/static : no ] + [ ac.check-library /boost/beast/build//lib-asio-ssl : /boost/beast/build//lib-asio-ssl/static : no ] ; exe http-server-sync-ssl : diff --git a/example/websocket/client/async-ssl-system-executor/Jamfile b/example/websocket/client/async-ssl-system-executor/Jamfile index 770a93c7d9..ef72b567a6 100644 --- a/example/websocket/client/async-ssl-system-executor/Jamfile +++ b/example/websocket/client/async-ssl-system-executor/Jamfile @@ -11,7 +11,7 @@ import ac ; project : requirements - [ ac.check-library /boost/beast//lib-asio-ssl : /boost/beast//lib-asio-ssl/static : no ] + [ ac.check-library /boost/beast/build//lib-asio-ssl : /boost/beast/build//lib-asio-ssl/static : no ] ; exe websocket-client-async-ssl-system-executor : diff --git a/example/websocket/client/async-ssl/Jamfile b/example/websocket/client/async-ssl/Jamfile index 1f46a94d9a..10a4bcfd72 100644 --- a/example/websocket/client/async-ssl/Jamfile +++ b/example/websocket/client/async-ssl/Jamfile @@ -11,7 +11,7 @@ import ac ; project : requirements - [ ac.check-library /boost/beast//lib-asio-ssl : /boost/beast//lib-asio-ssl/static : no ] + [ ac.check-library /boost/beast/build//lib-asio-ssl : /boost/beast/build//lib-asio-ssl/static : no ] ; exe websocket-client-async-ssl : diff --git a/example/websocket/client/coro-ssl/Jamfile b/example/websocket/client/coro-ssl/Jamfile index 578e623e31..ce1823e9b4 100644 --- a/example/websocket/client/coro-ssl/Jamfile +++ b/example/websocket/client/coro-ssl/Jamfile @@ -11,7 +11,7 @@ import ac ; project : requirements - [ ac.check-library /boost/beast//lib-asio-ssl : /boost/beast//lib-asio-ssl/static : no ] + [ ac.check-library /boost/beast/build//lib-asio-ssl : /boost/beast/build//lib-asio-ssl/static : no ] ; exe websocket-client-coro-ssl : diff --git a/example/websocket/client/sync-ssl/Jamfile b/example/websocket/client/sync-ssl/Jamfile index 0cfec0f688..cb92e6ac76 100644 --- a/example/websocket/client/sync-ssl/Jamfile +++ b/example/websocket/client/sync-ssl/Jamfile @@ -11,7 +11,7 @@ import ac ; project : requirements - [ ac.check-library /boost/beast//lib-asio-ssl : /boost/beast//lib-asio-ssl/static : no ] + [ ac.check-library /boost/beast/build//lib-asio-ssl : /boost/beast/build//lib-asio-ssl/static : no ] ; exe websocket-client-sync-ssl : diff --git a/example/websocket/server/async-ssl/Jamfile b/example/websocket/server/async-ssl/Jamfile index f9b253a0c6..9a919a5d8b 100644 --- a/example/websocket/server/async-ssl/Jamfile +++ b/example/websocket/server/async-ssl/Jamfile @@ -11,7 +11,7 @@ import ac ; project : requirements - [ ac.check-library /boost/beast//lib-asio-ssl : /boost/beast//lib-asio-ssl/static : no ] + [ ac.check-library /boost/beast/build//lib-asio-ssl : /boost/beast/build//lib-asio-ssl/static : no ] ; exe websocket-server-async-ssl : diff --git a/example/websocket/server/coro-ssl/Jamfile b/example/websocket/server/coro-ssl/Jamfile index 46a6bb3111..faa3829659 100644 --- a/example/websocket/server/coro-ssl/Jamfile +++ b/example/websocket/server/coro-ssl/Jamfile @@ -11,7 +11,7 @@ import ac ; project : requirements - [ ac.check-library /boost/beast//lib-asio-ssl : /boost/beast//lib-asio-ssl/static : no ] + [ ac.check-library /boost/beast/build//lib-asio-ssl : /boost/beast/build//lib-asio-ssl/static : no ] ; exe websocket-server-coro-ssl : diff --git a/example/websocket/server/stackless-ssl/Jamfile b/example/websocket/server/stackless-ssl/Jamfile index b0eaa4aa2f..cb8a8e85e1 100644 --- a/example/websocket/server/stackless-ssl/Jamfile +++ b/example/websocket/server/stackless-ssl/Jamfile @@ -11,7 +11,7 @@ import ac ; project : requirements - [ ac.check-library /boost/beast//lib-asio-ssl : /boost/beast//lib-asio-ssl/static : no ] + [ ac.check-library /boost/beast/build//lib-asio-ssl : /boost/beast/build//lib-asio-ssl/static : no ] ; exe websocket-server-stackless-ssl : diff --git a/example/websocket/server/sync-ssl/Jamfile b/example/websocket/server/sync-ssl/Jamfile index 55ac35b84f..b38c1d0822 100644 --- a/example/websocket/server/sync-ssl/Jamfile +++ b/example/websocket/server/sync-ssl/Jamfile @@ -11,7 +11,7 @@ import ac ; project : requirements - [ ac.check-library /boost/beast//lib-asio-ssl : /boost/beast//lib-asio-ssl/static : no ] + [ ac.check-library /boost/beast/build//lib-asio-ssl : /boost/beast/build//lib-asio-ssl/static : no ] ; exe websocket-server-sync-ssl : diff --git a/test/Jamfile b/test/Jamfile index e5e29f0a17..702047ec76 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -11,6 +11,24 @@ import testing ; import-search /boost/config/checks ; import config : requires ; +variant beast_coverage + : debug + : "-msse4.2 --coverage" + "--coverage" + ; + +variant beast_valgrind + : release + : on + ; + +variant beast_ubasan + : release + : "-msse4.2 -funsigned-char -fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize-recover=address,undefined -fsanitize-blacklist=libs/beast/tools/blacklist.supp" + "-fsanitize=address,undefined" + BOOST_USE_ASAN=1 + ; + project /boost/beast/test : requirements [ requires @@ -23,8 +41,8 @@ project /boost/beast/test ] BOOST_BEAST_TESTS darwin:Z_HAVE_UNISTD_H=1 - /boost/beast//lib-asio/static - on:/boost/beast//lib-beast/static + /boost/beast/build//lib-asio/static + on:/boost/beast/build//lib-beast/static /boost/filesystem//boost_filesystem/static /boost/context//boost_context/static norecover:ucontext diff --git a/test/beast/Jamfile b/test/beast/Jamfile index e655a8a156..b613a5ad96 100644 --- a/test/beast/Jamfile +++ b/test/beast/Jamfile @@ -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/build//lib-asio-ssl ] [ compile version.cpp ] [ compile websocket.cpp ] [ compile zlib.cpp ] diff --git a/test/beast/_experimental/Jamfile b/test/beast/_experimental/Jamfile index a9b2d9f8a2..29e90e447c 100644 --- a/test/beast/_experimental/Jamfile +++ b/test/beast/_experimental/Jamfile @@ -19,7 +19,7 @@ local RUN_TESTS ; for local f in $(SOURCES) { RUN_TESTS += [ run $(f) - /boost/beast//lib-asio-ssl + /boost/beast/build//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/build//lib-asio-ssl /boost/beast/test//lib-test ; explicit fat-tests ; run $(SOURCES) - /boost/beast//lib-asio-ssl + /boost/beast/build//lib-asio-ssl /boost/beast/test//lib-test : : : : run-fat-tests ; diff --git a/test/beast/ssl/Jamfile b/test/beast/ssl/Jamfile index afb789e688..723d3a77ac 100644 --- a/test/beast/ssl/Jamfile +++ b/test/beast/ssl/Jamfile @@ -16,7 +16,7 @@ local RUN_TESTS ; for local f in $(SOURCES) { RUN_TESTS += [ run $(f) - /boost/beast//lib-asio-ssl + /boost/beast/build//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/build//lib-asio-ssl /boost/beast/test//lib-test ; explicit fat-tests ; run $(SOURCES) - /boost/beast//lib-asio-ssl + /boost/beast/build//lib-asio-ssl /boost/beast/test//lib-test : : : : run-fat-tests ; diff --git a/test/beast/websocket/Jamfile b/test/beast/websocket/Jamfile index eddc9f73fe..0062c92702 100644 --- a/test/beast/websocket/Jamfile +++ b/test/beast/websocket/Jamfile @@ -41,7 +41,7 @@ local RUN_TESTS ; for local f in $(SOURCES) { RUN_TESTS += [ run $(f) - /boost/beast//lib-asio-ssl + /boost/beast/build//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/build//lib-asio-ssl /boost/beast/test//lib-test ; explicit fat-tests ; run $(SOURCES) - /boost/beast//lib-asio-ssl + /boost/beast/build//lib-asio-ssl /boost/beast/test//lib-test : : : : run-fat-tests ; diff --git a/test/doc/Jamfile b/test/doc/Jamfile index f288898030..6884157670 100644 --- a/test/doc/Jamfile +++ b/test/doc/Jamfile @@ -12,7 +12,7 @@ project ../.. ; local libs = - /boost/beast//lib-asio-ssl + /boost/beast/build//lib-asio-ssl /boost/beast/test//lib-test ; diff --git a/test/example/common/Jamfile b/test/example/common/Jamfile index a454afced0..827106ec1e 100644 --- a/test/example/common/Jamfile +++ b/test/example/common/Jamfile @@ -19,7 +19,7 @@ local SOURCES = local RUN_TESTS ; local libs = - /boost/beast//lib-asio-ssl + /boost/beast/build//lib-asio-ssl /boost/beast/test//lib-test ;