Boost logo

Boost-Build :

From: muchacho_30 (js_at_[hidden])
Date: 2004-10-06 14:05:39


PLEASE REPLY TO js at simplytech dot com

Hello,

I am writing a new generator for a new C compiler (ImageCraft) which is
currently not supported by Boost-Build v2. I based it on gcc.jam which
describes how to extend the toolset to support the GCC compiler.
Everything works well except for the following:

1. The complier generates files that I would like to delete when 'bjam
clean' is invoked. For example, I can't make it clean up the file
'bqueue.lis' and I don't know where to invoke the common.Clean rule

2. I would like to be able to add a PREFIX to the library name(just
like in Classic Jam and Boost-Build v1, we could add PRELIB).

Here's a piece from my icc.jam :

feature.extend toolset : icc ;

type.set-generated-target-suffix OBJ : <toolset>icc : o ; #
Object Suffix
type.set-generated-target-suffix STATIC_LIB : <toolset>icc : a ; #
Library Suffix

generators.register-c-compiler icc.compile.c : C : OBJ :
<toolset>icc ;
generators.register-composing icc.archive : OBJ : STATIC_LIB :
<toolset>icc ;

actions compile.c
{
C:/icc/bin/icc12w $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)"
$(CC_FLAGS) -c -o "$(<:W)" "$(>:W)"
}

actions piecemeal archive
{
c:/icc/bin/ilibw $(AR_FLAGS) "$(<:W)" "$(>:W)"
}

I have tried to add and remove the following, but it had no effect:

rule compile.c
{
common.Clean clean :
<..!..!..!generic!libs!bqueue/icc/debug/link-static>bqueue.lis ;

}

as well as this:

rule compile.c
{
common.Clean clean : bqueue.lis ;
# common.Clean clean : $(1:S=.lis) ;
# common.Clean clean : $(1:G=:S=.lis) ;

}

Any help would be greatly appreciated!
Or if you have any sample files (other than the examples that come with
Boost-Build)

Thank you!
Alain Achkar, M. Eng.
Simplytech

js at simplytech dot com

 


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