Boost logo

Boost-Build :

Subject: Re: [Boost-build] <implicit-dependency> on generated header does not add include path
From: Samuel Debionne (samuel.debionne_at_[hidden])
Date: 2014-04-18 06:09:12


I think I have found out what the problem is.

The run rule documentation (generators.jam) states that :

# We do not run composing generators if no name is specified. The reason
# is that composing generator combines several targets, which can have
# different names, and it cannot decide which name to give for produced
# target. Therefore, the name must be passed.
#
# This in effect, means that composing generators are runnable only at
# the top-level of a transformation graph, or if their name is passed
# explicitly. Thus, we dissallow composing generators in the middle. For
# example, the transformation CPP -> OBJ -> STATIC_LIB -> RSP -> EXE
# will not be allowed as the OBJ -> STATIC_LIB generator is composing.

so generating the library target directly is not working. A quick
workaround is to generated the cpp first :

cpp src : generated.foo generated.bar ;
lib generated : src ;

Samuel

Le 18/04/2014 09:05, Samuel Debionne a écrit :
>> It seems that the issue happens only with combining generators. In the
>> included (failing) test case, if the foo generator is register with
>> register.standard it's working fine. if register-combining is used
>> instead then it fails (include file not found).
>
> I did a quick inspection of the build using --debug-building with both a
> standard an a combining generators. It seems that the
> <implicit-dependency> property on the app target is missing (lost) when
> using the combining generators.
>
> IOW, with a standard generator I get
> <implicit-dependency>object(file-target)@204 build properties and that
> property does include the build path.
>
> I have been looking at generators.jam and targets.jam to see why I get
> different results depending on the generator class but any idea where I
> should be searching are welcomed !
>
> Samuel
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
>


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