Boost logo

Boost-Build :

From: Beman Dawes (bdawes_at_[hidden])
Date: 2002-07-23 06:59:05


At 09:37 PM 7/22/2002, David Abrahams wrote:

>> Any ideas for eliminating this?
>
>Don't put $(BOOST_ROOT) in both your <include> and <sysinclude> paths.

The warning is happening even with tests which don't specify either
<include> or <sysinclude>

For example, for "any" the Jamfile is just:

run libs/any/any_test.cpp ;

Here is the bjam -d2 output for any_test:

gcc-C++-action
..\status\bin\any_test.test\gcc\debug\runtime-link-dynamic\any_test.obj

g++ -c -Wall -ftemplate-depth-100 -g -O0
-fno-inline -I"..\status" -I"C:\boost\site" -I"." -isystem
"C:\boost\site" -o
"..\status\bin\any_test.test\gcc\debug\runtime-link-dynamic\any_test.obj"
"C:\boost\site\libs/any\any_test.cpp"

cc1plus.exe: warning: changing search order for system directory
"C:/boost/site"
cc1plus.exe: warning: as it has already been specified as a non-system
directory

>I'm pretty sure that's the cause of it.
>Are you trying to use #include "..." perchance?

I started to reply "no", which is certainly correct for most Boost tests,
but realized I had no idea what any_test.cpp did, so looked and found:

#include "boost/any.hpp"
#include "test.hpp"

It has been that way since the initial commit.

But most Boost tests use only <...> includes. And all the "run" tests are
getting the warning messages, not just those which happen to use "..."
includes.

Why is the boost root ever specified as what GCC calls a "non-system"
directory? Since the standard specifies that a "..." include which fails
is then treated as a <...> include, it wouldn't seem necessary to specify
the boost root as a "non-system" directory.

--Beman

 


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