From: Rene Rivera (grafikrobot_at_[hidden])
Date: 2006-07-13 01:51:48
Vladimir Prus wrote:
> On Thursday 13 July 2006 03:19, David Abrahams wrote:
>> Vladimir Prus <ghost_at_[hidden]> writes:
>>> On Wednesday 12 July 2006 13:38, John Maddock wrote:
>>>> There are quite a few TR1 tests that are failing with sunpro, that
>>>> appear to be an include path problem. I believe this was working OK
>>>> with bbv1, but the include paths appear to be coming out in the wrong
>>>> order with the current bbv2.
>>>> A typical list of errors here: http://tinyurl.com/pcwf5 suggests that
>>>> the "real" version of <memory> is getting included rather than the Tr1
>>>> version. The command line shows that the TR1 headers are in the path,
>>>> but *after* the Boost include path, and while I'm not completely sure, I
>>>> believe this is the problem (I've seen issues like this before, but
>>>> they're really hard to diagnose without spending way too much time
>>>> studying pre-processor outputs). So... anyone any ideas why the toolset
>>>> is injecting the boost path ahead of other <include> directives?
>>> Hi John,
>>> as far as Boost.Build V2 is concerned, boost include directory and TR1
>>> include directory as the same, they are both specified using <include>
>>> feature, and no specific order is guaranteed.
>>> I think V1 has <sysinclude>, but I never seen any explanation how it's
>>> different from <include>. Probably <sysinclude> appear before <include>
>>> and that's making it working in V1.
>> <sysinclude> is designed to search angle-bracket includes first.
> Sorry, can you clarify? Are paths for "" and <> includes complately separate,
> wtih <include> specifying "" paths and <sysinclude> specifying <> paths?
Yes. In BBv1 <sysinclude> paths get added to a separate variable than
<include> paths. For some toolsets the two get translated to "-I$(HRDS)
-I$(SYSHDRS)", for others there are special options for each kind. So I
guess I was wrong, now that I looked at the gcc-tools.jam of BBv1. User
includes ("") are searched for before system include (<>). The full
-I"$(HDRS)" -I$(_)"$(STDHDRS)" -I$(_)"$(SYSHDRS)"
STDHDRS are the paths for the standard library includes, for example the
-- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org - grafik/redshift-software.com -- 102708583/icq - grafikrobot/aim - grafikrobot/yahoo
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