diff --git a/intel-win32-tools.html b/intel-win32-tools.html index 472e67e84..13b183cc7 100644 --- a/intel-win32-tools.html +++ b/intel-win32-tools.html @@ -1,80 +1,115 @@ + + - - - -Boost.Build - intel-win32 toolset - - - + + + + + Boost.Build - intel-win32 toolset + + + +
- - - - -
-

C++ Boost

-
-

Boost.Build

-

intel-win32 toolset

-
-
+ + +

C++ Boost

+ -

Introduction

+ +

Boost.Build

-

Boost.Build's intel-win32 toolset supports the -Intel C++ Compiler for Windows. This compiler is compatible with the -msvc tools. +

intel-win32 toolset

+ + + +
-

Configuration Variables

+

Introduction

-The intel-win32 toolset responds to the following variables which can be set in the -environment or configured on the jam command-line using --sVARIABLE_NAME=value. This toolset is by default an extension to the -msvc toolset and therefore responds to all -of the MSVC configuration -variables in addition to those listed below. The toolset can be configure to extend -the vc7 instead. +

Boost.Build's intel-win32 + toolset supports the Intel C++ Compiler for Windows. This compiler is + compatible with the msvc tools.

- +

Configuration Variables

+ The intel-win32 toolset responds to the following variables which can be + set in the environment or configured on the jam command-line using + -sVARIABLE_NAME=value. This toolset is by + default an extension to the msvc toolset + and therefore responds to all of the MSVC configuration variables in addition + to those listed below. The toolset can be configure to extend vc7 or vc7.1 instead. + - -
-

Revised - - 14 May, 2002 - -

-

© Copyright Dave Abrahams - 2002. All Rights Reserved.

- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Variable Name Semantics Default Notes + + + - - - - - - + - - + -
Variable Name
INTELC - Path to installation of the compiler tools. - (none) - This is the FTJam compatability version of INTEL_PATH. + Semantics
INTEL_PATH - The path of the compiler installation. - $(INTELC) -   + Default
INTEL_TOOL_PATH - Path to the directory of the compiler tool executables. - $(INTEL_PATH)/bin/ -   + Notes
INTEL_BASE_MSVC_TOOLSET - The base toolset to extend this toolset from. This can specify either - to extend the msvc toolset, or the vc7 toolset. - msvc - 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 vc7. +
INTEL_PATH
+
The path of the compiler installation.C:\Program Files\Intel\Compiler70\IA32 +
INTEL_VERSIONThe version of the intel compiler in useDeduced from INTEL_PATH.In most installations you can leave this variable unset.
INTEL_TOOL_PATHPath to the directory of the compiler tool executables.$(INTEL_PATH)/bin/In most installations you can leave this variable unset.
INTEL_BASE_MSVC_TOOLSETThe base toolset to extend this toolset from. This can be one of + msvc, vc7, or vc7.1.msvcIf 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 vc7.
+
+ +

Revised + + 1 June, 2003 +

+ +

© Copyright Dave + Abrahams 2003. All Rights Reserved.

+ + diff --git a/intel-win32-tools.jam b/intel-win32-tools.jam index a46fd8896..6669d3d95 100644 --- a/intel-win32-tools.jam +++ b/intel-win32-tools.jam @@ -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) { diff --git a/v1/intel-win32-tools.html b/v1/intel-win32-tools.html index 472e67e84..13b183cc7 100644 --- a/v1/intel-win32-tools.html +++ b/v1/intel-win32-tools.html @@ -1,80 +1,115 @@ + + - - - -Boost.Build - intel-win32 toolset - - - + + + + + Boost.Build - intel-win32 toolset + + + +
- - - - -
-

C++ Boost

-
-

Boost.Build

-

intel-win32 toolset

-
-
+ + +

C++ Boost

+ -

Introduction

+ +

Boost.Build

-

Boost.Build's intel-win32 toolset supports the -Intel C++ Compiler for Windows. This compiler is compatible with the -msvc tools. +

intel-win32 toolset

+ + + +
-

Configuration Variables

+

Introduction

-The intel-win32 toolset responds to the following variables which can be set in the -environment or configured on the jam command-line using --sVARIABLE_NAME=value. This toolset is by default an extension to the -msvc toolset and therefore responds to all -of the MSVC configuration -variables in addition to those listed below. The toolset can be configure to extend -the vc7 instead. +

Boost.Build's intel-win32 + toolset supports the Intel C++ Compiler for Windows. This compiler is + compatible with the msvc tools.

- +

Configuration Variables

+ The intel-win32 toolset responds to the following variables which can be + set in the environment or configured on the jam command-line using + -sVARIABLE_NAME=value. This toolset is by + default an extension to the msvc toolset + and therefore responds to all of the MSVC configuration variables in addition + to those listed below. The toolset can be configure to extend vc7 or vc7.1 instead. + - -
-

Revised - - 14 May, 2002 - -

-

© Copyright Dave Abrahams - 2002. All Rights Reserved.

- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Variable Name Semantics Default Notes + + + - - - - - - + - - + -
Variable Name
INTELC - Path to installation of the compiler tools. - (none) - This is the FTJam compatability version of INTEL_PATH. + Semantics
INTEL_PATH - The path of the compiler installation. - $(INTELC) -   + Default
INTEL_TOOL_PATH - Path to the directory of the compiler tool executables. - $(INTEL_PATH)/bin/ -   + Notes
INTEL_BASE_MSVC_TOOLSET - The base toolset to extend this toolset from. This can specify either - to extend the msvc toolset, or the vc7 toolset. - msvc - 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 vc7. +
INTEL_PATH
+
The path of the compiler installation.C:\Program Files\Intel\Compiler70\IA32 +
INTEL_VERSIONThe version of the intel compiler in useDeduced from INTEL_PATH.In most installations you can leave this variable unset.
INTEL_TOOL_PATHPath to the directory of the compiler tool executables.$(INTEL_PATH)/bin/In most installations you can leave this variable unset.
INTEL_BASE_MSVC_TOOLSETThe base toolset to extend this toolset from. This can be one of + msvc, vc7, or vc7.1.msvcIf 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 vc7.
+
+ +

Revised + + 1 June, 2003 +

+ +

© Copyright Dave + Abrahams 2003. All Rights Reserved.

+ + diff --git a/v1/intel-win32-tools.jam b/v1/intel-win32-tools.jam index a46fd8896..6669d3d95 100644 --- a/v1/intel-win32-tools.jam +++ b/v1/intel-win32-tools.jam @@ -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) {