From: Rene Rivera (grafik666_at_[hidden])
Date: 2002-01-22 12:05:42
How's the following for the "Initialization" section...
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 Perforce builting
Otherwise, when we recognize a Boost.Jam invocation, we:
1. We search for "project-root.jam" from the invocation directory up to
the root of the file-system. When found its location is noted as the
PROJECT_ROOT. If not found we exit with an appropriate error message.
2. We load "project-root.jam", within it one can call the "boost-build"
rule to indicate where to find the Boost.Build files. The "boost-build" rule
does two things: a) pushes the given path onto the BOOST_BUILD_PATH (if
given), b) attempts to load the build system.
3. If the build system isn't loaded yet, load it at this time by invoking
4. Finally we load the Jamfile in the invocation directory.
This procedure has the effect of allowing both simple and complex setup. In
the "project-root.jam" it's possible to obtain control of the build system
both before the system is loaded and before the Jamfile is loaded.
To answer your FTJam concern, I would suggest we dump the FTJAm Jambase
entirely and use the Perforce one instead. Since we are only using it to build
jam itself we should only need the functionality from the release. Or does the
Jamfile in jam_src use FTJam functionality?
Naming conventions... given that we want "clean up" the use of user
configurable variables we should define some naming conventions. Specifically
for the initialization there would need to be two variables for possibly
overriding the default names for "project-root.jam" and "Jamfile". Possibly
BOOST_BUILD_PROJECT_ROOT_FILE and BOOST_BUILD_PROJECT_FILE?
With that in mind one question is wether we want to support multiple file
names? That is do we search for both "Jamfile" and "project.jam"?
-- grafik - Don't Assume Anything
-- rrivera_at_[hidden] - grafik_at_[hidden]
-- 102708583_at_icq - Grafik666_at_AIM - Grafik_at_[hidden]
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk