|
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