| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <meta name="generator" content=
- "HTML Tidy for Cygwin (vers 1st April 2002), see www.w3.org">
- <title>Getting Started</title>
- <meta name="generator" content="Microsoft FrontPage 5.0">
- <meta http-equiv="Content-Language" content="en-us">
- <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
- <link rel="stylesheet" type="text/css" href="../boost.css">
- </head>
- <body bgcolor="#FFFFFF" text="#000000">
- <table summary="" width="100%" border="0" cellspacing="0" cellpadding="0">
- <tr valign="top">
- <td valign="top" align="left"><img src="../boost.png" alt=
- "boost.png (6897 bytes)" width="277" height="86"></td>
- <td align="right" valign="top">
- <table summary="" border="1" cellspacing="0" cellpadding="2">
- <tr>
- <td>
- <table summary="" border="0" cellspacing="0" cellpadding="2">
- <tr>
- <td bgcolor="#DDDDDD">
- <p>. <a href="../index.htm">Home</a><br>
- . <a href="../libs/libraries.htm">Libraries</a><br>
- . <a href="../people/people.htm">People</a><br>
- . <a href="faq.htm">FAQ</a><br>
- . <a href="index.htm">More</a></p>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- <h1>Getting Started</h1>
- <ul>
- <li><a href="#Introduction">Introduction</a></li>
- <li>
- <a href="#Download">Download</a>
- <ul>
- <li><a href="#.zip">.zip file</a></li>
- <li><a href="#.tar.gz">.tar.gz and .tar.bz2 files</a></li>
- <li><a href="#CVS">Boost CVS Repository</a></li>
- </ul>
- </li>
- <li>
- <a href="#Preparation">Preparation</a>
- <ul>
- <li><a href="#Configuring">Configuring the tools</a></li>
- <li><a href="#Tools">Supported Toolsets</a></li>
- </ul>
- </li>
- <li><a href="#Build_Install">Build and Install</a></li>
- <li><a href="#Results">Results</a></li>
- <li><a href="#Additional_Steps">Additional Steps</a></li>
- </ul>
- <h2><a name="Introduction" id="Introduction">Introduction</a></h2>
- <p>These instructions are intended to help you get started using the Boost
- Libraries. This walks you through getting, building, and installing the
- libraries. To summarize these are the steps to get Boost built and
- installed:</p>
- <ol>
- <li><a href="#step1">Download Boost</a>.</li>
- <li><a href="#step2">Install Boost.Jam</a>.</li>
- <li><a href="#step3">Configure your compiler toolset</a>.</li>
- <li><a href="#step4">Go to Boost distribution directory</a>.</li>
- <li><a href="#step5">Build and install</a>.</li>
- </ol>
- <h2><a name="Download" id="Download"></a>Download</h2>
- <table summary="" width="100%" border="0" cellspacing="2" cellpadding="2">
- <tr align="left" valign="top">
- <td width="40" align="center" valign="top" bgcolor="#FFFF66">
- <font size="6"><b><a name="step1" id="step1"></a>1</b></font></td>
- <td>The Boost Libraries are distributed through the SourceForge file
- distribution system. Click here to <b><a href=
- "http://sourceforge.net/project/showfiles.php?group_id=7586"><font size="4">
- download releases from SourceForge</font></a></b>. And unpack the
- release to a convenient location.</td>
- </tr>
- </table>
- <p>The Boost release includes all of the libraries and other material from
- the web site. It is available in <a href="#.zip">ZIP</a>, <a href=
- "#.tar.gz">TAR.GZ</a>, and <a href="#.tar.gz">TAR.BZ2</a> formats. Past
- releases are also available.</p>It is also possible to download current
- snapshots of work-in-progress from Boost's <a href="#CVS">CVS
- repository</a>.
- <h3><a name=".zip" id="zip">.zip</a> file</h3>The .zip format is widely
- supported by both free decoders and commercial compress/archive utilities.
- If you don't already have a .zip file decoder, download one from the
- <a href="http://www.info-zip.org/">Info-ZIP</a> web site, which supplies
- versions for many operating systems.
- <p>Text file line endings in the .zip file are as supplied by each library
- developer. This works fine for Windows, but not for Unix/Linux.
- The .tar.gz and .tar.bz2 files supply Unix/Linux friendly line endings.</p>
- <h3><a name=".tar.gz" id="tar_gz">.tar.gz</a> and .tar.bz2 files</h3>
- <p>The .tar.gz format is widely supported on Unix/Linux platforms. Some
- Windows compress/archive utilities can read the format as well.
- Because the gzip format compresses the archive as a single file rather than
- compressing each file individually, the .tar.gz file is smaller that the
- .zip file.</p>
- <p>The .tar.bz2 format is becoming widely available on Unix/Linux platforms
- and is built into many tar utilities. This format differs for the .tar.gz
- format in the compression used, which is considerably better and therefore
- creates smaller files.</p>
- <p>Text file line endings in the .tar.gz and .tar.bz2 files have been
- converted to newlines for ease of use on Unix/Linux platforms.</p>
- <h3>Boost <a name="CVS" id="CVS">CVS</a> Repository</h3>
- <p>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.</p>
- <h4>Boost CVS access via command line or graphical clients</h4>For those
- who have CVS clients installed, the libraries are also available from the
- public <a href="http://sourceforge.net/cvs/?group_id=7586">Boost CVS
- repository</a>. 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.
- <p>See the much improved <a href=
- "http://sourceforge.net/docman/?group_id=1">CVS documentation</a> (Section
- F) from SourceForge, which includes links to the home pages for various GUI
- and command line clients.</p>
- <p>The general procedure for command-line clients is something like
- this:</p>
- <blockquote>
- <code>cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/boost
- login</code><br>
- [Hit <return> when it asks for a password]<br>
- <code>cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/boost
- checkout boost</code><br>
- <code>cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/boost
- logout</code>
- </blockquote>Read the manual for your CVS client for further information.
- <p>This access is read-only; if you are a library author and wish to have
- CVS write access, please contact one of the <a href=
- "moderators.html">moderators</a>.</p>
- <h4>Boost CVS access via web <a name="Browser" id=
- "Browser">Browser</a></h4>For access to the CVS archive from any modern web
- browser, you can also use the <a href=
- "http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/boost/boost/">web
- browser interface</a>. Try one of the color diffs to see how a
- file has changed over time. <b>Note:</b> this interface is only suitable
- for viewing individual files and their revision histories. If you need an
- image of the whole CVS tree, <a href=
- "http://www.boost-consulting.com">Boost Consulting</a> provides an hourly
- <a href="http://www.boost-consulting.com/boost.tar.bz2">snapshot in
- .tar.bz2 format</a>.
- <h4><a name="generated" id="generated">Documentation</a> generated from
- BoostBook in CVS</h4>
- <p>Some of the Boost documentation is generated from <a href=
- "../doc/html/boostbook.html">BoostBook XML</a> 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 <a href=
- "http://www.boost.org/regression-logs/cs-win32_metacomm/doc/html/libraries.html">
- Nightly Generated Documentation</a> 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.</p>
- <h2><a name="Preparation" id="Preparation"></a>Preparation</h2>
- <p>The recommended way to build and install the Boost Libraries is to use
- <a href="../tools/build/v1/build_system.htm">Boost.Build</a>, the Boost
- Build system. The rest of these instructions explain that use, but it is up
- to you to use this method, or not. Note that some of the libraries also
- include non Boost.Build makefiles and/or project files. But all include the
- needed files for building with Boost.Build.</p>
- <table summary="" width="100%" border="0" cellspacing="2" cellpadding="2">
- <tr align="left" valign="top">
- <td width="40" align="center" valign="top" bgcolor="#FFFF66">
- <font size="6"><b><a name="step2" id="step2"></a>2</b></font></td>
- <td>The build system uses <a href=
- "../tools/build/jam_src/index.html">Boost.Jam</a>, an extension of the
- <a href="http://www.perforce.com/jam/jam.html">Perforce Jam</a>
- portable <i>make</i> replacement. The recommended way to get Boost.Jam
- if you are using a Boost distribution is to <strong><a href=
- "http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=72941">
- download a prebuilt executable</a></strong> from SourceForge. If a
- prebuilt executable is not provided for your platform or you are using
- Boost's sources in an unreleased state, it may be neccessary to
- <a href="../tools/build/jam_src/index.html#building_bjam">build
- <tt>bjam</tt> from sources</a> included in the Boost source tree. To
- install Boost.Jam, copy the <tt>bjam</tt> executable to a location
- accessible in your <tt>PATH</tt>.</td>
- </tr>
- </table>
- <h3><a name="Configuring" id="Configuring">Configuring the tools</a></h3>
- <p>Before using Boost.Build you will need to configure the compiler tools
- you are using. The build system's toolsets are designed to work in either
- of two ways:</p>
- <ol>
- <li>The user sets up all of the environment for each toolset he wants to
- use in the normal way. For example, for Microsoft VC++, ...VC98/Bin or
- .../VC7/Bin is in the PATH environment variable, VCVARS32.BAT or
- VSVARS32.BAT has been invoked, etc. For Metrowerks CodeWarrior, cwenv.bat
- or equivalent has been called and ...Other Metrowerks Tools/Command Line
- Tools is in the path. Many Unix operating systems come preconfigured this
- way and require no user intervention.<br>
- <br></li>
- <li>The user doesn't want his environment cluttered with settings or has
- nonstandard installations for some of his tools. Instead, he or she sets
- variables which point to the toolset installation directories, either in
- the command shell environment or on the <code>bjam</code> command-line.
- These variables are used by the build system to locate the tools and
- invoke the necessary setup. To set the variables on the <tt>bjam</tt>
- command-line you use the "<tt>-s</tt>" option. For example:<br>
- <br>
- <tt>bjam "-sGCC_ROOT_DIRECTORY=/usr/local/gcc-3.3.2"</tt><br>
- <br>
- Some variables, like the toolset <tt>TOOLS</tt> variable, can accept
- multiple values separated by spaces. Others, like the path above, can
- contain spaces. For such circumstances you should use quotes appropriate
- for your command interpreter.<br></li>
- </ol>
- <h3><a name="Tools" id="Tools">Supported Toolsets</a></h3>
- <table summary="" width="100%" border="0" cellspacing="2" cellpadding="2">
- <tr align="left" valign="top">
- <td width="40" align="center" valign="top" bgcolor="#FFFF66">
- <font size="6"><b><a name="step3" id="step3"></a>3</b></font></td>
- <td>The following toolsets are supported by Boost.Build. For
- information about <a href="#Configuring">configuring</a> each toolset,
- click its name in the leftmost column.</td>
- </tr>
- </table><br>
- <table summary="" border="1" cellpadding="5">
- <tr>
- <td><b>TOOLS Name</b></td>
- <td><b>Description</b></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/borland-tools.html"><code>borland</code></a></td>
- <td><a href=
- "http://www.borland.com/bcppbuilder/freecompiler">Borland</a> C++</td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/como-tools.html"><code>como</code></a></td>
- <td><a href="http://www.comeaucomputing.com">Comeau C++</a> compiler
- front-end for non-Windows platforms</td>
- </tr>
- <tr>
- <td><code><a href=
- "../tools/build/v1/como-tools.html">como-win32</a></code></td>
- <td><a href="http://www.comeaucomputing.com">Comeau C++</a> compiler
- front-end for Windows, using Microsoft <a href=
- "http://msdn.microsoft.com/visualc/">Visual C++</a>as a back-end.</td>
- </tr>
- <tr>
- <td><a href="../tools/build/v1/cw-tools.html"><code>cw</code></a></td>
- <td><a href="http://www.metrowerks.com">Metrowerks CodeWarrior</a> Pro
- 6.x, 7.x, 8.x, and 9.x command-line tools</td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/darwin-tools.html"><code>darwin</code></a></td>
- <td>Apple Darwin OS hosted GNU <a href=
- "http://developer.apple.com/tools/compilers.html">GCC</a></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/dmc-tools.html"><code>dmc</code></a></td>
- <td><a href="http://www.digitalmars.com/">Digital Mars C++</a>.</td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/dmc-stlport-tools.html"><code>dmc-stlport</code></a></td>
- <td><a href="http://www.digitalmars.com/">Digital Mars C++</a>, using
- the <a href="http://www.stlport.org">STLport</a> standard library
- implementation</td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/edg-tools.html"><code>edg</code></a></td>
- <td><a href="http://www.edg.com/">Edison Design Group</a> compiler
- front-end (evaluation version)</td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/gcc-tools.html"><code>gcc</code></a></td>
- <td><a href="http://gcc.gnu.org">GNU GCC</a> on Unix and <a href=
- "http://www.cygwin.com">Cygwin</a>.</td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/gcc-stlport-tools.html"><code>gcc-stlport</code></a></td>
- <td><a href="http://gcc.gnu.org">GNU GCC</a> on Unix and <a href=
- "http://www.cygwin.com">Cygwin</a>, using the <a href=
- "http://www.stlport.org">STLport</a> standard library
- implementation</td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/gcc-nocygwin-tools.html"><code>gcc-nocygwin</code></a></td>
- <td>GNU GCC Cygwin command line compiler tools running in "no-cygwin"
- mode (produces commercially redistributable objects)</td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/intel-linux-tools.html"><code>intel-linux</code></a></td>
- <td><a href=
- "http://www.intel.com/software/products/compilers/c60l/">Intel C++ for
- Linux</a></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/intel-win32-tools.html"><code>intel-win32</code></a></td>
- <td><a href=
- "http://www.intel.com/software/products/compilers/c60/">Intel C++ for
- Windows</a> using the Dinkumware standard library in the Intel-required
- Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual C++</a> 6
- or 7 installation</td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/kcc-tools.html"><code>kcc</code></a></td>
- <td><a href="http://developer.intel.com/software/products/kcc/">KAI
- C++</a></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/kylix-tools.html"><code>kylix</code></a></td>
- <td><a href="http://www.borland.com/kylix">Borland C++ for Linux
- (Kylix).</a></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/mingw-tools.html"><code>mingw</code></a></td>
- <td>GNU GCC and associated tools in <a href=
- "http://www.mingw.org">MinGW</a> configuration (produces commercially
- redistributable objects)</td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/mingw-stlport-tools.html"><code>mingw-stlport</code></a></td>
- <td>GNU GCC and associated tools in <a href=
- "http://www.mingw.org">MinGW</a> configuration (produces commercially
- redistributable objects), using the <a href=
- "http://www.stlport.org">STLport</a> standard library
- implementation</td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/mipspro-tools.html"><code>mipspro</code></a></td>
- <td>SGI <a href=
- "http://www.sgi.com/developers/devtools/languages/mipspro.html">MIPSpro
- C and C++</a></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/msvc-tools.html"><code>msvc</code></a></td>
- <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
- C++</a> version 6 command-line tools. NOTE; For version 7.x (the .NET
- series) use the vc7 or vc7.1 toolsets below.</td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/msvc-stlport-tools.html"><code>msvc-stlport</code></a></td>
- <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
- C++</a> version 6 command-line tools, using the <a href=
- "http://www.stlport.org">STLport</a> standard library implementation.
- NOTE; For version 7.x (the .NET series) use the vc7-stlport or
- vc7.1-stlport toolsets below.</td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/sunpro-tools.html"><code>sunpro</code></a></td>
- <td><a href=
- "http://wwws.sun.com/software/sundev/suncc/index.html">SunPRO C++</a>
- compiler</td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/tru64cxx-tools.html"><code>tru64cxx</code></a></td>
- <td><a href="http://www.tru64unix.compaq.com/cplus/">Compaq C++</a> for
- Tru64 UNIX (versions prior to 6.5)</td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/tru64cxx-tools.html"><code>tru64cxx65</code></a></td>
- <td><a href="http://www.tru64unix.compaq.com/cplus/">Compaq C++</a>
- Version 6.5 for Tru64 UNIX</td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/vacpp-tools.html"><code>vacpp</code></a></td>
- <td><a href="http://www-3.ibm.com/software/ad/vacpp/">IBM Visual Age
- C++</a> command-line tools</td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/vc7-tools.html"><code>vc7</code></a></td>
- <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
- C++</a> command-line tools from Visual Studio .NET.</td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/vc7-stlport-tools.html"><code>vc7-stlport</code></a></td>
- <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
- C++</a> command-line tools from Visual Studio .NET + STLPort.</td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/vc7.1-tools.html"><code>vc7.1</code></a></td>
- <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
- C++</a> command-line tools from Visual Studio .NET 2003.</td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/vc7.1-stlport-tools.html"><code>vc7.1-stlport</code></a></td>
- <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
- C++</a> command-line tools from Visual Studio .NET 2003 + STLPort.</td>
- </tr>
- </table>
- <h2><a name="Build_Install" id="Build_Install"></a>Build and Install</h2>
- <p>The common build and install process is driven by the top-level build
- file (<a href="../Jamfile">Jamfile</a>).</p>
- <table summary="" width="100%" border="0" cellspacing="2" cellpadding="2">
- <tr align="left" valign="top">
- <td width="40" align="center" valign="top" bgcolor="#FFFF66">
- <font size="6"><b><a name="step4" id="step4"></a>4</b></font></td>
- <td>
- <p>First you need to change to the directory where you have the Boost
- distribution you downloaded. For example:</p>
- <blockquote>
- <p><code>chdir boost-1.31.0</code></p>
- </blockquote>
- </td>
- </tr>
- </table>
- <p>The default build and install attempts to build all available libraries
- and install to default locations the libraries and Boost header files. On
- Unix systems the default install location is "<tt>/usr/local</tt>", and on
- Windows systems the default is "<tt>C:\Boost</tt>". Within those
- directories libraries are installed to the "<tt>lib</tt>" subdirectory, and
- headers to an "<tt>include/boost-1_31</tt>" subdirectory, the version will
- reflect the distribution you are installing.</p>
- <table summary="" width="100%" border="0" cellspacing="2" cellpadding="2">
- <tr align="left" valign="top">
- <td width="40" align="center" valign="top" bgcolor="#FFFF66">
- <font size="6"><b><a name="step5" id="step5"></a>5</b></font></td>
- <td>
- Invoke the build system, specifying the <a href=
- "#Tools">toolset</a>(s) you wish to use, to build and install. For
- example for GNU/GCC.
- <blockquote>
- <p><code>bjam "-sTOOLS=gcc" install</code></p>
- </blockquote>
- <p>Or if you are interested only in the built libraries you can have
- them built and collected to a common directory without
- installation.</p>
- <blockquote>
- <p><code>bjam "-sTOOLS=gcc" stage</code></p>
- </blockquote>
- </td>
- </tr>
- </table>
- <p>The build and install system can be controlled through a set of options
- similar in style to GNU configure options. The options allow you to, among
- other things, change the install location, disable building of libraries,
- etc. You can see a summary of the available options by invoking "<tt>bjam
- --help</tt>". The full invocation takes the form:</p>
- <blockquote>
- <p><code>bjam [<i>options</i>...] [install|stage]</code></p>
- </blockquote>
- <table summary="" border="1" cellspacing="0" cellpadding="2">
- <tr>
- <th>Action</th>
- <td> </td>
- </tr>
- <tr>
- <td nowrap align="left" valign="top"><i>none</i></td>
- <td align="left" valign="top">Only builds the Boost libraries. This
- lets you do the first part of what the <tt>install</tt> action normally
- does without copying the built libraries to the install location.</td>
- </tr>
- <tr>
- <td nowrap align="left" valign="top"><tt>install</tt></td>
- <td align="left" valign="top">Builds and installs Boost libraries and
- headers.</td>
- </tr>
- <tr>
- <td nowrap align="left" valign="top"><tt>stage</tt></td>
- <td align="left" valign="top">Builds the Boost libraries and copies
- them into a common directory.</td>
- </tr>
- <tr>
- <th nowrap>Option</th>
- <td align="left" valign="top"> </td>
- </tr>
- <tr>
- <td nowrap align="left" valign="top"><tt>--help</tt></td>
- <td align="left" valign="top">Shows a short summary of the options and
- syntax of the command.</td>
- </tr>
- <tr>
- <td nowrap align="left" valign="top">
- <tt>-sTOOLS=<<i>toolsets</i>></tt></td>
- <td align="left" valign="top">The list of tools to compile with.
- Usually only one is needed.</td>
- </tr>
- <tr>
- <td nowrap align="left" valign="top"><tt>--prefix=PREFIX</tt></td>
- <td align="left" valign="top">Install architecture independent files
- here.<br>
- Default; <tt>C:\Boost</tt> on Win32.<br>
- Default; <tt>/usr/local</tt> on Unix. Linux, etc.</td>
- </tr>
- <tr>
- <td nowrap align="left" valign="top">
- <tt>--exec-prefix=EPREFIX</tt></td>
- <td align="left" valign="top">Install architecture dependent files
- here.<br>
- Default; <tt>PREFIX</tt></td>
- </tr>
- <tr>
- <td nowrap align="left" valign="top"><tt>--libdir=DIR</tt></td>
- <td align="left" valign="top">Install libraries here.<br>
- Default; <tt>EPREFIX/lib</tt></td>
- </tr>
- <tr>
- <td nowrap align="left" valign="top"><tt>--includedir=DIR</tt></td>
- <td align="left" valign="top">Install source headers here. The Boost
- headers are installed in a version specific
- "<tt>boost-<version></tt>" subdirectory in this directory.<br>
- Default; <tt>PREFIX/include</tt></td>
- </tr>
- <tr>
- <td nowrap align="left" valign="top"><tt>--builddir=DIR</tt></td>
- <td align="left" valign="top">Build in this location instead of
- building within the distribution tree. This moves where the sources for
- the libraries are compiled to before they are installed.
- Recommended!</td>
- </tr>
- <tr>
- <td nowrap align="left" valign="top"><tt>--stagedir=DIR</tt></td>
- <td align="left" valign="top">When staging only, with the
- "<tt>stage</tt>" action, copy to the given location.<br>
- Default; <tt>./stage</tt></td>
- </tr>
- <tr>
- <td nowrap align="left" valign="top">
- <tt>--without-<<i>library</i>></tt></td>
- <td align="left" valign="top">Do not build, stage, or install the
- specified library.</td>
- </tr>
- <tr>
- <td nowrap align="left" valign="top">
- <tt>--with-<<i>library</i>></tt></td>
- <td align="left" valign="top">Build, stage, or install the specified
- library. This changes the default from trying to build all possible
- libraries, to only building the speicfied libraries.</td>
- </tr>
- <tr>
- <td nowrap align="left" valign="top">
- <tt>--with-python-root[=PYTHON_ROOT]</tt></td>
- <td align="left" valign="top">Build Boost.Python libraries with the
- Python devel packages located at <tt>PYTHON_ROOT</tt>. The Boost.Python
- libraries are built only if the build can find the Python development
- package at this location.<br>
- Default; <tt>C:\tools\python</tt> on Win32.<br>
- Default; <tt>/usr/local</tt> on Unix, Linux, etc.<br>
- Default; <tt>/usr</tt> on Cygwin.</td>
- </tr>
- <tr>
- <td nowrap align="left" valign="top"><tt>--with-pydebug</tt></td>
- <td align="left" valign="top">Build Boost.Python libraries using the
- Python debug runtime. This builds an additional set of libraries for
- use with the debug version of Python. The regular versions of the
- Boost.Python libraries are also built.</td>
- </tr>
- </table>
- <p>There are additional options as supported by <a href=
- "../tools/build/v1/build_system.htm">Boost.Build</a> and <a href=
- "../tools/build/jam_src/index.html">Boost.Jam</a>. Of the additional
- options perhaps the most imporant is "<tt>-s<a href=
- "../tools/build/v1/build_system.htm#build">BUILD</a>=<features/variants></tt>"
- which lets you override what is built by default. The
- "<tt><features/variants></tt>" value is a list, separated by spaces,
- of build requests. Features take the form of a tag and a value or values.
- And variants are single symbolic names for a collection of features. For
- example the default is to request "<tt>debug release
- <runtime-link>static/dynamic <threading>single/multi</tt>", in
- which "<tt>debug</tt>" and "<tt>release</tt>" are variants, and the rest
- features with two values each.</p>
- <p>If you have some feedback about the build and install process please
- drop us a line at the <a href="mailing_lists.htm#jamboost">Boost.Build
- mailing list</a>. We are particularly interested if it works for your
- platform and if it there is anything that you feel could be done
- better.</p>
- <h2><a name="Results" id="Results"></a>Results</h2>
- <p>The results of building come in to forms: static libraries, and dynamic
- libraries. Depending on the platform the libraries produced have different
- names to accommodate the platform requirements. For a single Boost library
- the build with the default will produce eight different libraries. For
- example building the Boost.Datetime library on Unix type system it would
- produce:</p>
- <ol>
- <li><tt>libboost_date_time-gcc-d-1_31.so</tt></li>
- <li><tt>libboost_date_time-gcc-mt-d-1_31.so</tt></li>
- <li><tt>libboost_date_time-gcc-1_31.so</tt></li>
- <li><tt>libboost_date_time-gcc-mt-1_31.so</tt></li>
- <li><tt>libboost_date_time-gcc-d-1_31.a</tt></li>
- <li><tt>libboost_date_time-gcc-mt-d-1_31.a</tt></li>
- <li><tt>libboost_date_time-gcc-1_31.a</tt></li>
- <li><tt>libboost_date_time-gcc-mt-1_31.a</tt><br></li>
- </ol>
- <table summary="" border="0" cellspacing="0" cellpadding="0" width="100%">
- <tr>
- <td colspan="11">
- <table summary="" border="0" cellspacing="2" cellpadding="2" bgcolor=
- "#CCCCCC">
- <tr>
- <th>· Library Prefix</th>
- </tr>
- </table>
- </td>
- <td width="80%"> </td>
- </tr>
- <tr>
- <td rowspan="7" valign="bottom" bgcolor="#CCCCCC"><tt><font size=
- "+1">lib</font></tt></td>
- <td colspan="11">
- <table summary="" border="0" cellspacing="2" cellpadding="2">
- <tr>
- <th>· Library Name</th>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td rowspan="6" valign="bottom"><tt><font size=
- "+1">boost_date_time</font></tt></td>
- <td colspan="10">
- <table summary="" border="0" cellspacing="2" cellpadding="2" bgcolor=
- "#CCCCCC">
- <tr>
- <th>· Toolset</th>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td rowspan="5" valign="bottom" bgcolor="#CCCCCC"><tt><font size=
- "+1">-</font></tt></td>
- <td rowspan="5" valign="bottom" bgcolor="#CCCCCC"><tt><font size=
- "+1">gcc</font></tt></td>
- <td colspan="8">
- <table summary="" border="0" cellspacing="2" cellpadding="2">
- <tr>
- <th>· Threading</th>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td rowspan="4" valign="bottom"><tt><font size="+1">-</font></tt></td>
- <td rowspan="4" valign="bottom"><tt><font size="+1">mt</font></tt></td>
- <td colspan="6">
- <table summary="" border="0" cellspacing="2" cellpadding="2" bgcolor=
- "#CCCCCC">
- <tr>
- <th>· Runtime</th>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td rowspan="3" valign="bottom" bgcolor="#CCCCCC"><tt><font size=
- "+1">-</font></tt></td>
- <td rowspan="3" valign="bottom" bgcolor="#CCCCCC"><tt><font size=
- "+1">d</font></tt></td>
- <td colspan="4">
- <table summary="" border="0" cellspacing="2" cellpadding="2">
- <tr>
- <th>· Boost Version</th>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td rowspan="2" valign="bottom"><tt><font size="+1">-</font></tt></td>
- <td rowspan="2" valign="bottom"><tt><font size=
- "+1">1_31</font></tt></td>
- <td colspan="2">
- <table summary="" border="0" cellspacing="2" cellpadding="2" bgcolor=
- "#CCCCCC">
- <tr>
- <th>· Library Type</th>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td valign="bottom" bgcolor="#CCCCCC"><tt><font size=
- "+1">.a</font></tt></td>
- <td> </td>
- </tr>
- </table>
- <h3>Library Prefix</h3>
- <p>The "lib" prefix on the libraries is a requirement on many platforms,
- like Unix, and on others like GCC running on Windows. The prefix is
- therefore added to all libraries on Unix type systems, and to static
- libraries on Windows. That is on Unix shared libraries and static libraries
- (object archives) are named respectively:</p>
- <ul>
- <li><tt>lib*.so</tt></li>
- <li><tt>lib*.a</tt></li>
- </ul>
- <p>On Windows shared libraries do not have the prefix to differentiate the
- import libraries from static libraries. Consequently on Windows the
- libraries are named:</p>
- <ul>
- <li><tt>*.dll</tt></li>
- <li><tt>*.lib</tt></li>
- <li><tt>lib*.lib</tt></li>
- </ul>
- <h3>Library Name</h3>
- <p>For Boost libraries the name has the "<tt>boost_</tt>" prefix to
- separate them from other libraries in your system.</p>
- <h3>Toolset</h3>
- <p>The toolset name is an abbreviation based on the compiler you are
- building with. The abbreviation is composed of a short, 2 to 4 characters,
- tag for the compiler and a version number of the compiler's major and minor
- revision (if available). For example if your toolset is
- "<tt>gcc-3.2.3</tt>" the toolset tag would be "<tt>gcc32</tt>". The toolset
- abbreviations used are as follows:</p>
- <table border="1" cellpadding="5" summary="">
- <tr>
- <td><b>TOOLS Name</b></td>
- <td><b>Abbreviation</b></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/borland-tools.html"><code>borland</code></a></td>
- <td><tt>bcb</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/como-tools.html"><code>como</code></a></td>
- <td><tt>como</tt></td>
- </tr>
- <tr>
- <td><code><a href=
- "../tools/build/v1/como-tools.html">como-win32</a></code></td>
- <td><tt>como</tt></td>
- </tr>
- <tr>
- <td><a href="../tools/build/v1/cw-tools.html"><code>cw</code></a></td>
- <td><tt>cw</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/darwin-tools.html"><code>darwin</code></a></td>
- <td><tt>osx</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/dmc-tools.html"><code>dmc</code></a></td>
- <td><tt>dmc</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/dmc-stlport-tools.html"><code>dmc-stlport</code></a></td>
- <td><tt>dmc</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/edg-tools.html"><code>edg</code></a></td>
- <td><tt>edg</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/gcc-tools.html"><code>gcc</code></a></td>
- <td><tt>gcc</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/gcc-stlport-tools.html"><code>gcc-stlport</code></a></td>
- <td><tt>gcc</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/gcc-nocygwin-tools.html"><code>gcc-nocygwin</code></a></td>
- <td><tt>gcc</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/intel-linux-tools.html"><code>intel-linux</code></a></td>
- <td><tt>il</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/intel-win32-tools.html"><code>intel-win32</code></a></td>
- <td><tt>iw</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/kcc-tools.html"><code>kcc</code></a></td>
- <td><tt>kcc</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/kylix-tools.html"><code>kylix</code></a></td>
- <td><tt>bck</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/mingw-tools.html"><code>mingw</code></a></td>
- <td><tt>mgw</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/mingw-stlport-tools.html"><code>mingw-stlport</code></a></td>
- <td><tt>mgw</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/mipspro-tools.html"><code>mipspro</code></a></td>
- <td><tt>mp</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/msvc-tools.html"><code>msvc</code></a></td>
- <td><tt>vc</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/msvc-stlport-tools.html"><code>msvc-stlport</code></a></td>
- <td><tt>vc</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/sunpro-tools.html"><code>sunpro</code></a></td>
- <td><tt>sw</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/tru64cxx-tools.html"><code>tru64cxx</code></a></td>
- <td><tt>tru</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/tru64cxx-tools.html"><code>tru64cxx65</code></a></td>
- <td><tt>tru</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/vacpp-tools.html"><code>vacpp</code></a></td>
- <td><tt>xlc</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/vc7-tools.html"><code>vc7</code></a></td>
- <td><tt>vc</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/vc7-stlport-tools.html"><code>vc7-stlport</code></a></td>
- <td><tt>vc</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/vc7.1-tools.html"><code>vc7.1</code></a></td>
- <td><tt>vc</tt></td>
- </tr>
- <tr>
- <td><a href=
- "../tools/build/v1/vc7.1-stlport-tools.html"><code>vc7.1-stlport</code></a></td>
- <td><tt>vc</tt></td>
- </tr>
- <tr>
- <td>Others</td>
- <td>The first part of the toolset name.</td>
- </tr>
- </table>
- <h3>Threading</h3>
- <p>This tag indicates if the library is compiled with threading support. If
- threading is enabled "<tt>-mt</tt>" is added, otherwise nothing is
- added.</p>
- <h3>Runtime</h3>
- <p>This specifies the type of runtime the library was compiled against, and
- the type of code that is compiled. More commonly this encodes the ABI
- variation used in the code. For each feature of the runtime system and code
- compilation option a single letter is added to this tag.</p>
- <table border="1" cellpadding="5" summary="">
- <tr>
- <td><b>Key</b></td>
- <td><b>Feature</b></td>
- </tr>
- <tr>
- <td><tt>s</tt></td>
- <td>Static link to runtime.</td>
- </tr>
- <tr>
- <td><tt>g</tt></td>
- <td>Debug runtime.</td>
- </tr>
- <tr>
- <td><tt>y</tt></td>
- <td>Debug Python system.</td>
- </tr>
- <tr>
- <td><tt>d</tt></td>
- <td>Debug enabled code.</td>
- </tr>
- <tr>
- <td><tt>p</tt></td>
- <td>STLport runtime, instead of the vendor toolset runtime.</td>
- </tr>
- <tr>
- <td><tt>n</tt></td>
- <td>STLport runtime using the "native" IO streams instead of the
- STLport IO streams.</td>
- </tr>
- </table>
- <p>For example if you compile debug code for STLport using native IO
- streams, and statically link to the debug runtime the tag would be:
- "<tt>-sgdpn</tt>".</p>
- <h3>Boost Version</h3>
- <p>This is the short label for the version of the Boost Libraries. The
- major and minor version numbers are taken together separated by an
- underscore. For example version 1.31.0 would be tagged as "<tt>-1_31</tt>".
- The patch version number is not included because it is assumed that patch
- versions are upward compatible.</p>
- <h3>Library Type</h3>
- <p>The extension holds the type of library. This follows the platform
- requirements. On Windows this is "<tt>.dll</tt>" for shared libraries, and
- "<tt>.lib</tt>" for static libraries including import libraries. On Unix
- this is ".a" for static libraries (archives), and ".so" for shared
- libraries. For toolsets that support it in Unix they will also have a full
- version extension (for example "<tt>.so.1.31.0</tt>") with a symbolic link
- for the un-versioned library.</p>
- <h2><a name="Additional_Steps" id="Additional_Steps"></a>Additional
- Steps</h2>
- <p>Depending on your platform and configuration you may need to perform
- some additional configuration to get Boost to build and install.</p>
- <ul>
- <li><a href="../libs/config/config.htm#configuring">Configure the boost
- source code</a>. This step should not be required on the vast majority of
- platforms, but if you're trying to build Boost on an untested or
- unsupported platform it may be necessary.<br>
- <br></li>
- <li>If Boost.Build has problems detecting your Python installation it
- will print a short messages about how to configure for finding the Python
- installation. For more information, see these detailed <a href=
- "../libs/python/doc/building.html#building">instructions</a>.</li>
- </ul>
- <hr>
- <p>Revised <!--webbot bot="Timestamp" s-type="EDITED"
- s-format="%d %B, %Y" startspan -->3
- October, 2004 <!--webbot bot="Timestamp" endspan i-checksum="38706" --></p>
- <p>Copyright © Rene Rivera 2003.<br>
- Copyright © Jens Maurer 2001.</p>
- <p><small>Distributed under the Boost Software License, Version 1.0. (See
- accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy
- at <a href=
- "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
- </body>
- </html>
|