|
Boost-Build : |
From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-12-09 02:42:34
Hi Caleb,
> I'm trying to write a Jamfile.v2 for a project I have that is
> dependent on a handful of 3rd party libraries. I'm having difficulty
> getting the proper <includes> to be picked up and I'm stumped.
>
> Here's an example:
>
> lib tools : [ glob src/*.cpp ] log4cplus tibrvcpp : <include>include ;
>
> lib log4cplus : : <search>/path/to/log4cplus/lib : :
> <include>/path/to/log4cplus/include ;
>
> lib tibrv : : <search>/path/to/tibrv/lib : :
> <include>/path/to/tibrv/include ;
>
> lib tibrvcpp : tibrv : <search>/path/to/tibrv/lib : :
> <include>/path/to/tibrv/include ;
>
> Basically the compiler is not being called with the <include> paths
> for log4cplus or tibrv/tibrvcpp when building the object files that
> make up "tools". It only gets the -Iinclude argument.
>
> What is the right way to do this?
I can't reproduce the problem. I have a setup with a single file Jamroot
containing:
lib tools : [ glob *.cpp ] log4cplus : <include>include ;
lib log4cplus : : <search>/path/to/log4cplus/lib : :
<include>/path/to/log4cplus/include ;
and a single empty file a.cpp. I get this command:
gcc.compile.c++ bin/gcc-3.4/debug/a.o
"g++-3.4" -Wall -ftemplate-depth-100 -O0 -fno-inline -g -fPIC
-I"/path/to/log4cplus/include" -I"include" -c -o "bin/gcc-3.4/debug/a.o"
"a.cpp"
It still works when I add other targets. When building with msvc, the output
is:
echo >> "bin/msvc/debug/a_cpp.rsp"
echo "-I/path/to/log4cplus/include" >> "bin/msvc/debug/a_cpp.rsp"
echo "-I/path/to/tibrv/include" >> "bin/msvc/debug/a_cpp.rsp"
echo "-Iinclude" >> "bin/msvc/debug/a_cpp.rsp"
msvc.compile.c++ bin/msvc/debug/a.o bin/msvc/debug/a_cpp.rsp
/Zm800 -nologo -TP /Z7 /Od /Ob0 /EHsc /GR /MDd
@"bin/msvc/debug/a_cpp.rsp" -c -Fo"bin/msvc/debug/a.o"
Note that the command line does not include -I options, but they are stored in
RSP files which is used by the compiler. This is a recent change, made
because a user had too many include paths and ran out of command line length
limits.
If on your project you really don't get include paths added, I'd need a
reproducible test case from you.
- Volodya
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