1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331
|
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Building BJam</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../index.html" title="Boost.Jam : 3.1.13">
<link rel="up" href="../index.html" title="Boost.Jam : 3.1.13">
<link rel="prev" href="../index.html" title="Boost.Jam : 3.1.13">
<link rel="next" href="usage.html" title=" Using BJam">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src=".././boost.png"></td></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../index.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="usage.html"><img src="../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="jam.building"></a><a href="building.html" title=" Building BJam"> Building BJam</a></h2></div></div></div>
<p>
Installing <code class="literal">BJam</code> after building it is simply a matter of
copying the generated executables someplace in your <code class="literal">PATH</code>.
For building the executables there are a set of <code class="literal">build</code> bootstrap
scripts to accomodate particular environments. The scripts take one optional
argument, the name of the toolset to build with. When the toolset is not given
an attempt is made to detect an available toolset and use that. The build scripts
accept these arguments:
</p>
<pre class="programlisting"><span class="emphasis"><em>build</em></span> [<span class="emphasis"><em>toolset</em></span>]
</pre>
<p>
Running the scripts without arguments will give you the best chance of success.
On Windows platforms from a command console do:
</p>
<pre class="programlisting">cd <span class="emphasis"><em>jam source location</em></span>
.\build.bat
</pre>
<p>
On Unix type platforms do:
</p>
<pre class="programlisting">cd <span class="emphasis"><em>jam source location</em></span>
sh ./build.sh
</pre>
<p>
For the Boost.Jam source included with the Boost distribution the <span class="emphasis"><em>jam
source location</em></span> is <code class="literal">BOOST_ROOT/tools/jam/src</code>.
</p>
<p>
If the scripts fail to detect an appropriate toolset to build with your particular
toolset may not be auto-detectable. In that case, you can specify the toolset
as the first argument, this assumes that the toolset is readily available in
the <code class="literal">PATH</code>.
</p>
<div class="note"><table border="0" summary="Note">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../images/note.png"></td>
<th align="left">Note</th>
</tr>
<tr><td align="left" valign="top"><p>
The toolset used to build Boost.Jam is independent of the toolsets used for
Boost.Build. Only one version of Boost.Jam is needed to use Boost.Build.
</p></td></tr>
</table></div>
<p>
The supported toolsets, and wether they are auto-detected, are:
</p>
<div class="informaltable">
<h4>
<a name="id2508292"></a>
<span class="table-title">Supported Toolsets</span>
</h4>
<table class="table">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>Script</th>
<th>Platform</th>
<th>Toolset</th>
<th>Detection</th>
</tr></thead>
<tbody>
<tr>
<td><code class="literal">build.bat</code></td>
<td>Windows NT, 2000, and
XP</td>
<td><a href="http://www.borland.com/bcppbuilder/freecompiler" target="_top"><code class="literal">borland</code></a><br>
<a href="http://www.borland.com/" target="_top">Borland</a> C++Builder (BCC
5.5)</td>
<td> * Common install location: "<code class="literal">C:\Borland\BCC55</code>"<br>
* <code class="literal">BCC32.EXE</code> in <code class="literal">PATH</code> </td>
</tr>
<tr>
<td></td>
<td></td>
<td><a href="http://www.comeaucomputing.com/" target="_top"><code class="literal">como</code></a><br>
Comeau Computing C/C++</td>
<td> </td>
</tr>
<tr>
<td></td>
<td></td>
<td><a href="http://gcc.gnu.org/" target="_top"><code class="literal">gcc</code></a><br>
GNU GCC</td>
<td> </td>
</tr>
<tr>
<td></td>
<td></td>
<td><a href="http://gcc.gnu.org/" target="_top"><code class="literal">gcc-nocygwin</code></a><br>
GNU GCC</td>
<td> </td>
</tr>
<tr>
<td></td>
<td></td>
<td><a href="http://www.intel.com/software/products/compilers/c60" target="_top"><code class="literal">intel-win32</code></a><br>
Intel C++ Compiler for Windows</td>
<td> * <code class="literal">ICL.EXE</code>
in <code class="literal">PATH</code> </td>
</tr>
<tr>
<td></td>
<td></td>
<td><a href="http://www.metrowerks.com/" target="_top"><code class="literal">metrowerks</code></a><br>
MetroWerks CodeWarrior C/C++ 7.x, 8.x, 9.x</td>
<td> * <code class="literal">CWFolder</code>
variable configured * <code class="literal">MWCC.EXE</code> in <code class="literal">PATH</code>
</td>
</tr>
<tr>
<td></td>
<td></td>
<td><a href="http://www.mingw.org/" target="_top"><code class="literal">mingw</code></a><br>
GNU <a href="http://gcc.gnu.org/" target="_top">GCC</a> as the <a href="http://www.mingw.org/" target="_top">MinGW</a>
configuration</td>
<td> * Common install location: "<code class="literal">C:\MinGW</code>"
</td>
</tr>
<tr>
<td></td>
<td></td>
<td><a href="http://msdn.microsoft.com/visualc/" target="_top"><code class="literal">msvc</code></a><br>
Microsoft Visual C++ 6.x</td>
<td> * <code class="literal">VCVARS32.BAT</code>
already configured<br> * <code class="literal">%MSVCDir%</code> is present in
environment<br> * Common install locations: "<code class="literal">%ProgramFiles%\Microsoft
Visual Studio</code>", "<code class="literal">%ProgramFiles%\Microsoft
Visual C++</code>"<br> * <code class="literal">CL.EXE</code> in <code class="literal">PATH</code><br>
* <code class="literal">VCVARS32.BAT</code> in <code class="literal">PATH</code> </td>
</tr>
<tr>
<td></td>
<td></td>
<td><a href="http://msdn.microsoft.com/visualc/" target="_top"><code class="literal">vc7</code></a><br>
Microsoft Visual C++ 7.x</td>
<td> * <code class="literal">VCVARS32.BAT</code>
or <code class="literal">VSVARS32.BAT</code> already configured * <code class="literal">%VS71COMNTOOLS%</code>
is present in environment<br> * <code class="literal">%VCINSTALLDIR%</code> is
present in environment<br> * Common install locations: "<code class="literal">%ProgramFiles%\Microsoft
Visual Studio .NET</code>", "<code class="literal">%ProgramFiles%\Microsoft
Visual Studio .NET 2003</code>"<br> * <code class="literal">CL.EXE</code>
in <code class="literal">PATH</code><br> * <code class="literal">VCVARS32.BAT</code> in
<code class="literal">PATH</code> </td>
</tr>
<tr>
<td></td>
<td></td>
<td><a href="http://msdn.microsoft.com/visualc/" target="_top"><code class="literal">vc8</code></a><br>
Microsoft Visual C++ 8.x</td>
<td> * <code class="literal">VCVARS32.BAT</code>
or <code class="literal">VSVARS32.BAT</code> already configured<br> * <code class="literal">%VS80COMNTOOLS%</code>
is present in environment<br> * Common install location: "<code class="literal">%ProgramFiles%\Microsoft
Visual Studio 8</code>"<br> * <code class="literal">CL.EXE</code> in
<code class="literal">PATH</code><br> * <code class="literal">VCVARS32.BAT</code> in <code class="literal">PATH</code>
</td>
</tr>
<tr>
<td><code class="literal">build.sh</code></td>
<td>Unix, Linux, Cygwin,
etc.</td>
<td><a href="http://www.hp.com/go/c++" target="_top"><code class="literal">acc</code></a><br>
HP-UX aCC</td>
<td> * <code class="literal">aCC</code> in <code class="literal">PATH</code><br>
* <code class="literal">uname</code> is "HP-UX" </td>
</tr>
<tr>
<td></td>
<td></td>
<td><a href="http://www.comeaucomputing.com/" target="_top"><code class="literal">como</code></a><br>
Comeau Computing C/C++</td>
<td> * como in <code class="literal">PATH</code>
</td>
</tr>
<tr>
<td></td>
<td></td>
<td><a href="http://gcc.gnu.org/" target="_top"><code class="literal">gcc</code></a><br>
GNU GCC</td>
<td> * gcc in <code class="literal">PATH</code> </td>
</tr>
<tr>
<td></td>
<td></td>
<td><a href="http://www.intel.com/software/products/compilers/c60l/" target="_top"><code class="literal">intel-linux</code></a><br>
Intel C++ for Linux</td>
<td> * <code class="literal">icc</code> in <code class="literal">PATH</code><br>
* Common install locations: "<code class="literal">/opt/intel/cc/9.0</code>",
"<code class="literal">/opt/intel_cc_80</code>", "<code class="literal">/opt/intel/compiler70</code>",
"<code class="literal">/opt/intel/compiler60</code>", "<code class="literal">/opt/intel/compiler50</code>"
</td>
</tr>
<tr>
<td></td>
<td></td>
<td><code class="literal">kcc</code><br>
Intel KAI C++</td>
<td> * <code class="literal">KCC</code> in <code class="literal">PATH</code>
</td>
</tr>
<tr>
<td></td>
<td></td>
<td><a href="http://www.borland.com/bcppbuilder/freecompiler" target="_top"><code class="literal">kylix</code></a><br>
<a href="http://www.borland.com/" target="_top">Borland</a> C++Builder</td>
<td>
* bc++ in PATH </td>
</tr>
<tr>
<td></td>
<td></td>
<td><a href="http://www.sgi.com/developers/devtools/languages/mipspro.html" target="_top"><code class="literal">mipspro</code></a><br>
SGI MIPSpro C</td>
<td> * <code class="literal">uname</code> is "<code class="literal">IRIX</code>"
or "<code class="literal">IRIX64</code>" </td>
</tr>
<tr>
<td></td>
<td></td>
<td><code class="literal">sunpro</code><br>
Sun Workshop 6 C++</td>
<td> * Standard install location: "<code class="literal">/opt/SUNWspro</code>"
</td>
</tr>
<tr>
<td></td>
<td></td>
<td><code class="literal">qcc</code><br>
<a href="http://www.qnx.com/" target="_top">QNX Neutrino</a>
</td>
<td>
* <code class="literal">uname</code> is "<code class="literal">QNX</code>" and
<code class="literal">qcc</code> in <code class="literal">PATH</code> </td>
</tr>
<tr>
<td></td>
<td></td>
<td><a href="http://www.tru64unix.compaq.com/cplus/" target="_top"><code class="literal">true64cxx</code></a><br>
Compaq C++ Compiler for True64 UNIX</td>
<td> * <code class="literal">uname</code>
is "<code class="literal">OSF1</code>" </td>
</tr>
<tr>
<td></td>
<td></td>
<td><a href="http://www-3.ibm.com/software/ad/vacpp/" target="_top"><code class="literal">vacpp</code></a><br>
IBM VisualAge C++</td>
<td> * <code class="literal">xlc</code> in <code class="literal">PATH</code>
</td>
</tr>
<tr>
<td></td>
<td>MacOS X</td>
<td><a href="http://developer.apple.com/tools/compilers.html" target="_top"><code class="literal">darwin</code></a><br>
Apple MacOS X GCC</td>
<td> * <code class="literal">uname</code> is "<code class="literal">Darwin</code>"
</td>
</tr>
<tr>
<td></td>
<td>Windows NT, 2000, and XP</td>
<td><a href="http://www.mingw.org/" target="_top"><code class="literal">mingw</code></a><br> GNU
<a href="http://gcc.gnu.org/" target="_top">GCC</a> as the <a href="http://www.mingw.org/" target="_top">MinGW</a>
configuration with the MSYS shell</td>
<td> * Common install location:
"<code class="literal">/mingw</code>" </td>
</tr>
</tbody>
</table>
</div>
<p>
The built executables are placed in a subdirectory specific to your platform.
For example, in Linux running on an Intel x86 compatible chip, the executables
are placed in: "<code class="literal">bin.linuxx86</code>". The <code class="literal">bjam[.exe]</code>
executable can be used to invoke Boost.Build.
</p>
<p>
The build scripts support additional invocation arguments for use by developers
of Boost.Jam. The extra arguments come after the toolset, and can take the
form of "<code class="literal">--option</code>" or targets for the <code class="literal">build.jam</code>
script:
</p>
<pre class="programlisting"><span class="emphasis"><em>build</em></span> [<span class="emphasis"><em>toolset</em></span>] [--<span class="emphasis"><em>option</em></span>+ <span class="emphasis"><em>target</em></span>*]
</pre>
<p>
There is currently only one available option, "<code class="literal">--debug</code>",
which builds debugging versions of the executable. When built they are placed
in their own directory "<code class="literal">bin./platform/.debug</code>".
To specify targets without options, one can suply a special ignore option "<code class="literal">---</code>".
</p>
<p>
Currently there are two targets supported: <code class="literal">dist</code>, and <code class="literal">clean</code>.
Respectively they: generate packages (compressed archives) as appropriate for
distribution in the platform, or remove all the built executables and objects.
</p>
</div>
<table width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright 2003-2006 Rene
Rivera, David Abrahams, Vladimir Prus</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../index.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="usage.html"><img src="../images/next.png" alt="Next"></a>
</div>
</body>
</html>
|