Search code examples
c++g++jam

How do I see g++ compiler output when using Jam?


I'm using Jam to compile a project, and it seems that no matter how high the debug level I set, I still can't see the details that I'm looking for.

I want to use g++'s -M or -H flag to see which headers are being included (I want to include system headers from a special directory), and I've tested that these work. I'll see something like this:

$ /speciali686/bin/i686-linux-g++ -M simple.cpp
/speciali686/include/c++/4.7.2/iostream
<...>

That allows me to verify that my solution is working fine without Jam, but now I want to confirm that Jam isn't messing anything up.

I tried jam -d 9 | grep include | grep i686 and don't see anything.

What could be going wrong here? And why is the raw compiler output so obfuscated?


Solution

  • This is actually pretty easy, and oakad is exactly right.

    Simply use the jam -d x... This flag will show the shell arguments called by jam so you can see the actual compiler invocation.

    It can be easily found in the manual here: http://public.perforce.com/public/jam/src/Jam.html but for some reason the man pages on my computer didn't have (but everything else??) that top section