⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serialization.jam

📁 C++的一个好库。。。现在很流行
💻 JAM
字号:
# Boost serialization Library Build Jamfile
#  (C) Copyright Robert Ramey 2002-2004.
#  Use, modification, and distribution are subject to 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)
#
#  See http://www.boost.org/libs/serialization for the library home page.

# building this library needs a working version of spirit
rule toolset::require-boost-spirit-support ( toolset variant : subvariant-path properties * )
{
    local requires-spirit = false ;
    switch $(toolset) {
    case "borland*" :
        requires-spirit = true ;
    case "msvc*" :
        requires-spirit = true ;
    case "iw*" :
        requires-spirit = true ;
    case "vc-6*" :
        requires-spirit = true ;
    case "vc7*" :
        requires-spirit = true ;
    case "vc-7_0*" :
        requires-spirit = true ;
    case "gcc-2*" :
        requires-spirit = true ;
    }
    if $(requires-spirit) = true {
        if  $(SPIRIT_ROOT) # && ( exist $(SPIRIT_ROOT) )
        {
            properties += <include>$(SPIRIT_ROOT) ;
        }
        else {
            echo **** spirit 1.6x required to build library with this compiler **** ;
            properties = [ impose-requirements $(properties) : <build>no ] ;
        }
    }
    return $(subvariant-path) $(properties) ;
}

# certain tool sets are known apriori not to support wide char i/o
rule toolset::require-wide-char-io-support ( toolset variant : subvariant-path properties * )
{
    switch $(toolset) {
    case "*cygwin" :
        echo **** wide char i/o not supported by cygwin gcc library **** ;
        properties = [ impose-requirements $(properties) : <build>no ] ;

    case "como*" :
        echo **** wide char i/o not supported by libcomo standard library **** ;
        properties = [ impose-requirements $(properties) : <build>no ] ;
    case "mingw*" :
        if ! [ MATCH "^([5][.][0])$" : [ get-values <stlport-version> : $(properties) ] ]
        {
            echo **** wide char i/o not supported by the mingw standard library **** ;
            properties = [ impose-requirements $(properties) : <build>no ] ;
        }
    }
    return $(subvariant-path) $(properties) ;
}

# certain tool sets are known apriori not to support creation of DLLS
rule toolset::require-shared-libraries-support ( toolset variant : subvariant-path properties * )
{
    switch $(toolset) {
    case "como*" :
        echo **** DLLs cannot be built with this compiler **** ;
        properties = [ impose-requirements $(properties) : <build>no ] ;
    case "msvc-stlport*" :
        echo **** DLLs cannot be built with this compiler and stlport 4.x **** ;
        properties = [ impose-requirements $(properties) : <build>no ] ;
    case "vc-6_5-stlport*" :
        echo **** DLLs cannot be built with this compiler and stlport 4.x **** ;
        properties = [ impose-requirements $(properties) : <build>no ] ;
    case "cw*" :
        local runtime-link = [ get-values <runtime-link> : $(properties) ] ;
        if static in $(runtime-link) {
            echo **** locale support only exists with static runtime linking **** ;
            echo **** DLLS cannot be built with static runtime linking **** ;
            properties = [ impose-requirements $(properties) : <build>no ] ;
        }
    }
    return $(subvariant-path) $(properties) ;
}

# certain tool sets display warnings which are not applicable to the serialization library
rule toolset::suppress-warnings ( toolset variant : subvariant-path properties * )
{
    switch $(toolset) {
    case "vc-8*" :
        properties = [ impose-requirements $(properties) : <cxxflags>"-wd4996" ] ;    
    case "*cygwin*" :
        properties = [ impose-requirements $(properties) : <cxxflags>"-Wno-non-virtual-dtor -Wno-ctor-dtor-privacy" ] ;
    case "gcc*" :
        properties = [ impose-requirements $(properties) : <cxxflags>"-Wno-non-virtual-dtor -Wno-ctor-dtor-privacy" ] ;
    case "mingw*" :
        properties = [ impose-requirements $(properties) : <cxxflags>"-Wno-non-virtual-dtor -Wno-ctor-dtor-privacy" ] ;
    case "borland*" :
        properties = [ impose-requirements $(properties) : <cxxflags>"-w-8080 -w-8071 -w-8057 -w-8062 -w-8008 -w-0018 -w-8066" ] ;
    }
    return $(subvariant-path) $(properties) ;
}

# set optimization switches for certain toolsets. We do it here rather than in the
# Jamfile requirements because here we can use a regex for the compiler name.
rule toolset::optimizations ( toolset variant : subvariant-path properties * )
{
    switch $(toolset) {
    case "vc*" :
        properties = [ impose-requirements $(properties) : <cxxflags>"-Gy" ] ;    
    case "msvc" :
        properties = [ impose-requirements $(properties) : <cxxflags>"-Gy" ] ;
    }
    return $(subvariant-path) $(properties) ;
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -