Boost logo

Boost-Build :

From: Sam Partington (Sam.Partington_at_[hidden])
Date: 2004-02-02 09:33:32


BTW Have you seen the typo on this page : (look for "Dowloading")

http://boost.sourceforge.net/boost-build2/

Thanks for all your help in that last email, it helped me understand what
was going on a lot, and no i hadn't seen the extending doc before. (the link
at the top right of the contents perhaps might have a bit better
description).

Incidentally I do like the look of the new V2 docs, (front page could do
with being run through a spell checker)

But I'm still struggling a bit, so far I have :

gccmt.jam : (which is exactly the same as gcc.jam but the following lines
added)

type.register LDR : ldr : : main ;

type.set-generated-target-suffix LDR : <toolset>gccmt : ldr ;
type.set-generated-target-suffix EXE : <toolset>gccmt : preelf ;

generators.register-composing gccmt.ldlk : EXE : LDR : <toolset>gccmt ;

actions ldlk
{
$(NAME:E=ldlk) -g -Tldlk.img
}

Now if I understand correctly, the type.register creates a rule something
like this :

rule ldr ( ... )

so in my Jamfile, I need only do the following :

ldr test : test.c ;

which will ultimately produce the following transformations :

test.c -> gcc -> test.o
test.o -> gcc -> test.preelf
test.preelf -> ldlk -> test.ldr

Does what I've done seem correct?

If so, the make fails with the following output :

.../build\targets.jam:1089: in construct from module object(typed-target)@1
error: unable to construct ./test
.../build\targets.jam:917: in object(typed-target)@1.generate from module
object(typed-target)@1
.../build\targets.jam:509: in generate-really from module
object(main-target)@1
.../build\targets.jam:482: in object(main-target)@1.generate from module
object(main-target)@1
.../build\targets.jam:178: in object(project-target)@1.generate from module
object(project-target)@1
...\build-system.jam:151: in load from module build-system
.../kernel\modules.jam:259: in import from module modules
.../kernel/bootstrap.jam:120: in boost-build from module
...\boost-build.jam:1: in module scope from module

I don't quite know what to do now. The build is failing at code I've not
editted, presumably through the code generation from type.register. But I'm
at a loss of what to try next.

Thanks again for your help

Sam

Vladimir Prus <mailto:ghost_at_[hidden]> wrote:
> BTW, have you seen
>
> http://boost.sourceforge.net/boost-build2/doc/extending.html
>
>> Also I figured I needed to provide a definition for LDR somewhere,
>> and all the rest of the definitions were in builtin.jam. When I
>> tried :
>>
>> declare-type : LDR : ldr : : application ;
>>
>> just after the imports, the error message was
>>
>> C:/Work/SS/hardware/boost-build/tools\gccmt.jam:17: in load
>> rule declare-type unknown in module gccmt.
>
> You'd better use
>
> import type ;
> type.register : LDR : ldr : : main ;

--LongSig
******************
This e-mail has been sent from Imagination Technologies Limited.
PowerVR, Metagence, Ensigma and PURE Digital are divisions
of Imagination Technologies Limited.

The information contained in this e-mail, including any attachment,
is confidential and may be legally privileged. It is intended solely
for the addressee(s) and access to this e-mail by anyone else is
unauthorised. If you are not the intended recipient, any disclosure,
copying or distribution or use of the information contained in this
e-mail, is prohibited and may be unlawful. If you have received this
e-mail in error, please notify the sender by return e-mail and then
delete it from your system.

Internet communications cannot be guaranteed to be secure,
error or virus-free. The sender does not accept liability for any errors
or omissions which arise as a result.

Any views expressed in this message are those of the author, except
where the author specifies and, with authority, states them to be the
views of Imagination Technologies Ltd.

 


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