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

📄 bootstrap.jam

📁 Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
💻 JAM
字号:
# Copyright 2003 Dave Abrahams # Copyright 2003, 2005, 2006 Rene Rivera # Copyright 2003, 2005, 2006 Vladimir Prus # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) # First of all, check the jam versionif $(JAM_VERSION:J="") < 030112{    ECHO "error: Boost.Jam version 3.1.12 or later required" ;    EXIT ;}local required-rules = GLOB-RECURSIVELY HAS_NATIVE_RULE ;for local r in $(required-rules){    if ! $(r) in [ RULENAMES ]    {        ECHO "error: builtin rule '$(r)' is not present" ;        ECHO "error: your version of bjam is likely out of date" ;        ECHO "error: please get a fresh version from CVS." ;        EXIT ;    }}local native =    regex transform 2    ;while $(native){    if ! [ HAS_NATIVE_RULE $(native[1]) :                           $(native[2]) :               $(native[3]) ]    {        ECHO "error: missing native rule '$(native[1]).$(native[2])'" ;        ECHO "error: or interface version of that rule is too low" ;        ECHO "error: your version of bjam is likely out of date" ;        ECHO "error: please get a fresh version from CVS." ;        EXIT ;    }    native = $(native[4-]) ;}# Check that the builtin .ENVIRON module is present. We don't have a# builtin to check that a module is present, so we assume that the PATH# environment variable is always set and verify that the .ENVIRON module# has non-empty value of that variable.module .ENVIRON{    local p = $(PATH) $(Path) $(path) ;    if ! $(p)    {        ECHO "error: no builtin module .ENVIRON is found" ;        ECHO "error: your version of bjam is likely out of date" ;        ECHO "error: please get a fresh version from CVS." ;        EXIT ;    }}# Check that @() functionality is present. Similarly to modules,# we don't have a way to test that directly. Instead we check that# $(TMPNAME) functionality is present which was added at roughly# the same time (more precisely it was added just before).{    if ! $(TMPNAME)    {        ECHO "error: no @() functionality found" ;        ECHO "error: your version of bjam is likely out of date" ;        ECHO "error: please get a fresh version from CVS." ;        EXIT ;    }}# Bootstrap the module system. Then bring the import rule into the global module.#SEARCH on <module@>modules.jam = $(.bootstrap-file:D) ;module modules { include <module@>modules.jam ; }IMPORT modules : import : : import ;{    # Add module subdirectories to the BOOST_BUILD_PATH, which allows    # us to make an incremental refactoring step by moving modules to    # the appropriate subdirectories, thereby achieving some physical    # separation of different layers without changing all of our code    # to specify subdirectories in import statements or use an extra    # level of qualification on imported names.    local subdirs =      kernel        # only the most-intrinsic modules: modules, errors      util          # low-level substrate: string/number handling, etc.      build         # essential elements of the build system architecture      tools         # toolsets for handling specific build jobs and targets.      contrib       # user contributed (unreviewed) modules      .             # build-system.jam lives here      ;    local whereami = [ NORMALIZE_PATH $(.bootstrap-file:DT) ] ;    BOOST_BUILD_PATH += $(whereami:D)/$(subdirs) ;    modules.poke .ENVIRON : BOOST_BUILD_PATH : $(BOOST_BUILD_PATH) ;}# Reload the modules, to clean up things. The modules module can tolerate# being included twice.#import modules ;# Process option plugins first to alow them to prevent loading# the rest of the build system.#import option ;local dont-build = [ option.process ] ;# Should we skip building, i.e. loading the build system, according# to the options processed?#if ! $(dont-build){    # Allow users to override the build system file from the    # command-line (mostly for testing)    local build-system = [ MATCH --build-system=(.*) : $(ARGV) ] ;    build-system ?= build-system ;    # Use last element in case of multiple command-line options    import $(build-system[-1]) ;}

⌨️ 快捷键说明

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