mirror of
https://github.com/boostorg/build.git
synced 2026-02-16 13:22:11 +00:00
1. If when generating something, we find more that one suitable generators, run them and more then one return something, immediately report ambiguity. Don't care if the produced targets are the same. This is better that running several generators all the time, performance wise. 2. Remove the notion of 'intermediate' virtual-targets. IIRC, they were used to prevent staging of RSP files, and we don't stage them anyway now. [SVN r29491]
70 lines
2.4 KiB
Plaintext
70 lines
2.4 KiB
Plaintext
# Copyright (c) 2003 Michael Stevens
|
|
#
|
|
# Use, modification and distribution is subject to the Boost Software
|
|
# License Version 1.0. (See accompanying file LICENSE_1_0.txt or
|
|
# http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
import toolset ;
|
|
import feature ;
|
|
import toolset : flags ;
|
|
|
|
import intel ;
|
|
import gcc ;
|
|
import common ;
|
|
import errors ;
|
|
import generators ;
|
|
|
|
feature.extend-subfeature toolset intel : platform : linux ;
|
|
|
|
toolset.inherit-generators intel-linux
|
|
<toolset>intel <toolset-intel:platform>linux : gcc ;
|
|
generators.override builtin.lib-generator : intel-linux.prebuilt ;
|
|
toolset.inherit-rules intel-linux : gcc ;
|
|
toolset.inherit-flags intel-linux : gcc
|
|
: <inlining>off <inlining>on <inlining>full <optimization>space ;
|
|
|
|
# Initializes the intel-linux toolset
|
|
# version in mandatory
|
|
# name (default icc) is used to invoke the specified intellinux complier
|
|
# compile and link options allow you to specify addition command line options for each version
|
|
rule init ( version ? : command * : options * )
|
|
{
|
|
local condition = [ common.check-init-parameters intel-linux
|
|
: version $(version) ] ;
|
|
|
|
command = [ common.get-invocation-command intel-linux : icpc
|
|
: $(command) : /opt/intel_cc_80/bin ] ;
|
|
|
|
common.handle-options intel-linux : $(condition) : $(command) : $(options) ;
|
|
|
|
gcc.init-link-flags intel-linux gnu $(condition) ;
|
|
|
|
}
|
|
|
|
SPACE = " " ;
|
|
|
|
flags intel-linux.compile OPTIONS <inlining>off : "-Ob0" ;
|
|
flags intel-linux.compile OPTIONS <inlining>on : "-Ob1" ;
|
|
flags intel-linux.compile OPTIONS <inlining>full : "-Ob2" ;
|
|
flags intel-linux.compile OPTIONS <optimization>space : "-O1" ; # no specific space optimization flag in icc
|
|
actions compile.c++
|
|
{
|
|
"$(CONFIG_COMMAND)" -c -xc++ $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
|
|
}
|
|
|
|
actions compile.c
|
|
{
|
|
"$(CONFIG_COMMAND)" -c -xc $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
|
|
}
|
|
|
|
actions link bind LIBRARIES
|
|
{
|
|
"$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,-R$(SPACE)-Wl,"$(RPATH)" -Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)" -o "$(<)" "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) $(OPTIONS)
|
|
}
|
|
|
|
# Differ from 'link' above only by -shared.
|
|
actions link.dll bind LIBRARIES
|
|
{
|
|
"$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,-R$(SPACE)-Wl,"$(RPATH)" -o "$(<)" -Wl,-h$(SPACE)-Wl,$(<[1]:D=) -shared "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) $(OPTIONS)
|
|
}
|