2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-16 13:22:11 +00:00

Updated to handle Intel 8.1.

Enable customisation of Intel compiler driver name.


[SVN r25504]
This commit is contained in:
John Maddock
2004-10-01 10:41:53 +00:00
parent cfdfbb4175
commit 8a8284dff3
2 changed files with 83 additions and 92 deletions

View File

@@ -1,90 +1,76 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for Linux/x86 (vers 1st September 2003), see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
<title>Boost.Build - intel-linux 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-linux toolset</h2>
</td>
</tr>
</table>
<hr>
<h2>Introduction</h2>
<p>Boost.Build's intel-linux toolset supports the <a
href="http://www.intel.com/software/products/compilers/clin/index.htm">Intel
C++ Compiler for Linux</a>.</p>
<h2>Configuration Variables</h2>The intel-linux 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>. If neither
variable is set but <code>iccvars.sh</code> can be found in the
<code>PATH</code>, then the version of the tools installed where
<code>iccvars.sh</code> lives is used.
<table border="1" summary="settings">
<tr>
<th>Variable Name</th>
<th>Semantics</th>
<th>Default</th>
<th>Notes</th>
</tr>
<tr>
<td><code>INTEL_VERSION</code></td>
<td>The version of the compiler to use.</td>
<td><code>70</code></td>
<td>If <code>INTEL_PATH</code> is set, this variable is ignored.
<tr>
<td><code>INTEL_PATH</code></td>
<td>The path to the compiler installation.</td>
<td>The default installation location for the version specified by
<code>INTEL_VERSION</code>
</tr>
</table>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
3 Jan, 2004 <!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p>Copyright &copy; Dave Abrahams 2002-2003.</p>
<p><small>Use, modification, and distribution are subject to the Boost
Software License, Version 1.0. (See accompanying file <a href=
"../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy at <a href=
"http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</body>
<head>
<title>Boost.Build - intel-linux toolset</title>
<meta name="generator" content="HTML Tidy for Linux/x86 (vers 1st September 2003), see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</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-linux toolset</h2>
</td>
</tr>
</table>
<hr>
<h2>Introduction</h2>
<p>Boost.Build's intel-linux toolset supports the <a href="http://www.intel.com/software/products/compilers/clin/index.htm">
Intel C++ Compiler for Linux</a>.</p>
<h2>Configuration Variables</h2>
<P>
The intel-linux 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>.
If neither variable is set but <code>iccvars.sh</code> can be found in the <code>PATH</code>,
then the version of the tools installed where <code>iccvars.sh</code> lives is
used.
</P>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="1">
<TR>
<TD><STRONG>Variable Name</STRONG></TD>
<TD><STRONG>Semantics</STRONG></TD>
<TD><STRONG>Defaults</STRONG></TD>
<TD><STRONG>Notes</STRONG></TD>
</TR>
<TR>
<TD><CODE>INTEL_VERSION</CODE></TD>
<TD>The version of the compiler to use.</TD>
<TD>80</TD>
<TD>If <CODE>INTEL_PATH</CODE> is set, this variable is ignored.</TD>
</TR>
<TR>
<TD>INTEL_PATH</TD>
<TD>The path to the compiler installation.</TD>
<TD>The default installation location for the version specified by <CODE>INTEL_VERSION.</CODE></TD>
<TD></TD>
</TR>
<TR>
<TD>INTEL_CC</TD>
<TD>The name of the C compiler.</TD>
<TD>icc</TD>
<TD></TD>
</TR>
<TR>
<TD>INTEL_CXX</TD>
<TD>The name of the C++ compiler/linker.</TD>
<TD>icpc</TD>
<TD></TD>
</TR>
</TABLE>
</P>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
01 Oct, 2004 <!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p>Copyright &copy; Dave Abrahams 2002-2003.</p>
<p><small>Use, modification, and distribution are subject to the Boost Software
License, Version 1.0. (See accompanying file <a href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</body>
</html>

View File

@@ -14,6 +14,8 @@
set-as-singleton INTEL_PATH ;
INTEL_VERSION ?= $(INTEL_LINUX_VERSION) ; # For backwards compatibility
INTEL_CC ?= icc ;
INTEL_CXX ?= icpc ;
# Attempt to look in the PATH if no variables have been set up.
if ! $(INTEL_VERSION) && ! $(INTEL_PATH)
@@ -22,7 +24,7 @@ if ! $(INTEL_VERSION) && ! $(INTEL_PATH)
INTEL_PATH ?= $(paths[0]) ;
}
INTEL_VERSION ?= 70 ;
INTEL_VERSION ?= 80 ;
# In case the path is unspecified, try to deduce it from the version
if $(INTEL_VERSION) in 50 60 70
@@ -82,6 +84,7 @@ flags intel-linux LINKFLAGS <runtime-link>static : -static ;
# required libraries
flags intel-linux FINDLIBS : rt ;
flags intel-linux FINDLIBS <runtime-link>static : pthread ;
#### standard settings ####
@@ -97,7 +100,7 @@ flags intel-linux LIBPATH <library-path> ;
flags intel-linux NEEDLIBS <library-file> ;
flags intel-linux FINDLIBS <find-library> ;
flags intel-linux SYSHDRS <sysinclude> ;
flags intel-linux STDHDRS <sysinclude> ;
flags intel-linux LINKFLAGS <linkflags> ;
flags intel-linux ARFLAGS <arflags> ;
@@ -123,7 +126,7 @@ rule Cc-action
actions intel-linux-Cc-action
{
$(INTEL_LINUX_SETUP)
icc -c -w1 -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -I"$(SYSHDRS)" -o "$(<)" "$(>)"
$(INTEL_CC) -c -w1 -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
}
#### C++ ####
@@ -136,7 +139,7 @@ rule C++-action
actions intel-linux-C++-action
{
$(INTEL_LINUX_SETUP)
icc -c -w1 -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -I"$(SYSHDRS)" -o "$(<)" "$(>)"
$(INTEL_CXX) -c -w1 -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
}
#### Archive ####
@@ -179,7 +182,9 @@ rule Link-action
actions intel-linux-Link-action bind NEEDLIBS NEEDIMPS
{
$(INTEL_LINUX_SETUP)
icc $(LINKFLAGS) -o "$(<[1])$(OUTTAG)" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" $(NEEDLIBS) $(NEEDLIBS) -l$(FINDLIBS) "$(IMPLIB_FLAGS)$(NEEDIMPS)" "-Qoption,link,-soname,$(<[1]:D=)$(SOTAG)"
$(INTEL_CXX) $(LINKFLAGS) -o "$(<[1])$(OUTTAG)" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" $(NEEDLIBS) $(NEEDLIBS) -l$(FINDLIBS) "$(IMPLIB_FLAGS)$(NEEDIMPS)" "-Qoption,link,-soname,$(<[1]:D=)$(SOTAG)"
$(ACTION_1)$(LN)$(SPACE)-fs$(SPACE)"$(<[1]:D=)$(OUTTAG)"$(SPACE)"$(<[1])"
}