From: Andrey Melnikov (melnikov_at_[hidden])
Date: 2005-07-07 16:20:43
David Abrahams wrote:
> Andrey Melnikov <melnikov_at_[hidden]> writes:
>>I didn't mean that Boost.Build's support for portable precompiled
>>headers must be portable across all compilers supporting precompilation.
> I didn't think you did. I only object to the use of the name
> "hdrstop" in the public interface of Boost.Build.
I see now. We could have just <pch>on and <pch>off, but some compilers
(like msvc) support several ways of specifying precompiler headers in
code. We need a way to specify in a Jamfile which of them should be used.
>>I understand that there are compilers with completely incompatible
>>precompiled headers syntax. Trying to support precompiled headers in
>>portable projects like Boost is almost impossible.
> I doubt it. I would like to have a non-implementation-specific
> abstract name in the build system's public interface. That's why we
> use <define> and not <-D> and <find-library> instead of <-l>
Defines and library inputs are portable. Precompiled headers are not
portable in sense that you need to change C++ sources to support
precompiled headers for another compiler. I doubted that it was possible
to build a complete portable pch system, including #ifdefs. To check if
my doubt was actually grounded, I asked people in the list how the rest
of compilers deal with precompilation, but I haven't got an answer so far.
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