]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | # Copyright Vladimir Prus 2004. |
2 | # Distributed under the Boost Software License, Version 1.0. | |
3 | # (See accompanying file LICENSE_1_0.txt | |
4 | # or copy at http://www.boost.org/LICENSE_1_0.txt) | |
5 | ||
92f5a8d4 TL |
6 | #| tag::doc[] |
7 | ||
8 | [[bbv2.reference.tools.compiler.intel]] | |
9 | = Intel C++ | |
10 | ||
11 | The `intel-*` modules support the Intel C++ command-line compiler. | |
12 | ||
13 | The module is initialized using the following syntax: | |
14 | ||
15 | ---- | |
16 | using intel : [version] : [c++-compile-command] : [compiler options] ; | |
17 | ---- | |
18 | ||
19 | This statement may be repeated several times, if you want to configure | |
20 | several versions of the compiler. | |
21 | ||
22 | If compiler command is not specified, then Boost.Build will look in PATH | |
23 | for an executable `icpc` (on Linux), or `icc.exe` (on Windows). | |
24 | ||
25 | The following options can be provided, using | |
26 | _`<option-name>option-value syntax`_: | |
27 | ||
28 | `cflags`:: | |
29 | Specifies additional compiler flags that will be used when compiling C | |
30 | sources. | |
31 | ||
32 | `cxxflags`:: | |
33 | Specifies additional compiler flags that will be used when compiling C++ | |
34 | sources. | |
35 | ||
36 | `compileflags`:: | |
37 | Specifies additional compiler flags that will be used when compiling both C | |
38 | and C++ sources. | |
39 | ||
40 | `linkflags`:: | |
41 | Specifies additional command line options that will be passed to the linker. | |
42 | ||
43 | The Linux version supports the following additional options: | |
44 | ||
45 | `root`:: | |
46 | Specifies root directory of the compiler installation. This option is | |
47 | necessary only if it is not possible to detect this information from the | |
48 | compiler command -- for example if the specified compiler command is a user | |
49 | script. | |
50 | ||
51 | |# # end::doc[] | |
52 | ||
7c673cae FG |
53 | # This is a generic 'intel' toolset. Depending on the current |
54 | # system, it forwards either to 'intel-linux' or 'intel-win' | |
55 | # modules. | |
56 | ||
57 | import feature ; | |
58 | import os ; | |
59 | import toolset ; | |
60 | ||
61 | feature.extend toolset : intel ; | |
62 | feature.subfeature toolset intel : platform : : propagated link-incompatible ; | |
63 | ||
64 | rule init ( * : * ) | |
65 | { | |
66 | if [ os.name ] = LINUX | |
67 | { | |
68 | toolset.using intel-linux : | |
69 | $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ; | |
70 | } | |
71 | else if [ os.name ] = MACOSX | |
72 | { | |
73 | toolset.using intel-darwin : | |
74 | $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ; | |
75 | } | |
76 | else | |
77 | { | |
78 | toolset.using intel-win : | |
79 | $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ; | |
80 | } | |
81 | } |