Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_33_1/more/getting_started.html @ 18

Last change on this file since 18 was 12, checked in by landauf, 17 years ago

added boost

File size: 47.0 KB
RevLine 
[12]1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
3<html>
4<head>
5  <title>Getting Started</title>
6  <meta content="HTML Tidy for Cygwin (vers 1st April 2002), see www.w3.org"
7  name="generator">
8  <meta content="Microsoft FrontPage 5.0" name="generator">
9  <meta http-equiv="Content-Language" content="en-us">
10  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
11  <link href="../boost.css" type="text/css" rel="stylesheet">
12</head>
13
14<body text="#000000" bgcolor="#FFFFFF">
15  <table cellspacing="0" cellpadding="0" width="100%" summary="" border="0">
16    <tr valign="top">
17      <td valign="top" align="left"><img height="86" alt=
18      "boost.png (6897 bytes)" src="../boost.png" width="277"></td>
19
20      <td valign="top" align="right">
21        <table cellspacing="0" cellpadding="2" summary="" border="1">
22          <tr>
23            <td>
24              <table cellspacing="0" cellpadding="2" summary="" border="0">
25                <tr>
26                  <td bgcolor="#DDDDDD">
27                    <p>.&nbsp;<a href="../index.htm">Home</a><br>
28                    .&nbsp;<a href="../libs/libraries.htm">Libraries</a><br>
29                    .&nbsp;<a href="../people/people.htm">People</a><br>
30                    .&nbsp;<a href="faq.htm">FAQ</a><br>
31                    .&nbsp;<a href="index.htm">More</a></p>
32                  </td>
33                </tr>
34              </table>
35            </td>
36          </tr>
37        </table>
38      </td>
39    </tr>
40  </table>
41
42  <h1>Getting Started</h1>
43
44  <ul>
45    <li><a href="#Introduction">Introduction</a></li>
46
47    <li>
48      <a href="#Download">Download</a>
49
50      <ul>
51        <li><a href="#.zip">.zip file</a></li>
52
53        <li><a href="#.tar.gz">.tar.gz and .tar.bz2 files</a></li>
54
55        <li><a href="#CVS">Boost CVS Repository</a></li>
56      </ul>
57    </li>
58
59    <li>
60      <a href="#Preparation">Preparation</a>
61
62      <ul>
63        <li><a href="#Configuring">Configuring the tools</a></li>
64
65        <li><a href="#Tools">Supported Toolsets</a></li>
66      </ul>
67    </li>
68
69    <li><a href="#Build_Install">Build and Install</a></li>
70
71    <li><a href="#Results">Results</a></li>
72
73    <li><a href="#auto-link">Automatic Linking on Windows</a></li>
74
75    <li><a href="#Additional_Steps">Additional Steps</a></li>
76  </ul>
77
78  <h2><a id="Introduction" name="Introduction">Introduction</a></h2>
79
80  <p>These instructions are intended to help you get started using the Boost
81  Libraries. This walks you through getting, building, and installing the
82  libraries. To summarize these are the steps to get Boost built and
83  installed:</p>
84
85  <ol>
86    <li><a href="#step1">Download Boost</a>.</li>
87
88    <li><a href="#step2">Install Boost.Jam</a>.</li>
89
90    <li><a href="#step3">Configure your compiler toolset</a>.</li>
91
92    <li><a href="#step4">Go to Boost distribution directory</a>.</li>
93
94    <li><a href="#step5">Build and install</a>.</li>
95  </ol>
96
97  <h2><a id="Download" name="Download"></a>Download</h2>
98
99  <table cellspacing="2" cellpadding="2" width="100%" summary="" border="0">
100    <tr valign="top" align="left">
101      <td valign="top" align="center" width="40" bgcolor="#FFFF66">
102      <font size="6"><b><a id="step1" name="step1"></a>1</b></font></td>
103
104      <td>The Boost Libraries are distributed through the SourceForge file
105      distribution system. Click here to <b><a href=
106      "http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041">
107      <font size="4">download releases from SourceForge</font></a></b>. And
108      unpack the release to a convenient location.</td>
109    </tr>
110  </table>
111
112  <p>The Boost release includes all of the libraries and other material from
113  the web site. It is available in <a href="#.zip">ZIP</a>, <a href=
114  "#.tar.gz">TAR.GZ</a>, and <a href="#.tar.gz">TAR.BZ2</a> formats. Past
115  releases are also available.</p>It is also possible to download current
116  snapshots of work-in-progress from Boost's <a href="#CVS">CVS
117  repository</a>.
118
119  <h3><a id="zip" name=".zip">.zip</a> file</h3>The .zip format is widely
120  supported by both free decoders and commercial compress/archive utilities.
121  If you don't already have a .zip file decoder, download one from the
122  <a href="http://www.info-zip.org/">Info-ZIP</a> web site, which supplies
123  versions for many operating systems.
124
125  <p>Text file line endings in the .zip file are as supplied by each library
126  developer.&nbsp; This works fine for Windows, but not for Unix/Linux.&nbsp;
127  The .tar.gz and .tar.bz2 files supply Unix/Linux friendly line endings.</p>
128
129  <h3><a id="tar_gz" name=".tar.gz">.tar.gz</a> and .tar.bz2 files</h3>
130
131  <p>The .tar.gz format is widely supported on Unix/Linux platforms. Some
132  Windows compress/archive utilities can read the format as well.&nbsp;
133  Because the gzip format compresses the archive as a single file rather than
134  compressing each file individually, the .tar.gz file is smaller that the
135  .zip file.</p>
136
137  <p>The .tar.bz2 format is becoming widely available on Unix/Linux platforms
138  and is built into many tar utilities. This format differs for the .tar.gz
139  format in the compression used, which is considerably better and therefore
140  creates smaller files.</p>
141
142  <p>Text file line endings in the .tar.gz and .tar.bz2 files have been
143  converted to newlines for ease of use on Unix/Linux platforms.</p>
144
145  <h3>Boost <a id="CVS" name="CVS">CVS</a> Repository</h3>
146
147  <p>All Boost files, including the entire distribution tree including web
148  site HTML is maintained in a CVS repository. Command line, GUI, or browser
149  access is available.</p>
150
151  <h4>Boost CVS access via command line or graphical clients</h4>For those
152  who have CVS clients installed, the libraries are also available from the
153  public <a href="http://sourceforge.net/cvs/?group_id=7586">Boost CVS
154  repository</a>. Free command line clients (often already installed on
155  Linux/Unix systems) are available for many systems, and free GUI clients
156  are available for Windows, Mac, and other systems.
157
158  <p>See the much improved <a href=
159  "http://sourceforge.net/docman/?group_id=1">CVS documentation</a> (Section
160  F) from SourceForge, which includes links to the home pages for various GUI
161  and command line clients.</p>
162
163  <p>The general procedure for command-line clients is something like
164  this:</p>
165
166  <blockquote>
167    <code>cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/boost
168    login</code><br>
169    [Hit &lt;return&gt; when it asks for a password]<br>
170    <code>cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/boost
171    checkout boost</code><br>
172    <code>cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/boost
173    logout</code>
174  </blockquote>Read the manual for your CVS client for further information.
175
176  <p>This access is read-only; if you are a library author and wish to have
177  CVS write access, please contact one of the <a href=
178  "moderators.html">moderators</a>.</p>
179
180  <h4>Boost CVS access via web <a id="Browser" name=
181  "Browser">Browser</a></h4>For access to the CVS archive from any modern web
182  browser, you can also use the <a href=
183  "http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/boost/boost/">web
184  browser&nbsp; interface</a>.&nbsp; Try one of the color diffs to see how a
185  file has changed over time. <b>Note:</b> this interface is only suitable
186  for viewing individual files and their revision histories.
187
188  <h4><a id="generated" name="generated">Documentation</a> generated from
189  BoostBook in CVS</h4>
190
191  <p>Some of the Boost documentation is generated from <a href=
192  "../doc/html/boostbook.html">BoostBook XML</a> source stored in the CVS
193  repository, and will not appear directly in the CVS tree as readable HTML.
194  View a nightly build of the generated HTML on the <a href=
195  "http://www.boost.org/regression-logs/cs-win32_metacomm/doc/html/libraries.html">
196  Nightly Generated Documentation</a> page. Where generated HTML is missing
197  from the CVS tree, an attempt has been made to include redirection to this
198  nightly build, but if you are away from an internet connection you may want
199  to download the generated documentation archive from the aforementioned
200  page so you can browse those documents offline.</p>
201
202  <h2><a id="Preparation" name="Preparation"></a>Preparation</h2>
203
204  <p>The recommended way to build and install the Boost Libraries is to use
205  <a href="../tools/build/v1/build_system.htm">Boost.Build</a>, the Boost
206  Build system. The rest of these instructions explain that use, but it is up
207  to you to use this method, or not. Note that some of the libraries also
208  include non Boost.Build makefiles and/or project files. But all include the
209  needed files for building with Boost.Build.</p>
210
211  <table cellspacing="2" cellpadding="2" width="100%" summary="" border="0">
212    <tr valign="top" align="left">
213      <td valign="top" align="center" width="40" bgcolor="#FFFF66">
214      <font size="6"><b><a id="step2" name="step2"></a>2</b></font></td>
215
216      <td>The build system uses <a href=
217      "../tools/build/jam_src/index.html">Boost.Jam</a>, an extension of the
218      <a href="http://www.perforce.com/jam/jam.html">Perforce Jam</a>
219      portable <i>make</i> replacement. The recommended way to get Boost.Jam
220      if you are using a Boost distribution is to <strong><a href=
221      "http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=72941">
222      download a prebuilt executable</a></strong> from SourceForge. If a
223      prebuilt executable is not provided for your platform or you are using
224      Boost's sources in an unreleased state, it may be necessary to <a href=
225      "../tools/build/jam_src/index.html#building_bjam">build <tt>bjam</tt>
226      from sources</a> included in the Boost source tree. To install
227      Boost.Jam, copy the <tt>bjam</tt> executable to a location accessible
228      in your <tt>PATH</tt>.</td>
229    </tr>
230  </table>
231
232  <h3><a id="Configuring" name="Configuring">Configuring the tools</a></h3>
233
234  <p>Before using Boost.Build you will need to configure the compiler tools
235  you are using. The build system's toolsets are designed to work in either
236  of two ways:</p>
237
238  <ol>
239    <li>The user sets up all of the environment for each toolset he wants to
240    use in the normal way. For example, for Microsoft VC++, ...VC98/Bin or
241    .../VC7/Bin is in the PATH environment variable, VCVARS32.BAT or
242    VSVARS32.BAT has been invoked, etc. For Metrowerks CodeWarrior, cwenv.bat
243    or equivalent has been called and ...Other Metrowerks Tools/Command Line
244    Tools is in the path. Many Unix operating systems come preconfigured this
245    way and require no user intervention.<br>
246    <br></li>
247
248    <li>The user doesn't want his environment cluttered with settings or has
249    nonstandard installations for some of his tools. Instead, he or she sets
250    variables which point to the toolset installation directories, either in
251    the command shell environment or on the <code>bjam</code> command-line.
252    These variables are used by the build system to locate the tools and
253    invoke the necessary setup. To set the variables on the <tt>bjam</tt>
254    command-line you use the "<tt>-s</tt>" option. For example:<br>
255    <br>
256    <tt>bjam "-sGCC_ROOT_DIRECTORY=/usr/local/gcc-3.3.2"</tt><br>
257    <br>
258    Some variables, like the toolset <tt>TOOLS</tt> variable, can accept
259    multiple values separated by spaces. Others, like the path above, can
260    contain spaces. For such circumstances you should use quotes appropriate
261    for your command interpreter.<br></li>
262  </ol>
263
264  <h3><a id="Tools" name="Tools">Supported Toolsets</a></h3>
265
266  <table cellspacing="2" cellpadding="2" width="100%" summary="" border="0">
267    <tr valign="top" align="left">
268      <td valign="top" align="center" width="40" bgcolor="#FFFF66">
269      <font size="6"><b><a id="step3" name="step3"></a>3</b></font></td>
270
271      <td>The following toolsets are supported by Boost.Build. For
272      information about <a href="#Configuring">configuring</a> each toolset,
273      click its name in the leftmost column.</td>
274    </tr>
275  </table><br>
276
277  <table cellpadding="5" summary="" border="1">
278    <tr>
279      <td><b>TOOLS Name</b></td>
280
281      <td><b>Description</b></td>
282    </tr>
283
284    <tr>
285      <td><a href=
286      "../tools/build/v1/borland-tools.html"><code>borland</code></a></td>
287
288      <td><a href=
289      "http://www.borland.com/bcppbuilder/freecompiler">Borland</a> C++</td>
290    </tr>
291
292    <tr>
293      <td><a href=
294      "../tools/build/v1/como-tools.html"><code>como</code></a></td>
295
296      <td><a href="http://www.comeaucomputing.com">Comeau C++</a> compiler
297      front-end for non-Windows platforms</td>
298    </tr>
299
300    <tr>
301      <td><code><a href=
302      "../tools/build/v1/como-tools.html">como-win32</a></code></td>
303
304      <td><a href="http://www.comeaucomputing.com">Comeau C++</a> compiler
305      front-end for Windows, using Microsoft <a href=
306      "http://msdn.microsoft.com/visualc/">Visual C++</a>as a back-end.</td>
307    </tr>
308
309    <tr>
310      <td><a href="../tools/build/v1/cw-tools.html"><code>cw</code></a></td>
311
312      <td><a href="http://www.metrowerks.com">Metrowerks CodeWarrior</a> Pro
313      6.x, 7.x, 8.x, and 9.x command-line tools</td>
314    </tr>
315
316    <tr>
317      <td><a href=
318      "../tools/build/v1/darwin-tools.html"><code>darwin</code></a></td>
319
320      <td>Apple Darwin OS hosted GNU <a href=
321      "http://developer.apple.com/tools/compilers.html">GCC</a></td>
322    </tr>
323
324    <tr>
325      <td><a href=
326      "../tools/build/v1/dmc-tools.html"><code>dmc</code></a></td>
327
328      <td><a href="http://www.digitalmars.com/">Digital Mars C++</a>.</td>
329    </tr>
330
331    <tr>
332      <td><a href=
333      "../tools/build/v1/dmc-stlport-tools.html"><code>dmc-stlport</code></a></td>
334
335      <td><a href="http://www.digitalmars.com/">Digital Mars C++</a>, using
336      the <a href="http://www.stlport.org">STLport</a> standard library
337      implementation</td>
338    </tr>
339
340    <tr>
341      <td><a href=
342      "../tools/build/v1/edg-tools.html"><code>edg</code></a></td>
343
344      <td><a href="http://www.edg.com/">Edison Design Group</a> compiler
345      front-end (evaluation version)</td>
346    </tr>
347
348    <tr>
349      <td><a href=
350      "../tools/build/v1/gcc-tools.html"><code>gcc</code></a></td>
351
352      <td><a href="http://gcc.gnu.org">GNU GCC</a> on Unix and <a href=
353      "http://www.cygwin.com">Cygwin</a>.</td>
354    </tr>
355
356    <tr>
357      <td><a href=
358      "../tools/build/v1/gcc-stlport-tools.html"><code>gcc-stlport</code></a></td>
359
360      <td><a href="http://gcc.gnu.org">GNU GCC</a> on Unix and <a href=
361      "http://www.cygwin.com">Cygwin</a>, using the <a href=
362      "http://www.stlport.org">STLport</a> standard library
363      implementation</td>
364    </tr>
365
366    <tr>
367      <td><a href=
368      "../tools/build/v1/gcc-nocygwin-tools.html"><code>gcc-nocygwin</code></a></td>
369
370      <td>GNU GCC Cygwin command line compiler tools running in "no-cygwin"
371      mode (produces commercially redistributable objects)</td>
372    </tr>
373
374    <tr>
375      <td><a href=
376      "../tools/build/v1/intel-linux-tools.html"><code>intel-linux</code></a></td>
377
378      <td><a href=
379      "http://www.intel.com/software/products/compilers/c60l/">Intel C++ for
380      Linux</a></td>
381    </tr>
382
383    <tr>
384      <td><a href=
385      "../tools/build/v1/intel-win32-tools.html"><code>intel-win32</code></a></td>
386
387      <td><a href=
388      "http://www.intel.com/software/products/compilers/c60/">Intel C++ for
389      Windows</a> using the Dinkumware standard library in the Intel-required
390      Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual C++</a> 6
391      or 7 installation</td>
392    </tr>
393
394    <tr>
395      <td><a href=
396      "../tools/build/v1/kcc-tools.html"><code>kcc</code></a></td>
397
398      <td>KAI C++</td>
399    </tr>
400
401    <tr>
402      <td><a href=
403      "../tools/build/v1/kylix-tools.html"><code>kylix</code></a></td>
404
405      <td><a href="http://www.borland.com/kylix">Borland C++ for Linux
406      (Kylix).</a></td>
407    </tr>
408
409    <tr>
410      <td><a href=
411      "../tools/build/v1/mingw-tools.html"><code>mingw</code></a></td>
412
413      <td>GNU GCC and associated tools in <a href=
414      "http://www.mingw.org">MinGW</a> configuration (produces commercially
415      redistributable objects)</td>
416    </tr>
417
418    <tr>
419      <td><a href=
420      "../tools/build/v1/mingw-stlport-tools.html"><code>mingw-stlport</code></a></td>
421
422      <td>GNU GCC and associated tools in <a href=
423      "http://www.mingw.org">MinGW</a> configuration (produces commercially
424      redistributable objects), using the <a href=
425      "http://www.stlport.org">STLport</a> standard library
426      implementation</td>
427    </tr>
428
429    <tr>
430      <td><a href=
431      "../tools/build/v1/mipspro-tools.html"><code>mipspro</code></a></td>
432
433      <td>SGI <a href=
434      "http://www.sgi.com/developers/devtools/languages/mipspro.html">MIPSpro
435      C and C++</a></td>
436    </tr>
437
438    <tr>
439      <td><a href=
440      "../tools/build/v1/msvc-tools.html"><code>msvc</code></a></td>
441
442      <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
443      C++</a> version 6 command-line tools. NOTE; For version 7.x (the .NET
444      series) use the vc7, vc-7_1, or vc-8_0 toolsets below.</td>
445    </tr>
446
447    <tr>
448      <td><a href=
449      "../tools/build/v1/msvc-stlport-tools.html"><code>msvc-stlport</code></a></td>
450
451      <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
452      C++</a> version 6 command-line tools, using the <a href=
453      "http://www.stlport.org">STLport</a> standard library implementation.
454      NOTE; For version 7.x (the .NET series) use the vc7-stlport or
455      vc-7_1-stlport toolsets below.</td>
456    </tr>
457
458    <tr>
459      <td><a href=
460      "../tools/build/v1/sunpro-tools.html"><code>sunpro</code></a></td>
461
462      <td><a href=
463      "http://wwws.sun.com/software/sundev/suncc/index.html">SunPRO C++</a>
464      compiler</td>
465    </tr>
466
467    <tr>
468      <td><a href=
469      "../tools/build/v1/tru64cxx-tools.html"><code>tru64cxx</code></a></td>
470
471      <td><a href="http://www.tru64unix.compaq.com/cplus/">Compaq C++</a> for
472      Tru64 UNIX (versions prior to 6.5)</td>
473    </tr>
474
475    <tr>
476      <td><a href=
477      "../tools/build/v1/tru64cxx-tools.html"><code>tru64cxx65</code></a></td>
478
479      <td><a href="http://www.tru64unix.compaq.com/cplus/">Compaq C++</a>
480      Version 6.5 for Tru64 UNIX</td>
481    </tr>
482
483    <tr>
484      <td><a href=
485      "../tools/build/v1/vacpp-tools.html"><code>vacpp</code></a></td>
486
487      <td><a href="http://www-3.ibm.com/software/ad/vacpp/">IBM Visual Age
488      C++</a> command-line tools</td>
489    </tr>
490
491    <tr>
492      <td><a href=
493      "../tools/build/v1/vc7-tools.html"><code>vc7</code></a></td>
494
495      <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
496      C++</a> command-line tools from Visual Studio .NET.</td>
497    </tr>
498
499    <tr>
500      <td><a href=
501      "../tools/build/v1/vc7-stlport-tools.html"><code>vc7-stlport</code></a></td>
502
503      <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
504      C++</a> command-line tools from Visual Studio .NET + STLPort.</td>
505    </tr>
506
507    <tr>
508      <td><a href=
509      "../tools/build/v1/vc-7_1-tools.html"><code>vc-7_1</code></a></td>
510
511      <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
512      C++</a> command-line tools from Visual Studio .NET 2003.</td>
513    </tr>
514
515    <tr>
516      <td><a href=
517      "../tools/build/v1/vc-7_1-stlport-tools.html"><code>vc-7_1-stlport</code></a></td>
518
519      <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
520      C++</a> command-line tools from Visual Studio .NET 2003 + STLPort.</td>
521    </tr>
522
523    <tr>
524      <td><a href=
525      "../tools/build/v1/vc-8_0-tools.html"><code>vc-8_0</code></a></td>
526
527      <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
528      C++</a> command-line tools from Visual Studio .NET 2005.</td>
529    </tr>
530  </table>
531
532  <h2><a id="Build_Install" name="Build_Install"></a>Build and Install</h2>
533
534  <p>The common build and install process is driven by the top-level build
535  file (<a href="../Jamfile">Jamfile</a>).</p>
536
537  <table cellspacing="2" cellpadding="2" width="100%" summary="" border="0">
538    <tr valign="top" align="left">
539      <td valign="top" align="center" width="40" bgcolor="#FFFF66">
540      <font size="6"><b><a id="step4" name="step4"></a>4</b></font></td>
541
542      <td>
543        <p>First you need to change to the directory where you have the Boost
544        distribution you downloaded. For example:</p>
545
546        <blockquote>
547          <p><code>chdir&nbsp;boost-1.31.0</code></p>
548        </blockquote>
549      </td>
550    </tr>
551  </table>
552
553  <p>The default build and install attempts to build all available libraries
554  and install to default locations the libraries and Boost header files. On
555  Unix systems the default install location is "<tt>/usr/local</tt>", and on
556  Windows systems the default is "<tt>C:\Boost</tt>". Within those
557  directories libraries are installed to the "<tt>lib</tt>" subdirectory, and
558  headers to an "<tt>include/boost-1_31</tt>" subdirectory, the version will
559  reflect the distribution you are installing.</p>
560
561  <table cellspacing="2" cellpadding="2" width="100%" summary="" border="0">
562    <tr valign="top" align="left">
563      <td valign="top" align="center" width="40" bgcolor="#FFFF66">
564      <font size="6"><b><a id="step5" name="step5"></a>5</b></font></td>
565
566      <td>
567        Invoke the build system, specifying the <a href=
568        "#Tools">toolset</a>(s) you wish to use, to build and install. For
569        example for GNU/GCC.
570
571        <blockquote>
572          <p><code>bjam&nbsp;"-sTOOLS=gcc" install</code></p>
573        </blockquote>
574
575        <p>Or if you are interested only in the built libraries you can have
576        them built and collected to a common directory without
577        installation.</p>
578
579        <blockquote>
580          <p><code>bjam&nbsp;"-sTOOLS=gcc" stage</code></p>
581        </blockquote>
582      </td>
583    </tr>
584  </table>
585
586  <p>The build and install system can be controlled through a set of options
587  similar in style to GNU configure options. The options allow you to, among
588  other things, change the install location, disable building of libraries,
589  etc. You can see a summary of the available options by invoking "<tt>bjam
590  --help</tt>". The full invocation takes the form:</p>
591
592  <blockquote>
593    <p><code>bjam&nbsp;[<i>options</i>...] [install|stage]</code></p>
594  </blockquote>
595
596  <table cellspacing="0" cellpadding="2" summary="" border="1">
597    <tr>
598      <th>Action</th>
599
600      <td>&nbsp;</td>
601    </tr>
602
603    <tr>
604      <td valign="top" nowrap align="left"><i>none</i></td>
605
606      <td valign="top" align="left">Only builds the Boost libraries. This
607      lets you do the first part of what the <tt>install</tt> action normally
608      does without copying the built libraries to the install location.</td>
609    </tr>
610
611    <tr>
612      <td valign="top" nowrap align="left"><tt>install</tt></td>
613
614      <td valign="top" align="left">Builds and installs Boost libraries and
615      headers.</td>
616    </tr>
617
618    <tr>
619      <td valign="top" nowrap align="left"><tt>stage</tt></td>
620
621      <td valign="top" align="left">Builds the Boost libraries and copies
622      them into a common directory.</td>
623    </tr>
624
625    <tr>
626      <th nowrap>Option</th>
627
628      <td valign="top" align="left">&nbsp;</td>
629    </tr>
630
631    <tr>
632      <td valign="top" nowrap align="left"><tt>--help</tt></td>
633
634      <td valign="top" align="left">Shows a short summary of the options and
635      syntax of the command.</td>
636    </tr>
637
638    <tr>
639      <td valign="top" nowrap align="left">
640      <tt>-sTOOLS=&lt;<i>toolsets</i>&gt;</tt></td>
641
642      <td valign="top" align="left">The list of tools to compile with.
643      Usually only one is needed.</td>
644    </tr>
645
646    <tr>
647      <td valign="top" nowrap align="left"><tt>--prefix=PREFIX</tt></td>
648
649      <td valign="top" align="left">Install architecture independent files
650      here.<br>
651      Default; <tt>C:\Boost</tt> on Win32.<br>
652      Default; <tt>/usr/local</tt> on Unix. Linux, etc.</td>
653    </tr>
654
655    <tr>
656      <td valign="top" nowrap align="left">
657      <tt>--exec-prefix=EPREFIX</tt></td>
658
659      <td valign="top" align="left">Install architecture dependent files
660      here.<br>
661      Default; <tt>PREFIX</tt></td>
662    </tr>
663
664    <tr>
665      <td valign="top" nowrap align="left"><tt>--libdir=DIR</tt></td>
666
667      <td valign="top" align="left">Install libraries here.<br>
668      Default; <tt>EPREFIX/lib</tt></td>
669    </tr>
670
671    <tr>
672      <td valign="top" nowrap align="left"><tt>--includedir=DIR</tt></td>
673
674      <td valign="top" align="left">Install source headers here. The Boost
675      headers are installed in a version specific
676      "<tt>boost-&lt;version&gt;</tt>" subdirectory in this directory.<br>
677      Default; <tt>PREFIX/include</tt></td>
678    </tr>
679
680    <tr>
681      <td valign="top" nowrap align="left"><tt>--builddir=DIR</tt></td>
682
683      <td valign="top" align="left">Build in this location instead of
684      building within the distribution tree. This moves where the sources for
685      the libraries are compiled to before they are installed.
686      Recommended!</td>
687    </tr>
688
689    <tr>
690      <td valign="top" nowrap align="left"><tt>--stagedir=DIR</tt></td>
691
692      <td valign="top" align="left">When staging only, with the
693      "<tt>stage</tt>" action, copy to the given location.<br>
694      Default; <tt>./stage</tt></td>
695    </tr>
696
697    <tr>
698      <td valign="top" nowrap align="left">
699      <tt>--without-&lt;<i>library</i>&gt;</tt></td>
700
701      <td valign="top" align="left">Do not build, stage, or install the
702      specified library.</td>
703    </tr>
704
705    <tr>
706      <td valign="top" nowrap align="left">
707      <tt>--with-&lt;<i>library</i>&gt;</tt></td>
708
709      <td valign="top" align="left">Build, stage, or install the specified
710      library. This changes the default from trying to build all possible
711      libraries, to only building the specified libraries.</td>
712    </tr>
713
714    <tr>
715      <td valign="top" nowrap align="left">
716      <tt>--with-python-root[=PYTHON_ROOT]</tt></td>
717
718      <td valign="top" align="left">Build Boost.Python libraries with the
719      Python devel packages located at <tt>PYTHON_ROOT</tt>. The Boost.Python
720      libraries are built only if the build can find the Python development
721      package at this location.<br>
722      Default; <tt>C:\Python24</tt> on Win32.<br>
723      Default; <tt>/usr</tt> on Unix, Linux, Cygwin, etc.</td>
724    </tr>
725
726    <tr>
727      <td valign="top" nowrap align="left">
728      <tt>--with-python-version[=2.4]</tt></td>
729
730      <td valign="top" align="left">Build Boost.Python libraries with the
731      Python version indicated.<br>
732      Default; 2.4.</td>
733    </tr>
734
735    <tr>
736      <td valign="top" nowrap align="left"><tt>--with-pydebug</tt></td>
737
738      <td valign="top" align="left">Build Boost.Python libraries using the
739      Python debug runtime. This builds an additional set of libraries for
740      use with the debug version of Python. The regular versions of the
741      Boost.Python libraries are also built.</td>
742    </tr>
743
744    <tr>
745      <td valign="top" nowrap align="left"><tt>-sHAVE_ICU=1</tt></td>
746
747      <td valign="top" align="left">Build Boost.Regex libraries with Unicode
748      support provided by the <a href=
749      "http://www-306.ibm.com/software/globalization/icu/index.jsp">ICU
750      libraries</a>. ICU must have been built with the same compiler that you
751      are using to build Boost, and must be installed into your compiler's
752      include and library search paths. See <a href=
753      "../libs/regex/doc/install.html#unicode">the Boost.Regex installation
754      documentation for more information</a>.</td>
755    </tr>
756
757    <tr>
758      <td valign="top" nowrap align="left">
759      <tt>-sICU_PATH=<i>path</i></tt></td>
760
761      <td valign="top" align="left">Build Boost.Regex libraries with Unicode
762      support provided by the <a href=
763      "http://www-306.ibm.com/software/globalization/icu/index.jsp">ICU
764      libraries</a>. ICU must have been built with the same compiler that you
765      are using to build Boost, and must have been built (or installed to)
766      directory <i>path</i>. For example if you configured ICU with
767      <tt>--prefix=/usr/local/icu/3.3</tt>, then use
768      <tt>-sICU_PATH=/usr/local/icu/3.3</tt>. See <a href=
769      "../libs/regex/doc/install.html#unicode">the Boost.Regex installation
770      documentation for more information</a>.</td>
771    </tr>
772
773    <tr>
774      <td valign="top" nowrap align="left"><tt>-sNO_COMPRESSION=1</tt></td>
775
776      <td valign="top" align="left">Build Boost.Iostreams without support for
777      the compression filters which rely on the non-Boost libraries zlib and
778      libbz2. If you use Windows, this option is enabled by default. If you
779      use UNIX, the compression filters will likely work with no
780      configuration, so this option should not be necessary. For full details
781      see <a href=
782      "http://www.boost.org/libs/iostreams/doc/index.html?path=7">Boost.Iostreams
783      Installation</a>.</td>
784    </tr>
785  </table>
786
787  <p>There are additional options as supported by <a href=
788  "../tools/build/v1/build_system.htm">Boost.Build</a> and <a href=
789  "../tools/build/jam_src/index.html">Boost.Jam</a>. Of the additional
790  options perhaps the most imporant is "<tt>-s<a href=
791  "../tools/build/v1/build_system.htm#build">BUILD</a>=&lt;features/variants&gt;</tt>"
792  which lets you override what is built by default. The
793  "<tt>&lt;features/variants&gt;</tt>" value is a list, separated by spaces,
794  of build requests. Features take the form of a tag and a value or values.
795  And variants are single symbolic names for a collection of features. For
796  example the default is to request "<tt>debug release
797  &lt;runtime-link&gt;static/dynamic &lt;threading&gt;single/multi</tt>", in
798  which "<tt>debug</tt>" and "<tt>release</tt>" are variants, and the rest
799  features with two values each.</p>
800
801  <p>If you have some feedback about the build and install process please
802  drop us a line at the <a href="mailing_lists.htm#jamboost">Boost.Build
803  mailing list</a>. We are particularly interested if it works for your
804  platform and if it there is anything that you feel could be done
805  better.</p>
806
807  <h2><a id="Results" name="Results"></a>Results</h2>
808
809  <p>The results of building come in to forms: static libraries, and dynamic
810  libraries. Depending on the platform the libraries produced have different
811  names to accommodate the platform requirements. For a single Boost library
812  the build with the default will produce eight different libraries. For
813  example building the Boost.Datetime library on Unix type system it would
814  produce:</p>
815
816  <ol>
817    <li><tt>libboost_date_time-gcc-d-1_31.so</tt></li>
818
819    <li><tt>libboost_date_time-gcc-mt-d-1_31.so</tt></li>
820
821    <li><tt>libboost_date_time-gcc-1_31.so</tt></li>
822
823    <li><tt>libboost_date_time-gcc-mt-1_31.so</tt></li>
824
825    <li><tt>libboost_date_time-gcc-d-1_31.a</tt></li>
826
827    <li><tt>libboost_date_time-gcc-mt-d-1_31.a</tt></li>
828
829    <li><tt>libboost_date_time-gcc-1_31.a</tt></li>
830
831    <li><tt>libboost_date_time-gcc-mt-1_31.a</tt><br></li>
832  </ol>
833
834  <table cellspacing="0" cellpadding="0" width="100%" summary="" border="0">
835    <tr>
836      <td colspan="11">
837        <table cellspacing="2" cellpadding="2" bgcolor="#CCCCCC" summary=""
838        border="0">
839          <tr>
840            <th>&middot; Library Prefix</th>
841          </tr>
842        </table>
843      </td>
844
845      <td width="80%">&nbsp;</td>
846    </tr>
847
848    <tr>
849      <td valign="bottom" bgcolor="#CCCCCC" rowspan="7"><tt><font size=
850      "+1">lib</font></tt></td>
851
852      <td colspan="11">
853        <table cellspacing="2" cellpadding="2" summary="" border="0">
854          <tr>
855            <th>&middot; Library Name</th>
856          </tr>
857        </table>
858      </td>
859    </tr>
860
861    <tr>
862      <td valign="bottom" rowspan="6"><tt><font size=
863      "+1">boost_date_time</font></tt></td>
864
865      <td colspan="10">
866        <table cellspacing="2" cellpadding="2" bgcolor="#CCCCCC" summary=""
867        border="0">
868          <tr>
869            <th>&middot; Toolset</th>
870          </tr>
871        </table>
872      </td>
873    </tr>
874
875    <tr>
876      <td valign="bottom" bgcolor="#CCCCCC" rowspan="5"><tt><font size=
877      "+1">-</font></tt></td>
878
879      <td valign="bottom" bgcolor="#CCCCCC" rowspan="5"><tt><font size=
880      "+1">gcc</font></tt></td>
881
882      <td colspan="8">
883        <table cellspacing="2" cellpadding="2" summary="" border="0">
884          <tr>
885            <th>&middot; Threading</th>
886          </tr>
887        </table>
888      </td>
889    </tr>
890
891    <tr>
892      <td valign="bottom" rowspan="4"><tt><font size="+1">-</font></tt></td>
893
894      <td valign="bottom" rowspan="4"><tt><font size="+1">mt</font></tt></td>
895
896      <td colspan="6">
897        <table cellspacing="2" cellpadding="2" bgcolor="#CCCCCC" summary=""
898        border="0">
899          <tr>
900            <th>&middot; Runtime</th>
901          </tr>
902        </table>
903      </td>
904    </tr>
905
906    <tr>
907      <td valign="bottom" bgcolor="#CCCCCC" rowspan="3"><tt><font size=
908      "+1">-</font></tt></td>
909
910      <td valign="bottom" bgcolor="#CCCCCC" rowspan="3"><tt><font size=
911      "+1">d</font></tt></td>
912
913      <td colspan="4">
914        <table cellspacing="2" cellpadding="2" summary="" border="0">
915          <tr>
916            <th>&middot; Boost Version</th>
917          </tr>
918        </table>
919      </td>
920    </tr>
921
922    <tr>
923      <td valign="bottom" rowspan="2"><tt><font size="+1">-</font></tt></td>
924
925      <td valign="bottom" rowspan="2"><tt><font size=
926      "+1">1_31</font></tt></td>
927
928      <td colspan="2">
929        <table cellspacing="2" cellpadding="2" bgcolor="#CCCCCC" summary=""
930        border="0">
931          <tr>
932            <th>&middot; Library Type</th>
933          </tr>
934        </table>
935      </td>
936    </tr>
937
938    <tr>
939      <td valign="bottom" bgcolor="#CCCCCC"><tt><font size=
940      "+1">.a</font></tt></td>
941
942      <td>&nbsp;</td>
943    </tr>
944  </table>
945
946  <h3>Library Prefix</h3>
947
948  <p>The "lib" prefix on the libraries is a requirement on many platforms,
949  like Unix, and on others like GCC running on Windows. The prefix is
950  therefore added to all libraries on Unix type systems, and to static
951  libraries on Windows. That is on Unix shared libraries and static libraries
952  (object archives) are named respectively:</p>
953
954  <ul>
955    <li><tt>lib*.so</tt></li>
956
957    <li><tt>lib*.a</tt></li>
958  </ul>
959
960  <p>On Windows shared libraries do not have the prefix to differentiate the
961  import libraries from static libraries. Consequently on Windows the
962  libraries are named:</p>
963
964  <table id="Table1" cellspacing="1" cellpadding="1" width="300" border="0">
965    <tr>
966      <td><font face="Courier New">*.dll</font></td>
967
968      <td>Dynamic library version.</td>
969    </tr>
970
971    <tr>
972      <td><font face="Courier New">*.lib</font></td>
973
974      <td>Import library for the dll.</td>
975    </tr>
976
977    <tr>
978      <td><font face="Courier New">lib*.lib</font></td>
979
980      <td>Static library version.</td>
981    </tr>
982  </table><br>
983  <br>
984
985  <h3>Library Name</h3>
986
987  <p>For Boost libraries the name has the "<tt>boost_</tt>" prefix to
988  separate them from other libraries in your system.</p>
989
990  <h3>Toolset</h3>
991
992  <p>The toolset name is an abbreviation based on the compiler you are
993  building with. The abbreviation is composed of a short, 2 to 4 characters,
994  tag for the compiler and a version number of the compiler's major and minor
995  revision (if available). For example if your toolset is
996  "<tt>gcc-3_2_3</tt>" the toolset tag would be "<tt>gcc32</tt>". The toolset
997  abbreviations used are as follows:</p>
998
999  <table cellpadding="5" summary="" border="1">
1000    <tr>
1001      <td><b>TOOLS Name</b></td>
1002
1003      <td><b>Abbreviation</b></td>
1004    </tr>
1005
1006    <tr>
1007      <td><a href=
1008      "../tools/build/v1/borland-tools.html"><code>borland</code></a></td>
1009
1010      <td><tt>bcb</tt></td>
1011    </tr>
1012
1013    <tr>
1014      <td><a href=
1015      "../tools/build/v1/como-tools.html"><code>como</code></a></td>
1016
1017      <td><tt>como</tt></td>
1018    </tr>
1019
1020    <tr>
1021      <td><code><a href=
1022      "../tools/build/v1/como-tools.html">como-win32</a></code></td>
1023
1024      <td><tt>como</tt></td>
1025    </tr>
1026
1027    <tr>
1028      <td><a href="../tools/build/v1/cw-tools.html"><code>cw</code></a></td>
1029
1030      <td><tt>cw</tt></td>
1031    </tr>
1032
1033    <tr>
1034      <td><a href=
1035      "../tools/build/v1/darwin-tools.html"><code>darwin</code></a></td>
1036
1037      <td><tt>osx</tt></td>
1038    </tr>
1039
1040    <tr>
1041      <td><a href=
1042      "../tools/build/v1/dmc-tools.html"><code>dmc</code></a></td>
1043
1044      <td><tt>dmc</tt></td>
1045    </tr>
1046
1047    <tr>
1048      <td><a href=
1049      "../tools/build/v1/dmc-stlport-tools.html"><code>dmc-stlport</code></a></td>
1050
1051      <td><tt>dmc</tt></td>
1052    </tr>
1053
1054    <tr>
1055      <td><a href=
1056      "../tools/build/v1/edg-tools.html"><code>edg</code></a></td>
1057
1058      <td><tt>edg</tt></td>
1059    </tr>
1060
1061    <tr>
1062      <td><a href=
1063      "../tools/build/v1/gcc-tools.html"><code>gcc</code></a></td>
1064
1065      <td><tt>gcc</tt></td>
1066    </tr>
1067
1068    <tr>
1069      <td><a href=
1070      "../tools/build/v1/gcc-stlport-tools.html"><code>gcc-stlport</code></a></td>
1071
1072      <td><tt>gcc</tt></td>
1073    </tr>
1074
1075    <tr>
1076      <td><a href=
1077      "../tools/build/v1/gcc-nocygwin-tools.html"><code>gcc-nocygwin</code></a></td>
1078
1079      <td><tt>gcc</tt></td>
1080    </tr>
1081
1082    <tr>
1083      <td><a href=
1084      "../tools/build/v1/intel-linux-tools.html"><code>intel-linux</code></a></td>
1085
1086      <td><tt>il</tt></td>
1087    </tr>
1088
1089    <tr>
1090      <td><a href=
1091      "../tools/build/v1/intel-win32-tools.html"><code>intel-win32</code></a></td>
1092
1093      <td><tt>iw</tt></td>
1094    </tr>
1095
1096    <tr>
1097      <td><a href=
1098      "../tools/build/v1/kcc-tools.html"><code>kcc</code></a></td>
1099
1100      <td><tt>kcc</tt></td>
1101    </tr>
1102
1103    <tr>
1104      <td><a href=
1105      "../tools/build/v1/kylix-tools.html"><code>kylix</code></a></td>
1106
1107      <td><tt>bck</tt></td>
1108    </tr>
1109
1110    <tr>
1111      <td><a href=
1112      "../tools/build/v1/mingw-tools.html"><code>mingw</code></a></td>
1113
1114      <td><tt>mgw</tt></td>
1115    </tr>
1116
1117    <tr>
1118      <td><a href=
1119      "../tools/build/v1/mingw-stlport-tools.html"><code>mingw-stlport</code></a></td>
1120
1121      <td><tt>mgw</tt></td>
1122    </tr>
1123
1124    <tr>
1125      <td><a href=
1126      "../tools/build/v1/mipspro-tools.html"><code>mipspro</code></a></td>
1127
1128      <td><tt>mp</tt></td>
1129    </tr>
1130
1131    <tr>
1132      <td><a href=
1133      "../tools/build/v1/msvc-tools.html"><code>msvc</code></a></td>
1134
1135      <td><tt>vc</tt></td>
1136    </tr>
1137
1138    <tr>
1139      <td><a href=
1140      "../tools/build/v1/msvc-stlport-tools.html"><code>msvc-stlport</code></a></td>
1141
1142      <td><tt>vc</tt></td>
1143    </tr>
1144
1145    <tr>
1146      <td><a href=
1147      "../tools/build/v1/sunpro-tools.html"><code>sunpro</code></a></td>
1148
1149      <td><tt>sw</tt></td>
1150    </tr>
1151
1152    <tr>
1153      <td><a href=
1154      "../tools/build/v1/tru64cxx-tools.html"><code>tru64cxx</code></a></td>
1155
1156      <td><tt>tru</tt></td>
1157    </tr>
1158
1159    <tr>
1160      <td><a href=
1161      "../tools/build/v1/tru64cxx-tools.html"><code>tru64cxx65</code></a></td>
1162
1163      <td><tt>tru</tt></td>
1164    </tr>
1165
1166    <tr>
1167      <td><a href=
1168      "../tools/build/v1/vacpp-tools.html"><code>vacpp</code></a></td>
1169
1170      <td><tt>xlc</tt></td>
1171    </tr>
1172
1173    <tr>
1174      <td><a href=
1175      "../tools/build/v1/vc7-tools.html"><code>vc7</code></a></td>
1176
1177      <td><tt>vc</tt></td>
1178    </tr>
1179
1180    <tr>
1181      <td><a href=
1182      "../tools/build/v1/vc7-stlport-tools.html"><code>vc7-stlport</code></a></td>
1183
1184      <td><tt>vc</tt></td>
1185    </tr>
1186
1187    <tr>
1188      <td><a href=
1189      "../tools/build/v1/vc-7_1-tools.html"><code>vc-7_1</code></a></td>
1190
1191      <td><tt>vc</tt></td>
1192    </tr>
1193
1194    <tr>
1195      <td><a href=
1196      "../tools/build/v1/vc-7_1-stlport-tools.html"><code>vc-7_1-stlport</code></a></td>
1197
1198      <td><tt>vc</tt></td>
1199    </tr>
1200
1201    <tr>
1202      <td><a href=
1203      "../tools/build/v1/vc-8_0-tools.html"><code>vc-8_0</code></a></td>
1204
1205      <td><tt>vc</tt></td>
1206    </tr>
1207
1208    <tr>
1209      <td>Others</td>
1210
1211      <td>The first part of the toolset name.</td>
1212    </tr>
1213  </table>
1214
1215  <h3>Threading</h3>
1216
1217  <p>This tag indicates if the library is compiled with threading support. If
1218  threading is enabled "<tt>-mt</tt>" is added, otherwise nothing is
1219  added.</p>
1220
1221  <h3>Runtime</h3>
1222
1223  <p>This specifies the type of runtime the library was compiled against, and
1224  the type of code that is compiled. More commonly this encodes the ABI
1225  variation used in the code. For each feature of the runtime system and code
1226  compilation option a single letter is added to this tag.</p>
1227
1228  <table cellpadding="5" summary="" border="1">
1229    <tr>
1230      <td><b>Key</b></td>
1231
1232      <td><b>Feature</b></td>
1233    </tr>
1234
1235    <tr>
1236      <td><tt>s</tt></td>
1237
1238      <td>Static link to runtime.</td>
1239    </tr>
1240
1241    <tr>
1242      <td><tt>g</tt></td>
1243
1244      <td>Debug runtime.</td>
1245    </tr>
1246
1247    <tr>
1248      <td><tt>y</tt></td>
1249
1250      <td>Debug Python system.</td>
1251    </tr>
1252
1253    <tr>
1254      <td><tt>d</tt></td>
1255
1256      <td>Debug enabled code.</td>
1257    </tr>
1258
1259    <tr>
1260      <td><tt>p</tt></td>
1261
1262      <td>STLport runtime, instead of the vendor toolset runtime.</td>
1263    </tr>
1264
1265    <tr>
1266      <td><tt>n</tt></td>
1267
1268      <td>STLport runtime using the "native" IO streams instead of the
1269      STLport IO streams.</td>
1270    </tr>
1271  </table>
1272
1273  <p>For example if you compile debug code for STLport using native IO
1274  streams, and statically link to the debug runtime the tag would be:
1275  "<tt>-sgdpn</tt>".</p>
1276
1277  <h3>Boost Version</h3>
1278
1279  <p>This is the short label for the version of the Boost Libraries. The
1280  major and minor version numbers are taken together separated by an
1281  underscore. For example version 1.31.0 would be tagged as "<tt>-1_31</tt>".
1282  For patch versions the patch number is also included, for example a version
1283  of 1.31.1 would be tagged as "<tt>-1_31_1</tt>".</p>
1284
1285  <h3>Library Type</h3>
1286
1287  <p>The extension holds the type of library. This follows the platform
1288  requirements. On Windows this is "<tt>.dll</tt>" for shared libraries, and
1289  "<tt>.lib</tt>" for static libraries including import libraries. On Unix
1290  this is ".a" for static libraries (archives), and ".so" for shared
1291  libraries. For toolsets that support it in Unix they will also have a full
1292  version extension (for example "<tt>.so.1.31.0</tt>") with a symbolic link
1293  for the un-versioned library.</p>
1294
1295  <h2><a name="auto-link"></a>Automatic Linking on Windows</h2>
1296
1297  <p>For most Boost libraries that have separate source, the correct build
1298  variant is linked against automatically when you include one of that
1299  library's header files.&nbsp; For this feature to work, your compiler must
1300  support the <code>#pragma comment(lib, name)</code> feature (Microsoft
1301  Visual C++, Intel C++, Metrowerks C++ , and Borland C++ all support
1302  this).</p>
1303
1304  <p>If you are linking to a dynamic runtime, then you can choose to link to
1305  either a static or a dynamic Boost library, the default is to do a static
1306  link.&nbsp; You can alter this for a specific library <em>whatever</em> by
1307  defining BOOST_WHATEVER_DYN_LINK to force Boost library <em>whatever</em>
1308  to be linked dynamically.&nbsp; Alternatively you can force all Boost
1309  libraries to dynamic link by defining BOOST_ALL_DYN_LINK.</p>
1310
1311  <p>This feature can be disabled for Boost library <em>whatever</em> by
1312  defining BOOST_WHATEVER_NO_LIB, or for all of Boost by defining
1313  BOOST_ALL_NO_LIB.</p>
1314
1315  <p>If you want to observe which libraries are being linked against then
1316  defining BOOST_LIB_DIAGNOSTIC will cause the auto-linking code to emit a
1317  <code>#pragma message</code> each time a library is selected for
1318  linking.</p>
1319
1320  <p>There are some Boost libraries (<a href=
1321  "../libs/test/doc/index.html">Boost.Test</a> is one one special case),
1322  where automatic linking is not supported for technical reasons: please
1323  consult the documentation for each of the libraries you are using for more
1324  information, and the <a href="../libs/config/index.html">Boost.Config</a>
1325  documentation for more information on configuration macros.&nbsp; The
1326  following table shows the current supported configurations, (Boost
1327  libraries not listed here consist of headers only):</p>
1328
1329  <table id="Table2" cellspacing="1" cellpadding="1" width="100%" border="1">
1330    <tr>
1331      <td><strong>Library</strong></td>
1332
1333      <td><strong>Static Link</strong></td>
1334
1335      <td><strong>Dynamic Link</strong></td>
1336
1337      <td><strong>Default linkage</strong></td>
1338
1339      <td><strong>Automatic library selection</strong></td>
1340
1341      <td><strong>Comments</strong></td>
1342    </tr>
1343
1344    <tr>
1345      <td>Date-Time</td>
1346
1347      <td>Yes</td>
1348
1349      <td>Yes</td>
1350
1351      <td>static</td>
1352
1353      <td>Yes</td>
1354
1355      <td>&nbsp;</td>
1356    </tr>
1357
1358    <tr>
1359      <td>Filesystem</td>
1360
1361      <td>Yes</td>
1362
1363      <td>
1364        <p>Yes</p>
1365      </td>
1366
1367      <td>static</td>
1368
1369      <td>Yes</td>
1370
1371      <td>&nbsp;</td>
1372    </tr>
1373
1374    <tr>
1375      <td>Graph</td>
1376
1377      <td>Yes</td>
1378
1379      <td>No</td>
1380
1381      <td>static</td>
1382
1383      <td>No</td>
1384
1385      <td>The separate Graph library source is needed only when <a href=
1386      "../libs/graph/doc/read_graphviz.html">reading an AT&amp;T graphviz
1387      file.</a></td>
1388    </tr>
1389
1390    <tr>
1391      <td>Iostreams</td>
1392
1393      <td>Yes</td>
1394
1395      <td>
1396        <p>Yes</p>
1397      </td>
1398
1399      <td>static</td>
1400
1401      <td>Yes</td>
1402
1403      <td>&nbsp;</td>
1404    </tr>
1405
1406    <tr>
1407      <td>Program Options</td>
1408
1409      <td>Yes</td>
1410
1411      <td>Yes</td>
1412
1413      <td>static</td>
1414
1415      <td>Yes</td>
1416
1417      <td>&nbsp;</td>
1418    </tr>
1419
1420    <tr>
1421      <td>Python</td>
1422
1423      <td>Yes</td>
1424
1425      <td>Yes</td>
1426
1427      <td>dynamic</td>
1428
1429      <td>No</td>
1430
1431      <td>Since all Python extensions are DLL's it makes sense to dynamic
1432      link to the Boost Python library&nbsp;by default (static linking is
1433      only really an option if you are embedding python).</td>
1434    </tr>
1435
1436    <tr>
1437      <td>Regex</td>
1438
1439      <td>Yes</td>
1440
1441      <td>Yes</td>
1442
1443      <td>static</td>
1444
1445      <td>Yes</td>
1446
1447      <td>&nbsp;</td>
1448    </tr>
1449
1450    <tr>
1451      <td>Serialization</td>
1452
1453      <td>Yes</td>
1454
1455      <td>Yes</td>
1456
1457      <td>static</td>
1458
1459      <td>Yes</td>
1460
1461      <td>&nbsp;</td>
1462    </tr>
1463
1464    <tr>
1465      <td>Signals</td>
1466
1467      <td>Yes</td>
1468
1469      <td>Yes</td>
1470
1471      <td>static</td>
1472
1473      <td>Yes</td>
1474
1475      <td>&nbsp;</td>
1476    </tr>
1477
1478    <tr>
1479      <td>Test</td>
1480
1481      <td>Yes</td>
1482
1483      <td>No</td>
1484
1485      <td>static</td>
1486
1487      <td>No</td>
1488
1489      <td>Which library you link to depends upon which program entry point
1490      you define, rather than which Boost.Test features you use.</td>
1491    </tr>
1492
1493    <tr>
1494      <td>Thread</td>
1495
1496      <td>Partial</td>
1497
1498      <td>Yes</td>
1499
1500      <td>static (Visual C++), otherwise dynamic</td>
1501
1502      <td>Yes</td>
1503
1504      <td>For technical reasons static linking is supported on only one
1505      Windows compiler (Visual C++).</td>
1506    </tr>
1507
1508    <tr>
1509      <td>Wave</td>
1510
1511      <td>Yes</td>
1512
1513      <td>Yes</td>
1514
1515      <td>static</td>
1516
1517      <td>Yes</td>
1518
1519      <td>&nbsp;</td>
1520    </tr>
1521  </table><br>
1522  <br>
1523
1524  <h2><a id="Additional_Steps" name="Additional_Steps"></a>Additional
1525  Steps</h2>
1526
1527  <p>Depending on your platform and configuration you may need to perform
1528  some additional configuration to get Boost to build and install.</p>
1529
1530  <ul>
1531    <li><a href="../libs/config/config.htm#configuring">Configure the boost
1532    source code</a>. This step should not be required on the vast majority of
1533    platforms, but if you're trying to build Boost on an untested or
1534    unsupported platform it may be necessary.<br>
1535    <br></li>
1536
1537    <li>If Boost.Build has problems detecting your Python installation it
1538    will print a short messages about how to configure for finding the Python
1539    installation. For more information, see these detailed <a href=
1540    "../libs/python/doc/building.html#building">instructions</a>.</li>
1541  </ul>
1542  <hr>
1543
1544  <p>Revised $Date: 2005/11/23 14:09:43 $</p>
1545
1546  <p>Copyright &copy; Rene Rivera 2003.<br>
1547  Copyright &copy; Jens Maurer 2001.<br>
1548  Copyright &copy; John Maddock 2004.</p>
1549
1550  <p><small>Distributed under the Boost Software License, Version 1.0. (See
1551  accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy
1552  at <a href=
1553  "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
1554</body>
1555</html>
Note: See TracBrowser for help on using the repository browser.