
On Tue, Jun 9, 2009 at 1:41 PM, Stewart, Robert <Robert.Stewart@sig.com>wrote:
Zachary Turner wrote On Tuesday, June 09, 2009 2:30 PM
And perhaps the best approach is what I mentioned in a previous post, to force the programmer to explicitly define BOOST_USE_PRAGMA_ONCE before including a boost header file. This would solve the problem of having to modify every header when new compilers were released.
I agree that a single manifest constant to control using #pragma once is the right thing to do. However, the scheme you describe here puts too much onus on the Boost user. Why not define that manifest constant on the compiler command line using Boost.Build? You can define that for each compiler, unless I'm much mistaken.
Having almost no familiarity whatsoever with Boost.Build, can you elaborate a little bit more? Are you referring to building the boost libraries themselves, or building a project that uses boost with a custom makefile, project, etc? I for one have never used Boost.Build - I downloaded a precompiled binary package from boostpro.com and use MSVC for building my own project, so does what you suggest still apply? Sorry if this is elementary, but like I said I have no familiarity at all with Boost.Build :)