Boost logo

Boost-Build :

From: Michael Stevens (Michael.Stevens_at_[hidden])
Date: 2004-05-11 16:04:33


On Tuesday 11 May 2004 22:38, Rene Rivera wrote:
> Michael Stevens wrote:
> > It is a little more complete. I call it "intellinux.jam" which I find
> > visually simpler when specifying properties. Does anyone have any strong
> > preferences for naming?
>
> "icc-linux", or "intel-linux" :-)

I'm not sure if using '-' is not confusing!

I've attached a corrected version on my intellinux.jam which completes the
support for link options.

Michael
 --Boundary-00=_h/ToA4P9kKuk+L9 Content-Type: text/plain;
charset="iso-8859-1";
name="intellinux.jam"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="intellinux.jam"

# 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 ;

feature.extend toolset : intellinux ;
import gcc ; # toolset.inherit intellinux : gcc ; with prohibit flag properties
toolset.inherit-generators intellinux : gcc ;
toolset.inherit-flags intellinux : gcc : <inlining>off <inlining>on <inlining>full ;
toolset.inherit-rules intellinux : gcc ;
feature.subfeature toolset intellinux : version : : propagated link-incompatible ;

# Initializes the intellinux toolset
# version in mandatory
# path and name are combine to find the name to invoke the specified intellinux version.
# compile and link options allow you to specify addition command line options for each version
rule init ( version : path ? : name ? : compile_options * : link_options * )
{
name ?= "icc" ;
path ?= "/opt/intel/compiler"$(version)"/ia32/bin/" ;

feature.extend-subfeature toolset intellinux : version : $(version) ;
flags intellinux CONFIG_NAME <toolset>intellinux-$(version) : $(path)$(name) ;
flags intellinux CONFIG_COMPILE <toolset>intellinux-$(version) : $(compile_options) ;
flags intellinux CONFIG_LINK <toolset>intellinux-$(version) : $(link_options) ;
}

flags intellinux.compile OPTIONS <inlining>off : "-Ob0" ;
flags intellinux.compile OPTIONS <inlining>on : "-Ob1" ;
flags intellinux.compile OPTIONS <inlining>full : "-Ob2" ;

actions compile.c++
{
$(CONFIG_NAME) -c -xc++ $(CONFIG_COMPILE) $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
}

actions compile.c
{
$(CONFIG_NAME) -c -xc $(CONFIG_COMPILE) $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
}

actions link bind LIBRARIES
{
$(CONFIG_NAME) $(CONFIG_LINK) $(OPTIONS) -L"$(LINKPATH)" -Wl,-R$(SPACE)-Wl,"$(RPATH)" -Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)" -o "$(<)" "$(>)" "$(LIBRARIES)" -Wl,-Bdynamic -l$(FINDLIBS-SA) -Wl,-Bstatic -l$(FINDLIBS-ST) -Wl,-B$(LINK-RUNTIME)
}

# Differ from 'link' above only by -shared.
actions link.dll bind LIBRARIES
{
$(CONFIG_NAME) $(CONFIG_LINK) $(OPTIONS) -L"$(LINKPATH)" -Wl,-R$(SPACE)-Wl,"$(RPATH)" -o "$(<)" -Wl,-h$(SPACE)-Wl,$(<[1]:D=) -shared "$(>)" "$(LIBRARIES)" -Wl,-Bdynamic -l$(FINDLIBS-SA) -Wl,-Bstatic -l$(FINDLIBS-ST) "$(LIBRARIES)" -Wl,-Bdynamic -l$(FINDLIBS-SA) -Wl,-Bstatic -l$(FINDLIBS-ST) -Wl,-B$(LINK-RUNTIME)
}
 --Boundary-00=_h/ToA4P9kKuk+L9--


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk