Jamfile.v2 1.83 KB
# 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)

import ../../config/checks/config : requires ;

project boost/wave
    : 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
    ;

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)
    ../../filesystem/build//boost_filesystem
    ../../thread/build//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) ;
}

boost-install boost_wave ;