diff --git a/build_system.htm b/build_system.htm index 0d7f95efe..42b438331 100644 --- a/build_system.htm +++ b/build_system.htm @@ -2,6 +2,8 @@
+ @@ -131,6 +133,8 @@ +bjam "-sBUILD=<define>BOOST_POSIX"bjam "-sBUILD=<define>BOOST_POSIX"++ The location specifies the location of a Jamfile in which a + dependency target called+dependency-target -> type-tag location target-name + +type-tag -> "<template>" | "<lib>" | "<dll>" | "<exe>" + +location -> ( @project-id/ )? relative-path + +relative-path -> ( path-element/ ) * ++
target-name can be
+ found, declared with the given type-tag. If
+ @project-id is specified, the
+ relative-path is interpreted with respect to the root
+ directory of the specified
+ project. Otherwise, it is interpreted with respect to the
+ directory of the current Jamfile.
+
+ The dependency's type-tag is also used to decide how to + link to it when needed. <lib> targets are linked + statically and <dll> targets are linked dynamically. + On Unix platforms dynamic linking will use (the appropriate platform + equivalent of) LD_LIBRARY_PATH and the "-l" linker + flag to avoid creating executables which expect to find dynamic + libraries in particular locations in the filesystem.
+ +NOTE: It is important to match the type-tag
+ dependency with the type of the dependency target. Trying to specify
+ a type-tag of <lib> when the target is defined
+ as a <dll> will cause an error.
+
+
@@ -1046,6 +1073,31 @@ exe fop : <template>executable fop.cpp ;
variant.project rule to declare a project id
+ and location for the external project. Then add the appropriate
+ external dependency target specification to your program's list of
+ sources. For example, if you are developing a program which uses
+ the Boost.Threads library, you might write
+
+++ + in your Jamrules file, and place + ++project boost : /home/dave/boost-cvs ; ++
++ + in your target's list of sources. +++@boost/libs/thread/build/boost_thread +
Features are described by stating the feature type (simple features @@ -1293,10 +1345,10 @@ flags msvc HDRS <include> ;
Please note that the build system commonly takes advantage of Jam's - Dynamic Scoping feature (see the local command in the "Flow - of Control" section below the link target) to temporarily "change" a - global variable by declaring a local of the same name.
+ "jam_src/Jam.html#bindingmods">Jam's Dynamic Scoping feature (see the + local command in the "Flow of Control" section below the link + target) to temporarily "change" a global variable by declaring a + local of the same name.Many of the variables that are used to configure how Boost.Build works internally are listed here with brief @@ -1407,9 +1459,9 @@ flags msvc HDRS <include> ;
Revised 1 July, 2003 + -->8 September, 2003 + -->
diff --git a/v1/build_system.htm b/v1/build_system.htm index 0d7f95efe..42b438331 100644 --- a/v1/build_system.htm +++ b/v1/build_system.htm @@ -2,6 +2,8 @@ + @@ -131,6 +133,8 @@ +bjam "-sBUILD=<define>BOOST_POSIX"bjam "-sBUILD=<define>BOOST_POSIX"++ The location specifies the location of a Jamfile in which a + dependency target called+dependency-target -> type-tag location target-name + +type-tag -> "<template>" | "<lib>" | "<dll>" | "<exe>" + +location -> ( @project-id/ )? relative-path + +relative-path -> ( path-element/ ) * ++
target-name can be
+ found, declared with the given type-tag. If
+ @project-id is specified, the
+ relative-path is interpreted with respect to the root
+ directory of the specified
+ project. Otherwise, it is interpreted with respect to the
+ directory of the current Jamfile.
+
+ The dependency's type-tag is also used to decide how to + link to it when needed. <lib> targets are linked + statically and <dll> targets are linked dynamically. + On Unix platforms dynamic linking will use (the appropriate platform + equivalent of) LD_LIBRARY_PATH and the "-l" linker + flag to avoid creating executables which expect to find dynamic + libraries in particular locations in the filesystem.
+ +NOTE: It is important to match the type-tag
+ dependency with the type of the dependency target. Trying to specify
+ a type-tag of <lib> when the target is defined
+ as a <dll> will cause an error.
+
+
@@ -1046,6 +1073,31 @@ exe fop : <template>executable fop.cpp ;
variant.project rule to declare a project id
+ and location for the external project. Then add the appropriate
+ external dependency target specification to your program's list of
+ sources. For example, if you are developing a program which uses
+ the Boost.Threads library, you might write
+
+++ + in your Jamrules file, and place + ++project boost : /home/dave/boost-cvs ; ++
++ + in your target's list of sources. +++@boost/libs/thread/build/boost_thread +
Features are described by stating the feature type (simple features @@ -1293,10 +1345,10 @@ flags msvc HDRS <include> ;
Please note that the build system commonly takes advantage of Jam's - Dynamic Scoping feature (see the local command in the "Flow - of Control" section below the link target) to temporarily "change" a - global variable by declaring a local of the same name.
+ "jam_src/Jam.html#bindingmods">Jam's Dynamic Scoping feature (see the + local command in the "Flow of Control" section below the link + target) to temporarily "change" a global variable by declaring a + local of the same name.Many of the variables that are used to configure how Boost.Build works internally are listed here with brief @@ -1407,9 +1459,9 @@ flags msvc HDRS <include> ;
Revised 1 July, 2003 + -->8 September, 2003 + -->