Boost logo

Boost-Build :

From: Reece Dunn (msclrhd_at_[hidden])
Date: 2005-10-26 02:56:26


Vladimir Prus wrote:
> The idea was that a single source file can be used by several actions, which
> which have different properties, and different scanners. Say, you can compile
> the same source with two different include paths, and clearly scanners should
> be different. That's why the scanner is in grist.

Having investigated this further (see a previous reply to this thread),
I am having problems using propagated features in this case...

> If thing still don't work, send me a simple testcase, and I'll take a look.

This is not a bug with your MIDL code, but rather the way that the
<implicit-dependency> feature works with a propagated feature. For
example, given:

project\core\Jamfile
mstypelib core : core.idl ;
lib comobj : comobj.cpp : <windows>nt <implicit-dependency>core ;
project\Jamfile
exe comexe : main.cpp : <windows>xp
<implicit-dependency>core//core ;

having:

feature windows : none nt 2k xp 2k3 vista : propagated composite ;

will cause the build to fail because:

msvc-7.1\release\windows-xp

is added to the include path by implicit dependencies and

msvc-7.1\release

is required for it to build properly. That is, I have:

build\projects\core\msvc-7.1\release\core.h
build\projects\core\msvc-7.1\release\windows-nt\comobj.obj
build\projects\msvc-7.1\release\windows-xp\main.obj

and thus, main.cpp can't find core.h. By changing this to incidental:

feature windows : none nt 2k xp 2k3 vista : incidental composite ;

the correct directory is added and things build correctly.

- Reece

 


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