diff --git a/build.jam b/build.jam new file mode 100644 index 0000000..d2e81b1 --- /dev/null +++ b/build.jam @@ -0,0 +1,43 @@ +# Copyright René Ferdinand Rivera Morell 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) + +require-b2 5.2 ; + +constant boost_dependencies : + /boost/assert//boost_assert + /boost/concept_check//boost_concept_check + /boost/config//boost_config + /boost/core//boost_core + /boost/filesystem//boost_filesystem + /boost/format//boost_format + /boost/iterator//boost_iterator + /boost/lexical_cast//boost_lexical_cast + /boost/mpl//boost_mpl + /boost/multi_index//boost_multi_index + /boost/optional//boost_optional + /boost/pool//boost_pool + /boost/preprocessor//boost_preprocessor + /boost/serialization//boost_serialization + /boost/smart_ptr//boost_smart_ptr + /boost/spirit//boost_spirit + /boost/static_assert//boost_static_assert + /boost/throw_exception//boost_throw_exception + /boost/type_traits//boost_type_traits ; + +project /boost/wave + : common-requirements + include + ; + +explicit + [ alias boost_wave : build//boost_wave ] + [ alias wave : tool/build//wave ] + [ alias all : boost_wave wave samples test ] + ; + +call-if : boost-library wave + : install boost_wave + ; + diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index 59c9093..a2deaaa 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -4,13 +4,16 @@ # # http://www.boost.org/ # -# Copyright (c) 2001-2011 Hartmut Kaiser. Distributed under the Boost -# Software License, Version 1.0. (See accompanying file +# Copyright (c) 2001-2011 Hartmut Kaiser. 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 ../../config/checks/config : requires ; +require-b2 5.0.1 ; +import-search /boost/config/checks ; +import config : requires ; -project boost/wave +project + : common-requirements $(boost_dependencies) : requirements [ requires cxx11_constexpr @@ -25,6 +28,8 @@ project boost/wave msvc:_SCL_SECURE_NO_DEPRECATE msvc:_CRT_SECURE_NO_DEPRECATE : source-location ../src + : usage-requirements + BOOST_ALL_NO_LIB=1 ; SOURCES = @@ -45,8 +50,8 @@ SOURCES = lib boost_wave : $(SOURCES) - ../../filesystem/build//boost_filesystem - ../../thread/build//boost_thread + /boost/filesystem//boost_filesystem + /boost/thread//boost_thread ; for local source in $(SOURCES) @@ -69,5 +74,3 @@ for local source in $(SOURCES) obj $(source) : $(source).cpp : $(requirements) ; } - -boost-install boost_wave ; diff --git a/samples/Jamfile.v2 b/samples/Jamfile.v2 index e754cfd..aa98d4a 100644 --- a/samples/Jamfile.v2 +++ b/samples/Jamfile.v2 @@ -3,6 +3,8 @@ # (See accompanying file LICENSE_1_0.txt # or copy at http://www.boost.org/LICENSE_1_0.txt) +require-b2 5.0.1 ; +import-search /boost/config/checks ; import config : requires ; project diff --git a/samples/check_macro_naming/check_macro_naming.cpp b/samples/check_macro_naming/check_macro_naming.cpp index 02e475c..c8a37f9 100644 --- a/samples/check_macro_naming/check_macro_naming.cpp +++ b/samples/check_macro_naming/check_macro_naming.cpp @@ -11,7 +11,7 @@ =============================================================================*/ #include "check_macro_naming.hpp" -#include "libs/filesystem/include/boost/filesystem/file_status.hpp" +#include "boost/filesystem/file_status.hpp" /////////////////////////////////////////////////////////////////////////////// // Utilities from the rest of Boost diff --git a/samples/cpp_tokens/build/Jamfile.v2 b/samples/cpp_tokens/build/Jamfile.v2 index 27b6e39..6a562ed 100644 --- a/samples/cpp_tokens/build/Jamfile.v2 +++ b/samples/cpp_tokens/build/Jamfile.v2 @@ -4,27 +4,28 @@ # # http://www.boost.org/ # -# Copyright (c) 2001-2010 Hartmut Kaiser. Distributed under the Boost -# Software License, Version 1.0. (See accompanying file +# Copyright (c) 2001-2010 Hartmut Kaiser. 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) +project : requirements /boost/wave//boost_wave ; + SOURCES = - ../cpp_tokens - ../instantiate_cpp_exprgrammar - ../instantiate_cpp_grammar + ../cpp_tokens + ../instantiate_cpp_exprgrammar + ../instantiate_cpp_grammar ../instantiate_cpp_literalgrs ../instantiate_defined_grammar ../instantiate_has_include_grammar - ../instantiate_slex_lexer + ../instantiate_slex_lexer ; exe cpp_tokens : $(SOURCES) - /boost/wave//boost_wave /boost/program_options//boost_program_options - /boost/filesystem//boost_filesystem - /boost/system//boost_system + /boost/filesystem//boost_filesystem + /boost/system//boost_system /boost/thread//boost_thread ; diff --git a/samples/list_includes/build/Jamfile.v2 b/samples/list_includes/build/Jamfile.v2 index ed72b8d..3e6b4d6 100644 --- a/samples/list_includes/build/Jamfile.v2 +++ b/samples/list_includes/build/Jamfile.v2 @@ -4,35 +4,39 @@ # # http://www.boost.org/ # -# Copyright (c) 2001-2010 Hartmut Kaiser. Distributed under the Boost -# Software License, Version 1.0. (See accompanying file +# Copyright (c) 2001-2010 Hartmut Kaiser. 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) SOURCES = ../list_includes - ../instantiate_cpp_exprgrammar - ../instantiate_cpp_grammar + ../instantiate_cpp_exprgrammar + ../instantiate_cpp_grammar ../instantiate_cpp_literalgrs ../instantiate_defined_grammar ../instantiate_has_include_grammar - ../instantiate_lexertl_lexer + ../instantiate_lexertl_lexer + ; + +project + : requirements + /boost/wave//boost_wave + /boost/program_options//boost_program_options/static + /boost/filesystem//boost_filesystem + /boost/system//boost_system + /boost/thread//boost_thread ; exe list_includes : $(SOURCES) - /boost/wave//boost_wave - /boost/program_options//boost_program_options/static - /boost/filesystem//boost_filesystem - /boost/system//boost_system - /boost/thread//boost_thread ; for local source in $(SOURCES) { local requirements ; # workaround for compiler bug - requirements += 7.1:off ; - requirements += 7.1_stlport4:off ; + requirements += 7.1:off ; + requirements += 7.1_stlport4:off ; obj $(source) : $(source).cpp : $(requirements) ; } diff --git a/samples/token_statistics/build/Jamfile.v2 b/samples/token_statistics/build/Jamfile.v2 index 14361a3..b415538 100644 --- a/samples/token_statistics/build/Jamfile.v2 +++ b/samples/token_statistics/build/Jamfile.v2 @@ -4,26 +4,31 @@ # # http://www.boost.org/ # -# Copyright (c) 2001-2010 Hartmut Kaiser. Distributed under the Boost -# Software License, Version 1.0. (See accompanying file +# Copyright (c) 2001-2010 Hartmut Kaiser. 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) -SOURCES = - ../token_statistics +SOURCES = + ../token_statistics ../instantiate_xlex_lexer ../instantiate_cpp_grammar ../instantiate_defined_grammar ../instantiate_has_include_grammar ; +project + : requirements + /boost/wave//boost_wave + /boost/program_options//boost_program_options/static + /boost/filesystem//boost_filesystem + /boost/system//boost_system + /boost/thread//boost_thread + /boost/xpressive//boost_xpressive + ; + exe token_statistics : $(SOURCES) - /boost/wave//boost_wave - /boost/program_options//boost_program_options/static - /boost/filesystem//boost_filesystem - /boost/system//boost_system - /boost/thread//boost_thread ; for local source in $(SOURCES) diff --git a/samples/waveidl/build/Jamfile.v2 b/samples/waveidl/build/Jamfile.v2 index 6a17bba..8efcb67 100644 --- a/samples/waveidl/build/Jamfile.v2 +++ b/samples/waveidl/build/Jamfile.v2 @@ -4,11 +4,11 @@ # # http://www.boost.org/ # -# Copyright (c) 2001-2010 Hartmut Kaiser. Distributed under the Boost -# Software License, Version 1.0. (See accompanying file +# Copyright (c) 2001-2010 Hartmut Kaiser. 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) -SOURCES = +SOURCES = ../idl ../instantiate_cpp_grammar ../instantiate_defined_grammar @@ -17,16 +17,20 @@ SOURCES = ../instantiate_re2c_lexer ../instantiate_re2c_lexer_str ../idllexer/idl_re - ; - + ; + +project + : requirements + /boost/wave//boost_wave + /boost/program_options//boost_program_options/static + /boost/system//boost_system + /boost/thread//boost_thread + /boost/filesystem//boost_filesystem + ; + exe waveidl : $(SOURCES) - /boost/wave//boost_wave - /boost/program_options//boost_program_options/static - /boost/system//boost_system - /boost/thread//boost_thread - /boost/filesystem//boost_filesystem ; for local source in $(SOURCES) diff --git a/test/build/Jamfile.v2 b/test/build/Jamfile.v2 index 683ab11..1e860f0 100644 --- a/test/build/Jamfile.v2 +++ b/test/build/Jamfile.v2 @@ -8,7 +8,11 @@ # Software License, Version 1.0. (See accompanying file # LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +require-b2 5.0.1 ; +import-search /boost/config/checks ; import config : requires ; +import project ; +import path ; # # These are the sources to compile for the testwave application @@ -22,9 +26,23 @@ SOURCES_DYNAMIC = testwave_dll testwave_app_dll SOURCES = $(SOURCE_STATIC) $(SOURCES_DYNAMIC) ; -path-constant TESTWAVE_DIR : $(BOOST_ROOT)/libs/wave/test/testwave/testfiles +path-constant TESTWAVE_DIR : ../testwave/testfiles ; +path-constant WAVE_INCLUDE_DIR : ../../include + ; + +path-constant SAMPLES_DIR : ../../samples + ; + +# +# We need the Boost Config project for the boost/version.hpp header file. +# +local boost-config-attributes + = [ project.attributes [ project.is-registered-id /boost/config ] ] ; +local BOOST_CONFIG_INCLUDE_DIR + = [ path.join [ $(boost-config-attributes).get location ] include ] ; + # # This are the arguments for the testwave executable # @@ -32,7 +50,8 @@ TESTWAVE_ARGUMENTS = -d4 # use -d4 for verbose results --hooks=1 # test hooks as well -S$(TESTWAVE_DIR) - -S$(BOOST_ROOT) -I$(BOOST_ROOT) + -S$(WAVE_INCLUDE_DIR) -I$(WAVE_INCLUDE_DIR) + -S$(BOOST_CONFIG_INCLUDE_DIR) -I$(BOOST_CONFIG_INCLUDE_DIR) ; # @@ -41,7 +60,7 @@ TESTWAVE_ARGUMENTS = TESTWAVE_FILES = test.cfg ; -project wave/test +project : requirements [ requires cxx11_constexpr @@ -51,6 +70,7 @@ project wave/test cxx11_hdr_mutex cxx11_hdr_regex ] + $(SAMPLES_DIR) ; for local source in $(SOURCES) @@ -58,6 +78,10 @@ for local source in $(SOURCES) local requirements ; requirements += 7.1:off ; # workaround for compiler bug requirements += 7.1_stlport4:off ; + requirements += + /boost/any//boost_any + /boost/program_options//boost_program_options + ; obj $(source) : ../testwave/$(source).cpp : $(requirements) ; } @@ -133,6 +157,7 @@ test-suite wave /boost/filesystem//boost_filesystem /boost/thread//boost_thread /boost/system//boost_system + /boost/xpressive//boost_xpressive : # arguments : @@ -211,6 +236,7 @@ test-suite wave /boost/filesystem//boost_filesystem /boost/thread//boost_thread /boost/system//boost_system + /boost/xpressive//boost_xpressive : # arguments : diff --git a/test/testlexers/test_lexertl_lexer.cpp b/test/testlexers/test_lexertl_lexer.cpp index da8ccf8..fb9b9b1 100644 --- a/test/testlexers/test_lexertl_lexer.cpp +++ b/test/testlexers/test_lexertl_lexer.cpp @@ -24,7 +24,7 @@ // include the lexertl lexer related stuff #include // token type -#include // lexer type +#include // lexer type typedef boost::wave::cpplexer::lex_token<> token_type; typedef boost::wave::cpplexer::lexertl::lex_iterator lexer_type; diff --git a/test/testlexers/test_slex_lexer.cpp b/test/testlexers/test_slex_lexer.cpp index 46331ba..7cfe124 100644 --- a/test/testlexers/test_slex_lexer.cpp +++ b/test/testlexers/test_slex_lexer.cpp @@ -27,8 +27,8 @@ /////////////////////////////////////////////////////////////////////////////// // include the Slex lexer related stuff -#include // token type -#include // lexer type +#include // token type +#include // lexer type typedef boost::wave::cpplexer::slex_token<> token_type; typedef boost::wave::cpplexer::slex::slex_iterator lexer_type; diff --git a/test/testlexers/test_xlex_lexer.cpp b/test/testlexers/test_xlex_lexer.cpp index 99f29a1..13fb9b5 100644 --- a/test/testlexers/test_xlex_lexer.cpp +++ b/test/testlexers/test_xlex_lexer.cpp @@ -26,8 +26,8 @@ /////////////////////////////////////////////////////////////////////////////// // include the Xpressive lexer related stuff #include // token type -#include // lexer type -#include // iterator +#include // lexer type +#include // iterator typedef boost::wave::cpplexer::lex_token<> token_type; typedef boost::wave::cpplexer::xlex::xlex_iterator lexer_type; diff --git a/tool/build/Jamfile.v2 b/tool/build/Jamfile.v2 index dff6030..a5b11ea 100644 --- a/tool/build/Jamfile.v2 +++ b/tool/build/Jamfile.v2 @@ -34,13 +34,14 @@ project exe wave : ../cpp.cpp - /boost//wave - /boost//program_options - /boost//filesystem - /boost//serialization - /boost//system - /boost//thread + /boost/wave//boost_wave + /boost/program_options//boost_program_options + /boost/filesystem//boost_filesystem + /boost/serialization//boost_serialization + /boost/system//boost_system + /boost/thread//boost_thread /boost/timer//boost_timer/static + /boost/foreach//boost_foreach : multi # on @@ -49,8 +50,8 @@ exe wave release ; -local bindir = [ option.get bindir : ../../../dist/bin ] ; -local libdir = [ option.get libdir : ../../../dist/lib ] ; +local bindir = [ option.get bindir : ../dist/bin ] ; +local libdir = [ option.get libdir : ../dist/lib ] ; install dist-bin :