From 56a7244dd3468f083c06e980097f3bb80cf1992b Mon Sep 17 00:00:00 2001 From: Dave Abrahams Date: Thu, 16 May 2002 00:56:42 +0000 Subject: [PATCH] Merged from RC_1_28_0 [SVN r13944] --- architecture.html | 7 +- boost-base.jam | 8 +- build_system.htm | 317 ++++++++---------- features.jam | 2 + gcc-nocygwin-tools.html | 234 +++++++++++++ gcc-nocygwin-tools.jam | 83 +++++ gcc-stlport-tools.html | 10 +- gcc-tools.html | 4 +- gcc-tools.jam | 2 + index.html | 278 ++++++++++----- intel-linux-tools.html | 2 +- kcc-tools.html | 4 +- kcc-tools.jam | 15 +- metrowerks-tools.jam | 2 +- mipspro-tools.html | 2 +- msvc-stlport-tools.html | 150 +++++++++ msvc-stlport-tools.jam | 4 +- msvc-tools.html | 69 ++++ msvc-tools.jam | 31 +- python.jam | 11 +- .../boost-root/tools/build/boost-build.jam | 2 + v1/boost-base.jam | 8 +- v1/build_system.htm | 317 ++++++++---------- v1/features.jam | 2 + v1/gcc-nocygwin-tools.html | 234 +++++++++++++ v1/gcc-nocygwin-tools.jam | 83 +++++ v1/gcc-stlport-tools.html | 10 +- v1/gcc-tools.html | 4 +- v1/gcc-tools.jam | 2 + v1/index.html | 278 ++++++++++----- v1/intel-linux-tools.html | 2 +- v1/kcc-tools.html | 4 +- v1/kcc-tools.jam | 15 +- v1/metrowerks-tools.jam | 2 +- v1/mipspro-tools.html | 2 +- v1/msvc-stlport-tools.html | 150 +++++++++ v1/msvc-stlport-tools.jam | 4 +- v1/msvc-tools.html | 69 ++++ v1/msvc-tools.jam | 31 +- v1/python.jam | 11 +- v1/variables.html | 147 +------- v2/architecture.html | 7 +- .../boost-root/tools/build/boost-build.jam | 2 + variables.html | 147 +------- 44 files changed, 1860 insertions(+), 908 deletions(-) create mode 100644 gcc-nocygwin-tools.html create mode 100644 gcc-nocygwin-tools.jam create mode 100644 msvc-stlport-tools.html create mode 100644 msvc-tools.html create mode 100644 test/startup/boost-root/tools/build/boost-build.jam create mode 100644 v1/gcc-nocygwin-tools.html create mode 100644 v1/gcc-nocygwin-tools.jam create mode 100644 v1/msvc-stlport-tools.html create mode 100644 v1/msvc-tools.html create mode 100644 v2/test/startup/boost-root/tools/build/boost-build.jam diff --git a/architecture.html b/architecture.html index 0156b2cf4..2351eca5d 100644 --- a/architecture.html +++ b/architecture.html @@ -62,11 +62,12 @@ above covers most of it. where the user wants to declare a project-id. -

Initialization

+

Initialization

- We check the name used to invoke Jam, and if the name is not the recognized - Boost.Jam invocation we continue with the execution of the builtin Jambase. + We check the name used to invoke Jam, and if the name is not the + recognized Boost.Jam invocation ("bjam") we + continue with the execution of the builtin Jambase.

diff --git a/boost-base.jam b/boost-base.jam index e5102736f..8139748ff 100644 --- a/boost-base.jam +++ b/boost-base.jam @@ -1598,6 +1598,9 @@ rule subvariant-target ( target : subvariant-id build-properties * : toolset var # Remember the path from the build root to the subvariant directory gSUBVARIANT_PATH($(subvariant)) = $(subvariant-id) ; + # Add target suppression if was in the requirements + local gSUPPRESS_FAKE_TARGETS = [ get-values : $(gTARGET_REQUIREMENTS($(target))) ] $(gSUPPRESS_FAKE_TARGETS) ; + declare-fake-targets $(target) : $(target-files) ; # set up gBUILD_PROPERTIES for include-tools (below) @@ -1642,7 +1645,7 @@ rule subvariant-target ( target : subvariant-id build-properties * : toolset var depend-on-libraries $(target-files) : $(libs) ; depend-on-dlls $(target-files) : $(dlls) ; } - + # dispatch to the appropriate declaration function. Here we are using an # FTJam-only feature (thanks, David Turner!) local ignored = [ $(gGENERATOR_FUNCTION($(target-type))) $(target-files) @@ -1783,6 +1786,9 @@ rule unit-test # Used to build command files from a list of sources. rule build-command-file ( command : sources * ) { + # Clean up after ourselves + Clean clean : $(command) ; + DEPENDS $(command) : $(sources) ; # Check whether there's anything to dump, so that we don't end up diff --git a/build_system.htm b/build_system.htm index adb70e7df..a78a3d016 100644 --- a/build_system.htm +++ b/build_system.htm @@ -16,7 +16,7 @@

Synopsis

Boost.Build is a system for large project software construction built on - Boost Jam, a descendant of "Perforce Jam", an open-source make replacement[1]. Key features are: @@ -41,6 +41,19 @@

  • Automatic building of subproject dependencies +

    Status

    + + Boost.Build v1 is a useful, mature system. However, its design and + structure are not easily adapted to support some of the features + we'd like to see in the future. To this end, the Boost.Build + developers have begun work on v2 of Boost.Build, which will be + based around this + design document. If you are + interested in contributing to this effort or you wish to discuss + the design of Boost.Build, please post inquiries to the jamboost + mailing list at yahoogroups. +

    Here are some of the design criteria that led to these features. @@ -49,11 +62,13 @@