All Boost files, including the entire distribution tree including web
+ site HTML is maintained in a CVS repository. Command line, GUI, or browser
+ access is available.
+
+
Boost CVS access via command line or graphical clients
For those
+ who have CVS clients installed, the libraries are also available from the
+ public Boost CVS
+ repository. Free command line clients (often already installed on
+ Linux/Unix systems) are available for many systems, and free GUI clients
+ are available for Windows, Mac, and other systems.
+
+
See the much improved CVS documentation (Section
+ F) from SourceForge, which includes links to the home pages for various GUI
+ and command line clients.
+
+
The general procedure for command-line clients is something like
+ this:
+
+
+ cvs -d:pserver:anonymous@boost.cvs.sourceforge.net:/cvsroot/boost
+ login
+ [Hit <return> when it asks for a password]
+ cvs -z3 -d:pserver:anonymous@boost.cvs.sourceforge.net:/cvsroot/boost
+ checkout boost
+ cvs -d:pserver:anonymous@boost.cvs.sourceforge.net:/cvsroot/boost
+ logout
+
Read the manual for your CVS client for further information.
+
+
This access is read-only; if you are a library author and wish to have
+ CVS write access, please contact one of the moderators.
For access to the CVS archive from any modern web
+ browser, you can also use the web
+ browser interface. Try one of the color diffs to see how a
+ file has changed over time. Note: this interface is only suitable
+ for viewing individual files and their revision histories.
+
+
Some of the Boost documentation is generated from BoostBook XML source stored in the CVS
+ repository, and will not appear directly in the CVS tree as readable HTML.
+ View a nightly build of the generated HTML on the
+ Nightly Generated Documentation page. Where generated HTML is missing
+ from the CVS tree, an attempt has been made to include redirection to this
+ nightly build, but if you are away from an internet connection you may want
+ to download the generated documentation archive from the aforementioned
+ page so you can browse those documents offline.
+
+
From 08bd857c513fb84b81521b5e1e59384be81b7887 Mon Sep 17 00:00:00 2001
From: Dave Abrahams
Date: Wed, 3 Jan 2007 03:22:11 +0000
Subject: [PATCH 02/19] Fixes from Javier Estrada
[SVN r36566]
---
getting_started/detail/distro.rst | 4 ++--
getting_started/unix-variants.html | 8 ++++----
getting_started/windows.html | 8 ++++----
3 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/getting_started/detail/distro.rst b/getting_started/detail/distro.rst
index bf429a1..708dfd1 100644
--- a/getting_started/detail/distro.rst
+++ b/getting_started/detail/distro.rst
@@ -5,7 +5,7 @@
The Boost Distribution
======================
-This is is a sketch of the directory structure you'll end up with:
+This is a sketch of the resulting directory structure:
.. parsed-literal::
@@ -79,7 +79,7 @@ It's important to note the following:
#include "boost/\ *whatever*\ .hpp"
- depending on your religion as regards the use of angle bracket
+ depending on your preference regarding the use of angle bracket
includes. |forward-slashes|
4. Don't be distracted by the ``doc``\ |/| subdirectory; it only
diff --git a/getting_started/unix-variants.html b/getting_started/unix-variants.html
index f247ed7..1d4365f 100644
--- a/getting_started/unix-variants.html
+++ b/getting_started/unix-variants.html
@@ -89,7 +89,7 @@ from
This is is a sketch of the directory structure you'll end up with:
+
This is a sketch of the resulting directory structure:
boost_1_34_0\ .................The “boost root directory”index.htm .........A copy of www.boost.org starts here
@@ -144,7 +144,7 @@ Boost #include direct
#include "boost/whatever.hpp"
-
depending on your religion as regards the use of angle bracket
+
depending on your preference regarding the use of angle bracket
includes. Even Windows users can (and, for
portability reasons, probably should) use forward slashes in
#include directives; your compiler doesn't care.
From c0d59b6849b1c01cda9f7735dbadfabc83d111c1 Mon Sep 17 00:00:00 2001
From: John Maddock
Date: Thu, 11 Jan 2007 17:22:06 +0000
Subject: [PATCH 09/19] Update bbv2 instructions.
[SVN r36690]
---
separate_compilation.html | 143 +++++---------------------------------
1 file changed, 19 insertions(+), 124 deletions(-)
diff --git a/separate_compilation.html b/separate_compilation.html
index 3425be5..2a2f325 100644
--- a/separate_compilation.html
+++ b/separate_compilation.html
@@ -105,10 +105,10 @@ whatever get_whatever();
although you probably shouldn't need to:
- If you don't use these in the library source files (but do in your
- library's headers) and the user attempts to compile the library source with a
- non-default ABI setting, then they will get compiler errors if there are any
- conflicts.
+ If you don't
+ use these in the library source files (but do in your library's headers) and
+ the user attempts to compile the library source with a non-default ABI setting,
+ then they will get compiler errors if there are any conflicts.
If you do include them in both the library's headers and the library
source files, then the code should always compile no matter what the compiler
@@ -138,11 +138,11 @@ whatever get_whatever();
as to which is supported by default:
- On Unix platforms it typically makes no difference to the code: the user just
- selects in their makesfile which library they prefer to link to.
+ On Unix platforms it typically makes no difference to the code: the user just
+ selects in their makesfile which library they prefer to link to.
- On Windows platforms, the code has to be specially annotated to support DLL's,
- so we need to pick one option as the default and one as an alternative.
+ On Windows platforms, the code has to be specially annotated to support DLL's,
+ so we need to pick one option as the default and one as an alternative.
On Windows platforms, we can inject special code to automatically select which
library variant to link against: so again we need to decide which is to be the
@@ -357,122 +357,18 @@ libboost_regex-vc71-sgd-1_31.lib
Changes Affecting the Build System
Creating the library Jamfile
The Jamfile for building library "whatever" typically lives in
- boost-root/libs/whatever/build, start by defining the project root for the
- Jamfile:
-
subproject libs/whatever/build ;
-
Then add the static library build target (if supported):
-
lib
- boost_whatever
- : # list all the sources for this
- library:
- ../src/whatever.cpp
- : # all build requirements go
- here. # the "common-variant-tag" rule ensures that the library will
- # be named according to the rules used by the install
- # and auto-link features:
- common-variant-tag
- # set include path for Boost headers:
- <sysinclude>$(BOOST_ROOT)
- :
- # list default build variants here
- debug release
- ;
-
Then add the dll build target (if supported). In this case the build
- requirements section get an extra define: so that our sources know to export
- their own symbols (and import those from any other boost libs on which we may
- be dependent). We also restict shared library builds to dynamic-runtime
- build variants, if we don't do this then dll's linked against static runtimes
- are unlikely to function correctly (the dll will have a separate runtime from
- the executable using it, this generally causing problems with new and
- delete, as well as exception handling runtimes).
-
dll
- boost_whatever
- : # list all the sources for this
- library:
- ../src/whatever.cpp
- : # all build requirements go
- here. # the "common-variant-tag" rule ensures that the library will
- # be named according to the rules used by the install
- # and auto-link features:
- common-variant-tag
- # tell our source that we're building (and maybe using) dll's:
- <define>BOOST_ALL_DYN_LINK=1
- # only build this for dynamic runtimes:
- <runtime-link>dynamic
- # set include path for Boost headers:
- <sysinclude>$(BOOST_ROOT)
- :
- # list default build variants here
- debug release
- ;
-
-
Now add an install target so that Boost.Install can find this library to
- install:
Finally add a stage target that will copy the built libraries to a common
- sub-directory (boost-root/stage/lib):
-
stage stage/lib : <lib>boost_whatever <dll>boost_whatever
- :
- # copy to a path rooted at BOOST_ROOT:
- <locate>$(BOOST_ROOT)
- # make sure the names of the libraries are correctly named:
- common-variant-tag
- # add this target to the "stage" and "all" psuedo-targets:
- <target>stage
- <target>all
- :
- debug release
- ;
-
+ boost-root/libs/whatever/build, the only extra step required is to add a
+ <define> requirement to the library target so that your code knows
+ whether it's building a dll or static library, a typical Jamfile would like
+ like this:
+
Testing the auto-link feature reasonable straightforward using
- the Boost.build system: we need to build the "whatever" library's test
- files without explicitly specifying the library to link to in the Jamfile, for
- example:
-
subproject libs/whatever/test/auto-link-test ;
-
-# bring in the rules for testing
-import testing ;
-
-# start with a static linking version:
-
-run
- # sources
- ../whatever_test.cpp
- :
- : # input files
- : # requirements
- <library-path>../../../../stage/lib
- <define>BOOST_LIB_DIAGNOSTIC=1
- : # program name
- whatever_test
- ;
-
- # and then a dll linking version:
- run
- # sources
- ../whatever_test.cpp
- :
- : # input files
- : # requirements
- <library-path>../../../../stage/lib
- <define>BOOST_LIB_DIAGNOSTIC=1
- <define>BOOST_ALL_DYN_LINK=1
- <runtime-link>dynamic
- : # program name
- whatever_test_dll
- ;
-
-
-
Please note however that this Jamfile will only build with compilers that do
- actually support auto-linking, so it should not be added to the regular
- regression tests. The Jamfile should also be built for all possible build
- variants, for the Microsoft / Borland compilers that means doing a:
-
bjam -sBUILD="release debug <threading>multi/single <runtime-link>static/dynamic" test
-
+
Testing the auto-link feature is somewhat convoluted, and requires access
+ to a compiler that supports the feature: refer to
+ libs/config/test/link/test/Jamfile.v2 for an example.
Revised
@@ -487,4 +383,3 @@ run
attribution then please provide a link to this article.