2
0
mirror of https://github.com/boostorg/wave.git synced 2026-01-19 04:42:16 +00:00
Files
wave/build/Jamfile.v2
René Ferdinand Rivera Morell 7ce8b53d9d Add support for modular build structure. (#214)
* Make the library modular usable.

* Switch to library requirements instead of source. As source puts extra source in install targets.

* Add wave tool build to all target.

* Add missing NO_LIB usage requirements.

* Add requires-b2 check to top-level build file.

* Bump B2 require to 5.2

* Change all <source> references to <library>.

* Move inter-lib dependencies to a project variable and into the build targets.

* Update build deps.
2024-08-26 22:01:03 -07:00

77 lines
1.9 KiB
Plaintext

# Boost.Wave: A Standard compliant C++ preprocessor library
#
# Boost Wave Library Build Jamfile
#
# http://www.boost.org/
#
# 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)
require-b2 5.0.1 ;
import-search /boost/config/checks ;
import config : requires ;
project
: common-requirements <library>$(boost_dependencies)
: requirements
[ requires
cxx11_constexpr
cxx11_variadic_templates
cxx11_rvalue_references
cxx11_hdr_thread
cxx11_hdr_mutex
cxx11_hdr_regex
]
<link>shared:<define>BOOST_ALL_DYN_LINK=1
<link>static:<define>BOOST_THREAD_USE_LIB=1
<toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE
<toolset>msvc:<define>_CRT_SECURE_NO_DEPRECATE
: source-location ../src
: usage-requirements
<define>BOOST_ALL_NO_LIB=1
;
SOURCES =
instantiate_cpp_exprgrammar
instantiate_cpp_grammar
instantiate_cpp_literalgrs
instantiate_defined_grammar
instantiate_has_include_grammar
instantiate_predef_macros
instantiate_re2c_lexer
instantiate_re2c_lexer_str
token_ids
wave_config_constant
cpplexer/re2clex/aq
cpplexer/re2clex/cpp_re
;
lib boost_wave
:
$(SOURCES)
/boost/filesystem//boost_filesystem
/boost/thread//boost_thread
;
for local source in $(SOURCES)
{
local requirements ;
# workaround for compiler bug
requirements += <toolset-msvc:version>7.1:<rtti>off ;
requirements += <toolset-msvc:version>7.1_stlport4:<rtti>off ;
if $(source) in cpplexer/re2clex/cpp_re
{
requirements += <warnings>off ;
}
if $(source) in instantiate_re2c_lexer instantiate_re2c_lexer_str
{
requirements += <toolset>msvc-8.0:<define>_CRT_SECURE_NO_WARNINGS ;
}
obj $(source) : $(source).cpp : $(requirements) ;
}