Boost logo

Boost-Build :

Subject: [Boost-build] Problem with Intel compiler and pch support
From: John Maddock (john_at_[hidden])
Date: 2008-10-22 12:42:37


Trying to compile a project that has pch support with the intel toolset on
win32 results in a bbv2 failure:

Error: ambiguity found when searching for best transformation
Trying to produce type 'CPP_PCH' from:
 - { ../src/tr1/pch.hpp.HPP }
Generators that succeeded:
 - pch.default-cpp-pch-generator
 - intel-win.compile.c++.pch
First generator produced:
Second generator produced:
 - { intel-win%intel-win.compile.c++.pch-pch.pch.CPP_PCH {
../src/tr1/pch.hpp.H
PP } }
 - { intel-win%intel-win.compile.c++.pch-pch.obj.OBJ {
../src/tr1/pch.hpp.HPP }
 }

BTW Intel on win32 has the same pch mechanism as msvc, and the attached
patch fixes the bbv2 errors OK but:

* Intel doesn't support the -Yl option, so you get a warning emitted when
building the pch
* Intel changes the name of the pch file to have a ".pchi" file extension so
dependency checking is broken and the pch gets regenerated every time bjam
is run, which in turn causes the whole project to rebuild :-(

I'd like to start using pch's in some mainline Boost projects to reduce
build times, so it would be nice to get this fixed up. Any better
fixes/suggestions?

Cheers, John.




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