Boost logo

Boost-Build :

Subject: Re: [Boost-build] Path feature
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2016-02-22 10:26:24


AMDG

On 02/21/2016 01:30 PM, Deane Yang wrote:
> I'm confused by the following:
>
> Suppose I declare in a *.jam file a target as follows:
>
> type.register CS : cs ;
> type.register CSEXE : exe ;
>
> generators.register-composing csc.make-exe : CS : CSEXE ;
> feature reference : : free path dependency ;
> flags csc.make-exe CSREFERENCE <reference> ;
>

  I suspect that path and dependency are not
intended to be used together. Does it work if
you just use dependency?

> actions make-exe bind CSREFERENCE
> {
> csc -target:exe -r:$(CSREFERENCE) -out:$(<) $(>)
> }
>
> rule link
> {
> DEPENDS $(<) : [ on $(<) return $(CS_REFERENCE) ] ;
> }
>
> and a Jamfile that has this:
>
> csexe test : test.cs
> : <reference>../distribution/shared.dll
> ;
>
> and I do "b2 test" inside that directory
>
> Naively, I would think that the action would expand to
>
> csc target:exe -r:../distribution/shared.dll ....
>
> which is what I want.
>
> However, what I am really getting, based on the error messages is:
>
> csc target:exe
> -r:bin/darwin-4.2.1/release/address-model-64/threading-multi/../distribution/shared.dll
> ....
>
> What am I doing wrong?
>

In Christ,
Steven Watanabe


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