mirror of
https://github.com/boostorg/build.git
synced 2026-02-15 13:02:11 +00:00
Add option customization based on the version of the intel compiler
and base msvc installation in use. Added auto-detection for the intel compiler version. Updated documentation; retired the INTELC variable, since it was unsupported anyway. [SVN r18638]
This commit is contained in:
@@ -1,80 +1,115 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<link rel="stylesheet" type="text/css" href="boost.css">
|
||||
<title>Boost.Build - intel-win32 toolset</title>
|
||||
</head>
|
||||
<body link="#0000ff" vlink="#800080">
|
||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||
<head>
|
||||
<meta name="generator" content=
|
||||
"HTML Tidy for Cygwin (vers 1st April 2002), see www.w3.org">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<link rel="stylesheet" type="text/css" href="boost.css">
|
||||
|
||||
<title>Boost.Build - intel-win32 toolset</title>
|
||||
</head>
|
||||
|
||||
<body link="#0000ff" vlink="#800080">
|
||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||
"header">
|
||||
<tr>
|
||||
<td valign="top" width="300">
|
||||
<h3><a href="http://www.boost.org"><img height="86" width="277" alt="C++ Boost" src="../../c++boost.gif" border="0"></a></h3>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<h1 align="center">Boost.Build</h1>
|
||||
<h2 align="center">intel-win32 toolset</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<tr>
|
||||
<td valign="top" width="300">
|
||||
<h3><a href="http://www.boost.org"><img height="86" width="277"
|
||||
alt="C++ Boost" src="../../c++boost.gif" border="0"></a></h3>
|
||||
</td>
|
||||
|
||||
<h2>Introduction</h2>
|
||||
<td valign="top">
|
||||
<h1 align="center">Boost.Build</h1>
|
||||
|
||||
<p>Boost.Build's <a href="http://www.intel.com/software/products/compilers/c60/">intel-win32</a> toolset supports the
|
||||
Intel C++ Compiler for Windows. This compiler is compatible with the
|
||||
<a href="msvc-tools.html">msvc</a> tools.
|
||||
<h2 align="center">intel-win32 toolset</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
|
||||
<h2>Configuration Variables</h2>
|
||||
<h2>Introduction</h2>
|
||||
|
||||
The intel-win32 toolset responds to the following variables which can be set in the
|
||||
environment or configured on the jam command-line using
|
||||
<code>-s<i>VARIABLE_NAME</i>=</code><i>value</i>. This toolset is by default an extension to the
|
||||
<a href="msvc-tools.html">msvc toolset</a> and therefore responds to all
|
||||
of the MSVC <a href="msvc-tools.html#configuration">configuration
|
||||
variables</a> in addition to those listed below. The toolset can be configure to extend
|
||||
the <a href="vc7-tools.html">vc7</a> instead.
|
||||
<p>Boost.Build's <a href=
|
||||
"http://www.intel.com/software/products/compilers/c60/">intel-win32</a>
|
||||
toolset supports the Intel C++ Compiler for Windows. This compiler is
|
||||
compatible with the <a href="msvc-tools.html">msvc</a> tools.</p>
|
||||
|
||||
<table border="1">
|
||||
<h2>Configuration Variables</h2>
|
||||
The intel-win32 toolset responds to the following variables which can be
|
||||
set in the environment or configured on the jam command-line using
|
||||
<code>-s<i>VARIABLE_NAME</i>=</code><i>value</i>. This toolset is by
|
||||
default an extension to the <a href="msvc-tools.html">msvc toolset</a>
|
||||
and therefore responds to all of the MSVC <a href=
|
||||
"msvc-tools.html#configuration">configuration variables</a> in addition
|
||||
to those listed below. The toolset can be configure to extend <a href=
|
||||
"vc7-tools.html">vc7</a> or <a href="vc7.1-tools.html">vc7.1</a> instead.
|
||||
|
||||
|
||||
<tr><th>Variable Name <th>Semantics <th>Default <th>Notes
|
||||
<table border="1">
|
||||
<tr>
|
||||
<th>Variable Name</th>
|
||||
|
||||
<tr>
|
||||
<td><code>INTELC</code>
|
||||
<td>Path to installation of the compiler tools.
|
||||
<td>(none)
|
||||
<td>This is the FTJam compatability version of <code>INTEL_PATH</code>.
|
||||
<th>Semantics</th>
|
||||
|
||||
<tr>
|
||||
<td><code>INTEL_PATH</code>
|
||||
<td>The path of the compiler installation.
|
||||
<td><code>$(INTELC)</code>
|
||||
<td>
|
||||
<th>Default</th>
|
||||
|
||||
<tr>
|
||||
<td><code>INTEL_TOOL_PATH</code>
|
||||
<td>Path to the directory of the compiler tool executables.
|
||||
<td><code>$(INTEL_PATH)/bin/</code>
|
||||
<td>
|
||||
<th>Notes</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><code>INTEL_BASE_MSVC_TOOLSET</code>
|
||||
<td>The base toolset to extend this toolset from. This can specify either
|
||||
to extend the <code>msvc toolset</code>, or the <code>vc7 toolset</code>.
|
||||
<td><code>msvc</code>
|
||||
<td>If you have both vc6 and vc7, you may want your Intel compiler to
|
||||
use the VC7 libarries instead of the default vc6 libraries. In which case
|
||||
set this to <code>vc7</code>.
|
||||
<tr>
|
||||
<td><code>INTEL_PATH</code></td>
|
||||
|
||||
</table>
|
||||
<td>The path of the compiler installation.</td>
|
||||
|
||||
<hr>
|
||||
<p>Revised
|
||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
||||
14 May, 2002
|
||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
||||
</p>
|
||||
<p><i>© Copyright <a href="../../people/dave_abrahams.htm">Dave Abrahams</a>
|
||||
2002. All Rights Reserved.</i></p>
|
||||
</body>
|
||||
<td><code>C:\Program Files\Intel\Compiler70\IA32</code></td>
|
||||
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><code>INTEL_VERSION</code></td>
|
||||
|
||||
<td>The version of the intel compiler in use</td>
|
||||
|
||||
<td>Deduced from <code>INTEL_PATH</code>.</td>
|
||||
|
||||
<td>In most installations you can leave this variable unset.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><code>INTEL_TOOL_PATH</code></td>
|
||||
|
||||
<td>Path to the directory of the compiler tool executables.</td>
|
||||
|
||||
<td><code>$(INTEL_PATH)/bin/</code></td>
|
||||
|
||||
<td>In most installations you can leave this variable unset.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><code>INTEL_BASE_MSVC_TOOLSET</code></td>
|
||||
|
||||
<td>The base toolset to extend this toolset from. This can be one of
|
||||
<code>msvc</code>, <code>vc7</code>, or <code>vc7.1</code>.</td>
|
||||
|
||||
<td><code>msvc</code></td>
|
||||
|
||||
<td>If you have both vc6 and vc7, you may want your Intel compiler to
|
||||
use the VC7 libaries instead of the default vc6 libraries, in which
|
||||
case set this to <code>vc7</code>.</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
|
||||
<p>Revised
|
||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
||||
1 June, 2003 <!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
||||
</p>
|
||||
|
||||
<p><i>© Copyright <a href="../../people/dave_abrahams.htm">Dave
|
||||
Abrahams</a> 2003. All Rights Reserved.</i></p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
@@ -34,10 +34,45 @@ VC_STDLIB_PATH = "$(INTEL_PATH)"\\bin ;
|
||||
VC_COMPILER = icl ;
|
||||
VC_LINKER = xilink ;
|
||||
|
||||
C++FLAGS =
|
||||
[ difference $(C++FLAGS) : /Zc:wchar_t,forScope ] # remove ms-specific options
|
||||
/Qwn5 /Qwd985 /Qansi_alias
|
||||
; # reduce number of errors
|
||||
# Extract the compiler version from its installation path
|
||||
local version = $(INTEL_VERSION) ;
|
||||
version ?= [ MATCH .*[\\/][Cc][Oo][Mm][Pp][Ii][Ll][Ee][Rr]([0-9])[0-9][\\/].* : $(INTEL_TOOL_PATH) ] ;
|
||||
|
||||
# Reduce the number of spurious error messages
|
||||
C++FLAGS += /Qwn5 /Qwd985 ;
|
||||
|
||||
if $(version) <= 5
|
||||
{
|
||||
# remove options unrecognized by Intel5
|
||||
C++FLAGS = [ difference $(C++FLAGS) : /Zc:wchar_t,forScope ] ;
|
||||
}
|
||||
else
|
||||
{
|
||||
C++FLAGS +=
|
||||
# Add support for wchar_t and correct for loop scoping
|
||||
/Zc:wchar_t,forScope
|
||||
;
|
||||
}
|
||||
|
||||
# Add options recognized only by intel7
|
||||
if $(version) >= 7
|
||||
{
|
||||
C++FLAGS += /Qansi_alias ;
|
||||
}
|
||||
|
||||
|
||||
# tell the compiler about the base toolset.
|
||||
if $(INTEL_BASE_MSVC_TOOLSET) = msvc
|
||||
{
|
||||
C++FLAGS += /Qvc6 ;
|
||||
}
|
||||
else
|
||||
{
|
||||
C++FLAGS += /Q$(INTEL_BASE_MSVC_TOOLSET) ;
|
||||
}
|
||||
|
||||
# remove any duplicates caused by the additions above
|
||||
C++FLAGS = [ unique $(C++FLAGS) ] ;
|
||||
|
||||
if $(VC_SETUP)
|
||||
{
|
||||
|
||||
@@ -1,80 +1,115 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<link rel="stylesheet" type="text/css" href="boost.css">
|
||||
<title>Boost.Build - intel-win32 toolset</title>
|
||||
</head>
|
||||
<body link="#0000ff" vlink="#800080">
|
||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||
<head>
|
||||
<meta name="generator" content=
|
||||
"HTML Tidy for Cygwin (vers 1st April 2002), see www.w3.org">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<link rel="stylesheet" type="text/css" href="boost.css">
|
||||
|
||||
<title>Boost.Build - intel-win32 toolset</title>
|
||||
</head>
|
||||
|
||||
<body link="#0000ff" vlink="#800080">
|
||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||
"header">
|
||||
<tr>
|
||||
<td valign="top" width="300">
|
||||
<h3><a href="http://www.boost.org"><img height="86" width="277" alt="C++ Boost" src="../../c++boost.gif" border="0"></a></h3>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<h1 align="center">Boost.Build</h1>
|
||||
<h2 align="center">intel-win32 toolset</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<tr>
|
||||
<td valign="top" width="300">
|
||||
<h3><a href="http://www.boost.org"><img height="86" width="277"
|
||||
alt="C++ Boost" src="../../c++boost.gif" border="0"></a></h3>
|
||||
</td>
|
||||
|
||||
<h2>Introduction</h2>
|
||||
<td valign="top">
|
||||
<h1 align="center">Boost.Build</h1>
|
||||
|
||||
<p>Boost.Build's <a href="http://www.intel.com/software/products/compilers/c60/">intel-win32</a> toolset supports the
|
||||
Intel C++ Compiler for Windows. This compiler is compatible with the
|
||||
<a href="msvc-tools.html">msvc</a> tools.
|
||||
<h2 align="center">intel-win32 toolset</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
|
||||
<h2>Configuration Variables</h2>
|
||||
<h2>Introduction</h2>
|
||||
|
||||
The intel-win32 toolset responds to the following variables which can be set in the
|
||||
environment or configured on the jam command-line using
|
||||
<code>-s<i>VARIABLE_NAME</i>=</code><i>value</i>. This toolset is by default an extension to the
|
||||
<a href="msvc-tools.html">msvc toolset</a> and therefore responds to all
|
||||
of the MSVC <a href="msvc-tools.html#configuration">configuration
|
||||
variables</a> in addition to those listed below. The toolset can be configure to extend
|
||||
the <a href="vc7-tools.html">vc7</a> instead.
|
||||
<p>Boost.Build's <a href=
|
||||
"http://www.intel.com/software/products/compilers/c60/">intel-win32</a>
|
||||
toolset supports the Intel C++ Compiler for Windows. This compiler is
|
||||
compatible with the <a href="msvc-tools.html">msvc</a> tools.</p>
|
||||
|
||||
<table border="1">
|
||||
<h2>Configuration Variables</h2>
|
||||
The intel-win32 toolset responds to the following variables which can be
|
||||
set in the environment or configured on the jam command-line using
|
||||
<code>-s<i>VARIABLE_NAME</i>=</code><i>value</i>. This toolset is by
|
||||
default an extension to the <a href="msvc-tools.html">msvc toolset</a>
|
||||
and therefore responds to all of the MSVC <a href=
|
||||
"msvc-tools.html#configuration">configuration variables</a> in addition
|
||||
to those listed below. The toolset can be configure to extend <a href=
|
||||
"vc7-tools.html">vc7</a> or <a href="vc7.1-tools.html">vc7.1</a> instead.
|
||||
|
||||
|
||||
<tr><th>Variable Name <th>Semantics <th>Default <th>Notes
|
||||
<table border="1">
|
||||
<tr>
|
||||
<th>Variable Name</th>
|
||||
|
||||
<tr>
|
||||
<td><code>INTELC</code>
|
||||
<td>Path to installation of the compiler tools.
|
||||
<td>(none)
|
||||
<td>This is the FTJam compatability version of <code>INTEL_PATH</code>.
|
||||
<th>Semantics</th>
|
||||
|
||||
<tr>
|
||||
<td><code>INTEL_PATH</code>
|
||||
<td>The path of the compiler installation.
|
||||
<td><code>$(INTELC)</code>
|
||||
<td>
|
||||
<th>Default</th>
|
||||
|
||||
<tr>
|
||||
<td><code>INTEL_TOOL_PATH</code>
|
||||
<td>Path to the directory of the compiler tool executables.
|
||||
<td><code>$(INTEL_PATH)/bin/</code>
|
||||
<td>
|
||||
<th>Notes</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><code>INTEL_BASE_MSVC_TOOLSET</code>
|
||||
<td>The base toolset to extend this toolset from. This can specify either
|
||||
to extend the <code>msvc toolset</code>, or the <code>vc7 toolset</code>.
|
||||
<td><code>msvc</code>
|
||||
<td>If you have both vc6 and vc7, you may want your Intel compiler to
|
||||
use the VC7 libarries instead of the default vc6 libraries. In which case
|
||||
set this to <code>vc7</code>.
|
||||
<tr>
|
||||
<td><code>INTEL_PATH</code></td>
|
||||
|
||||
</table>
|
||||
<td>The path of the compiler installation.</td>
|
||||
|
||||
<hr>
|
||||
<p>Revised
|
||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
||||
14 May, 2002
|
||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
||||
</p>
|
||||
<p><i>© Copyright <a href="../../people/dave_abrahams.htm">Dave Abrahams</a>
|
||||
2002. All Rights Reserved.</i></p>
|
||||
</body>
|
||||
<td><code>C:\Program Files\Intel\Compiler70\IA32</code></td>
|
||||
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><code>INTEL_VERSION</code></td>
|
||||
|
||||
<td>The version of the intel compiler in use</td>
|
||||
|
||||
<td>Deduced from <code>INTEL_PATH</code>.</td>
|
||||
|
||||
<td>In most installations you can leave this variable unset.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><code>INTEL_TOOL_PATH</code></td>
|
||||
|
||||
<td>Path to the directory of the compiler tool executables.</td>
|
||||
|
||||
<td><code>$(INTEL_PATH)/bin/</code></td>
|
||||
|
||||
<td>In most installations you can leave this variable unset.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><code>INTEL_BASE_MSVC_TOOLSET</code></td>
|
||||
|
||||
<td>The base toolset to extend this toolset from. This can be one of
|
||||
<code>msvc</code>, <code>vc7</code>, or <code>vc7.1</code>.</td>
|
||||
|
||||
<td><code>msvc</code></td>
|
||||
|
||||
<td>If you have both vc6 and vc7, you may want your Intel compiler to
|
||||
use the VC7 libaries instead of the default vc6 libraries, in which
|
||||
case set this to <code>vc7</code>.</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
|
||||
<p>Revised
|
||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
||||
1 June, 2003 <!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
||||
</p>
|
||||
|
||||
<p><i>© Copyright <a href="../../people/dave_abrahams.htm">Dave
|
||||
Abrahams</a> 2003. All Rights Reserved.</i></p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
@@ -34,10 +34,45 @@ VC_STDLIB_PATH = "$(INTEL_PATH)"\\bin ;
|
||||
VC_COMPILER = icl ;
|
||||
VC_LINKER = xilink ;
|
||||
|
||||
C++FLAGS =
|
||||
[ difference $(C++FLAGS) : /Zc:wchar_t,forScope ] # remove ms-specific options
|
||||
/Qwn5 /Qwd985 /Qansi_alias
|
||||
; # reduce number of errors
|
||||
# Extract the compiler version from its installation path
|
||||
local version = $(INTEL_VERSION) ;
|
||||
version ?= [ MATCH .*[\\/][Cc][Oo][Mm][Pp][Ii][Ll][Ee][Rr]([0-9])[0-9][\\/].* : $(INTEL_TOOL_PATH) ] ;
|
||||
|
||||
# Reduce the number of spurious error messages
|
||||
C++FLAGS += /Qwn5 /Qwd985 ;
|
||||
|
||||
if $(version) <= 5
|
||||
{
|
||||
# remove options unrecognized by Intel5
|
||||
C++FLAGS = [ difference $(C++FLAGS) : /Zc:wchar_t,forScope ] ;
|
||||
}
|
||||
else
|
||||
{
|
||||
C++FLAGS +=
|
||||
# Add support for wchar_t and correct for loop scoping
|
||||
/Zc:wchar_t,forScope
|
||||
;
|
||||
}
|
||||
|
||||
# Add options recognized only by intel7
|
||||
if $(version) >= 7
|
||||
{
|
||||
C++FLAGS += /Qansi_alias ;
|
||||
}
|
||||
|
||||
|
||||
# tell the compiler about the base toolset.
|
||||
if $(INTEL_BASE_MSVC_TOOLSET) = msvc
|
||||
{
|
||||
C++FLAGS += /Qvc6 ;
|
||||
}
|
||||
else
|
||||
{
|
||||
C++FLAGS += /Q$(INTEL_BASE_MSVC_TOOLSET) ;
|
||||
}
|
||||
|
||||
# remove any duplicates caused by the additions above
|
||||
C++FLAGS = [ unique $(C++FLAGS) ] ;
|
||||
|
||||
if $(VC_SETUP)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user