mirror of
https://github.com/boostorg/build.git
synced 2026-02-15 13:02:11 +00:00
86 lines
2.7 KiB
Plaintext
86 lines
2.7 KiB
Plaintext
# Copyright Vladimir Prus 2004.
|
|
# Distributed under the Boost Software License, Version 1.0.
|
|
# (See accompanying file LICENSE.txt
|
|
# or copy at https://www.bfgroup.xyz/b2/LICENSE.txt)
|
|
|
|
#| tag::doc[]
|
|
|
|
[[bbv2.reference.tools.compiler.intel]]
|
|
= Intel C++
|
|
|
|
The `intel-*` modules support the Intel C++ command-line compiler.
|
|
|
|
The module is initialized using the following syntax:
|
|
|
|
----
|
|
using intel : [version] : [c++-compile-command] : [compiler options] ;
|
|
----
|
|
|
|
This statement may be repeated several times, if you want to configure
|
|
several versions of the compiler.
|
|
|
|
If compiler command is not specified, then B2 will look in PATH
|
|
for an executable `icpc` (on Linux), or `icl.exe` (on Windows).
|
|
|
|
The following options can be provided, using
|
|
_`<option-name>option-value syntax`_:
|
|
|
|
`cflags`::
|
|
Specifies additional compiler flags that will be used when compiling C
|
|
sources.
|
|
|
|
`cxxflags`::
|
|
Specifies additional compiler flags that will be used when compiling C++
|
|
sources.
|
|
|
|
`compileflags`::
|
|
Specifies additional compiler flags that will be used when compiling both C
|
|
and C++ sources.
|
|
|
|
`linkflags`::
|
|
Specifies additional command line options that will be passed to the linker.
|
|
|
|
`root`::
|
|
For the Linux version, specifies the root directory of the compiler installation.
|
|
This option is necessary only if it is not possible to detect this information
|
|
from the compiler command -- for example if the specified compiler command is
|
|
a user script. For the Windows version, specifies the directory of the
|
|
`iclvars.bat` file, for versions prior to 21 ( or 2021 ), or of the `setvars.bat`,
|
|
for versions from 21 ( or 2021 ) on up, for configuring the compiler.
|
|
Specifying the `root` option without specifying the compiler command allows the
|
|
end-user not to have to worry about whether they are compiling 32-bit or 64-bit code,
|
|
as the toolset will automatically configure the compiler for the appropriate address
|
|
model and compiler command using the `iclvars.bat` or `setvars.bat` batch file.
|
|
|
|
|# # end::doc[]
|
|
|
|
# This is a generic 'intel' toolset. Depending on the current
|
|
# system, it forwards either to 'intel-linux' or 'intel-win'
|
|
# modules.
|
|
|
|
import feature ;
|
|
import os ;
|
|
import toolset ;
|
|
|
|
feature.extend toolset : intel ;
|
|
feature.subfeature toolset intel : platform : : propagated link-incompatible ;
|
|
|
|
rule init ( * : * )
|
|
{
|
|
if [ os.name ] = LINUX
|
|
{
|
|
toolset.using intel-linux :
|
|
$(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
|
|
}
|
|
else if [ os.name ] = MACOSX
|
|
{
|
|
toolset.using intel-darwin :
|
|
$(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
|
|
}
|
|
else
|
|
{
|
|
toolset.using intel-win :
|
|
$(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
|
|
}
|
|
}
|