diff --git a/getting_started/detail/build-from-source-head.rst b/getting_started/detail/build-from-source-head.rst index f031648..707a95e 100644 --- a/getting_started/detail/build-from-source-head.rst +++ b/getting_started/detail/build-from-source-head.rst @@ -39,7 +39,10 @@ Identify Your Toolset ..................... First, find the toolset corresponding to your compiler in the -following table. +following table (an up-to-date list is always available `in the +Boost.Build documentation`__). + +__ http://www.boost.org/boost-build2/doc/html/bbv2/reference/tools.html .. Note:: If you previously chose a toolset for the purposes of `building bjam`_, you should assume it won't work and instead @@ -60,10 +63,10 @@ following table. | | |require configuring__ another| | | |toolset to act as its backend| +-----------+--------------------+-----------------------------+ -|``cw`` |Metrowerks/FreeScale|The CodeWarrior compiler. We| +|``cw`` |Metrowerks/Freescale|The CodeWarrior compiler. We| | | |have not tested versions of | | | |this compiler produced since | -| | |it was sold to FreeScale. | +| | |it was sold to Freescale. | +-----------+--------------------+-----------------------------+ |``dmc`` |Digital Mars |As of this Boost release, no | | | |version of dmc is known to | @@ -82,8 +85,6 @@ following table. +-----------+--------------------+-----------------------------+ |``intel`` |Intel | | +-----------+--------------------+-----------------------------+ -|``kylix`` |Borland | | -+-----------+--------------------+-----------------------------+ |``msvc`` |Microsoft | | +-----------+--------------------+-----------------------------+ |``qcc`` |QNX Software Systems| | @@ -126,4 +127,10 @@ invoke ``bjam`` as follows: .. parsed-literal:: - bjam **--build-dir=**\ |build-directory|_ **--toolset=**\ |toolset-name|_ |build-type-complete| stage + bjam **--build-dir=**\ |build-directory|_ **toolset=**\ |toolset-name|_ |build-type-complete| stage + +For a complete description of these and other invocation options, +please see the `Boost.Build documentation`__. + +__ http://www.boost.org/boost-build2/doc/html/bbv2/advanced/invocation.html + diff --git a/getting_started/detail/build-from-source-tail.rst b/getting_started/detail/build-from-source-tail.rst index c8377ad..0168c34 100644 --- a/getting_started/detail/build-from-source-tail.rst +++ b/getting_started/detail/build-from-source-tail.rst @@ -3,7 +3,7 @@ .. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Building the special ``stage`` target places Boost -library binaries in the ``stage``\ |/| subdirectory of your `build +library binaries in the ``stage``\ |/|\ ``lib``\ |/| subdirectory of your `build directory`_. .. Note:: ``bjam`` is case-sensitive; it is important that all the @@ -65,8 +65,8 @@ __ ../../libs/iostreams/doc/installation.html If it seems like the build system can't find your compiler and/or linker, consider setting up a ``user-config.jam`` file as described -in the `Boost.Build documentation`_. If that isn't your problem or -the ``user-config.jam`` file doesn't work for you, please address -questions about configuring Boost for your compiler to the -`Boost.Build mailing list`_. +`here`__. If that isn't your problem or the ``user-config.jam`` file +doesn't work for you, please address questions about configuring Boost +for your compiler to the `Boost.Build mailing list`_. +__ http://www.boost.org/boost-build2/doc/html/bbv2/advanced/configuration.html diff --git a/getting_started/detail/header-only.rst b/getting_started/detail/header-only.rst index c1f1dd3..d26168e 100644 --- a/getting_started/detail/header-only.rst +++ b/getting_started/detail/header-only.rst @@ -27,6 +27,7 @@ The only Boost libraries that *must* be built separately are: * Boost.Regex_ * Boost.Serialization_ * Boost.Signals_ +* Boost.System_ * Boost.Thread_ * Boost.Wave_ diff --git a/getting_started/detail/links.rst b/getting_started/detail/links.rst index f4a1819..56e6fe9 100644 --- a/getting_started/detail/links.rst +++ b/getting_started/detail/links.rst @@ -11,6 +11,7 @@ .. _Boost.Regex: ../../libs/regex/index.html .. _Boost.Serialization: ../../libs/serialization/index.html .. _Boost.Signals: ../../libs/signals/index.html +.. _Boost.System: ../../libs/system/index.html .. _Boost.Test: ../../libs/test/index.html .. _Boost.Thread: ../../doc/html/thread.html .. _Boost.Wave: ../../libs/wave/index.html diff --git a/getting_started/index.html b/getting_started/index.html index 86a98dd..d1b1cfe 100644 --- a/getting_started/index.html +++ b/getting_started/index.html @@ -3,32 +3,31 @@
- +Use the latest version of this Getting Started guide
-The Boost website version of this Getting Started guide may +
The Boost website version of this Getting Started guide may have undated information, such as the location of additional installers or improved installation procedures, so you might want use that version if you've got an Internet connection available.
Welcome to the Boost libraries! By the time you've completed this tutorial, you'll be at least somewhat comfortable with the contents of a Boost distribution and how to go about using it.
This document is designed to be an extremely gentle introduction, so we included a fair amount of material that may already be very familiar to you. To keep things simple, we also left out some @@ -36,8 +35,8 @@ information intermediate and advanced users will probably want. At the end of this document, we'll refer you on to resources that can help you pursue these topics further.
We use one typographic convention that might not be immediately obvious: italic text in examples is meant as a descriptive placeholder for something else, usually information that you'll @@ -48,16 +47,16 @@ provide. For example:
Here you're expected to imagine replacing the text “your name” with your actual name.
Let's go!
Index
+The most reliable way to get a copy of Boost is to download a -distribution from SourceForge:
+distribution from SourceForge:Download boost_1_39_0.tar.bz2.
+Download boost_1_39_0.tar.bz2.
In the directory where you want to put the Boost installation, execute
@@ -79,16 +78,16 @@ library packages, however you may need to adapt these instructions if you use third-party packages, because their creators usually choose to break Boost up into several packages, reorganize the directory structure of the Boost distribution, -and/or rename the library binaries.1 If you have +and/or rename the library binaries.1 If you have any trouble, we suggest using an official Boost distribution -from SourceForge. +from SourceForge.This is a sketch of the resulting directory structure:
boost_1_39_0/ .................The “boost root directory”
@@ -123,7 +122,7 @@ the Python library's def.hpp
Some libraries have an “aggregate header” in boost/ that
#includes all of the library's other headers. For
-example, Boost.Python's aggregate header is
+example, Boost.Python's aggregate header is
boost/python.hpp.
@@ -165,8 +164,8 @@ contains a subset of the Boost documentation. Start with
The first thing many people want to know is, “how do I build Boost?” The good news is that often, there's nothing to build.
The only Boost libraries that must be built separately are:
A few libraries have optional separately-compiled binaries:
To keep things simple, let's start by using a header-only library. The following program reads a sequence of integers from standard input, uses Boost.Lambda to multiply each number by three, and @@ -239,84 +239,85 @@ echo 1 2 3 | ./example -
Don't be alarmed if you see compiler warnings originating in Boost headers. We try to eliminate them, but doing so isn't always -practical.3 Errors are another matter. If you're +practical.3 Errors are another matter. If you're seeing compilation errors at this point in the tutorial, check to -be sure you've copied the example program correctly and that you've -correctly identified the Boost root directory.
+be sure you've copied the example program correctly and that you've +correctly identified the Boost root directory.If you want to use any of the separately-compiled Boost libraries, you'll need to acquire library binaries.
-Issue the following commands in the shell (don't type $; that represents the shell's prompt):
$ cd path/to/boost_1_39_0
-$ ./configure --help
+$ ./bootstrap.sh --help
-Select your configuration options and invoke ./configure again +
Select your configuration options and invoke ./bootstrap.sh again without the --help option. Unless you have write permission in your system's /usr/local/ directory, you'll probably want to at least use
-$ ./configure --prefix=path/to/installation/prefix +$ ./bootstrap.sh --prefix=path/to/installation/prefix
to install somewhere else. Also, consider using the --show-libraries and --with-libraries= options to limit the long wait you'll experience if you build everything. Finally,
-$ make install +$ ./bjam install
will leave Boost binaries in the lib/ subdirectory of your installation prefix. You will also find a copy of the Boost headers in the include/ subdirectory of the installation prefix, so you can henceforth use that directory as an #include path in place of the Boost root directory.
- +If you're using a compiler other than your system's default, you'll -need to use Boost.Build to create binaries. You'll also +need to use Boost.Build to create binaries. You'll also use this method if you need a nonstandard build variant (see the -Boost.Build documentation for more details).
+Boost.Build documentation for more details). -Boost.Build is a text-based system for developing, testing, and +
Boost.Build is a text-based system for developing, testing, and installing software. To use it, you'll need an executable called bjam.
-bjam is the command-line tool that drives the Boost Build system. To build Boost binaries, you'll invoke bjam from the Boost root.
-We suggest you download a pre-built bjam executable for your platform.
-Alternatively, you can build bjam yourself using these
+ We suggest you download a pre-built bjam executable for your platform.
+Alternatively, you can build bjam yourself using these
instructions. Move the bjam executable into a directory in your PATH. You can
see the list of directories in your PATH, separated by colons,
by typing “echo $PATH” at the command prompt.
First, find the toolset corresponding to your compiler in the -following table.
+following table (an up-to-date list is always available in the +Boost.Build documentation).Note
If you previously chose a toolset for the purposes of -building bjam, you should assume it won't work and instead +building bjam, you should assume it won't work and instead choose newly from the table below.
como | Comeau Computing | Using this toolset may -require configuring another +require configuring another toolset to act as its backend | |
cw | -Metrowerks/FreeScale | +Metrowerks/Freescale | The CodeWarrior compiler. We have not tested versions of this compiler produced since -it was sold to FreeScale. | +it was sold to Freescale.
dmc | Digital Mars | @@ -382,10 +383,6 @@ operating system.Intel | |
kylix | -Borland | -- | |
msvc | Microsoft | @@ -411,32 +408,34 @@ you can append the version number to the toolset name, preceded by a hyphen, e.g. intel-9.0 or borland-5.4.3. - | using debug versions of the standard and runtime support libraries. |
y | -using a special debug build of Python. | +using a special debug build of Python. | |
d | -building a debug version of your code.5 | +building a debug version of your code.5 | |
p | using the STLPort standard library rather than the default one supplied with your compiler. | ||
n | -using STLPort's deprecated “native iostreams” feature.6 | +using STLPort's deprecated “native iostreams” feature.6 |
To test our subject extraction, we'll filter the following text file. Copy it out of your browser and save it as jayne.txt:
@@ -697,23 +695,23 @@ Spoil Rock Hunter?”
This concludes your introduction to Boost and to integrating it with your programs. As you start using Boost in earnest, there are surely a few additional points you'll wish we had covered. One day we may have a “Book 2 in the Getting Started series” that addresses them. Until then, we suggest you pursue the following resources. If you can't find what you need, or there's anything we can do to -make this document clearer, please post it to the Boost Users' +make this document clearer, please post it to the Boost Users' mailing list.
Onward
@@ -726,16 +724,17 @@ mailing list.[1] | If developers of Boost packages would like to work + |
[1] | If developers of Boost packages would like to work with us to make sure these instructions can be used with their packages, we'd be glad to help. Please make your interest known -to the Boost developers' list. |
[2] | That option is a dash followed by a lowercase “L” + |
[2] | That option is a dash followed by a lowercase “L” character, which looks very much like a numeral 1 in some fonts. |
[3] | Remember that warnings are specific to each compiler + | ||||||||||||||||
[3] | Remember that warnings are specific to each compiler implementation. The developer of a given Boost library might not have access to your compiler. Also, some warnings are extremely difficult to eliminate in generic code, to the point @@ -756,7 +755,7 @@ have any source code mechanism for suppressing warnings. |
[4] | This convention distinguishes the static version of + | ||||||||||||||||
[4] | This convention distinguishes the static version of a Boost library from the import library for an identically-configured Boost DLL, which would otherwise have the same name. |
[5] | These libraries were compiled without optimization + | ||||||||||||||||
[5] | These libraries were compiled without optimization or inlining, with full debug symbols enabled, and without NDEBUG #defined. Although it's true that sometimes these choices don't affect binary compatibility with other @@ -775,7 +774,7 @@ compiled code, you can't count on that with Boost libraries. |
[6] | This feature of STLPort is deprecated because it's + | ||||||||||||||||
[6] | This feature of STLPort is deprecated because it's impossible to make it work transparently to the user; we don't recommend it. |
como | Comeau Computing | Using this toolset may -require configuring another +require configuring another toolset to act as its backend | |
cw | -Metrowerks/FreeScale | +Metrowerks/Freescale | The CodeWarrior compiler. We have not tested versions of this compiler produced since -it was sold to FreeScale. | +it was sold to Freescale.
dmc | Digital Mars | @@ -448,10 +465,6 @@ operating system.Intel | |
kylix | -Borland | -- | |
msvc | Microsoft | @@ -478,41 +491,43 @@ a hyphen, e.g. intel-9.0 borland-5.4.3. On Windows, append a version number even if you only have one version installed (unless you are using the msvc or gcc toolsets, which have special version -detection code) or auto-linking will fail. +detection code) or auto-linking will fail. - | using debug versions of the standard and runtime support libraries. |
y | -using a special debug build of Python. | +using a special debug build of Python. | |
d | -building a debug version of your code.7 | +building a debug version of your code.7 | |
p | using the STLPort standard library rather than the default one supplied with your compiler. | ||
n | -using STLPort's deprecated “native iostreams” feature.8 | +using STLPort's deprecated “native iostreams” feature.8 |
To test our subject extraction, we'll filter the following text file. Copy it out of your browser and save it as jayne.txt:
@@ -763,7 +777,7 @@ Subject: Will Success Spoil Rock Hunter? --- See subject.-
Now, in a command prompt window, type:
+Now, in a command prompt window, type:
path\to\compiled\example < path\to\jayne.txt@@ -774,23 +788,23 @@ Spoil Rock Hunter?”
This concludes your introduction to Boost and to integrating it with your programs. As you start using Boost in earnest, there are surely a few additional points you'll wish we had covered. One day we may have a “Book 2 in the Getting Started series” that addresses them. Until then, we suggest you pursue the following resources. If you can't find what you need, or there's anything we can do to -make this document clearer, please post it to the Boost Users' +make this document clearer, please post it to the Boost Users' mailing list.
Onward
@@ -803,8 +817,8 @@ mailing list.[1] | We recommend -downloading boost_1_39_0.7z and using 7-Zip to decompress + | ||||||||||||||||
[1] | We recommend +downloading boost_1_39_0.7z and using 7-Zip to decompress it. We no longer recommend .zip files for Boost because they are twice as large as the equivalent .7z files. We don't recommend using Windows' built-in decompression as it can be painfully slow for large archives. |
[2] | If you used the installer from Boost + | ||||||||||||||||
[2] | If you used the installer from Boost Consulting and deselected “Source and Documentation” (it's selected by default), you won't see the libs/ subdirectory. That won't affect your ability to use precompiled binaries, but @@ -823,7 +837,7 @@ you won't be able to rebuild libraries from scratch. |
[3] | There's no problem using Boost with precompiled headers; + | ||||||||||||||||
[3] | There's no problem using Boost with precompiled headers; these instructions merely avoid precompiled headers because it would require Visual Studio-specific changes to the source code used in the examples. |
[4] | In this example, the caret character ^ is a + | ||||||||||||||||
[4] | In this example, the caret character ^ is a way of continuing the command on multiple lines, and must be the final character used on the line to be continued (i.e. do not follow it with spaces). The command prompt responds with @@ -859,7 +873,7 @@ command-line argument contains spaces, as in
|