File: building.html

package info (click to toggle)
boost-jam 3.1.13-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 1,236 kB
  • ctags: 1,845
  • sloc: ansic: 12,912; yacc: 456; sh: 235; makefile: 44
file content (331 lines) | stat: -rw-r--r-- 14,442 bytes parent folder | download
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>