Stefan Teleman wrote:
>
>
> Garrett D'Amore wrote:
>> John Plocher wrote:
>>> Nicolas Williams wrote:
>>>> It would be
>>>> nice if we could avoid revisiting this every time a project comes 
>>>> along
>>>> to integrate some C++ library.
>>>
>>> We already have a stake in this sandbox:
>>>
>>>    Don't use g++ to build/deliver C++ libraries on *Solaris,
>>>    period.  Use Studio's C++ instead.
>>
>> Oh, cool!  Do you happen to know offhand what the case number for 
>> that opinion would be?
>>
>
> PSARC/2002/348 (International Components for Unicode).
>

Thank you.

I don't see Gnu C++ mentioned explicitly, but it seems like some 
specific comments were made about compiler flags, etc. that necessarily 
preclude Gnu C++.

Please review the last paragraph in section 4.1.8.  I don't know if the 
policy has been superseded, but the case clearly recognizes the binary 
compatibility problems, and tried to set a policy against Evolving or 
Stable.  (Which today would mean Committed.)  I take that precedent to 
mean that it would be inappropriate for any binary compatibility level 
to be granted beyond Uncommitted.

And Consolidation or Project Private seems even better (the case 
recommends this), with individual contracts for specific use outside of 
the consolidation or project.

If this case wishes to propose a new C++ Standard library, with a higher 
level of binary stability, then I think it would be appropriate to 
escalate this to a full case.  The full case would describe how the 
binary compatibility guarantees would be used, and might then create 
itself a precedent for how middleware C++ could solve the binary 
compatibility problem.  It would necessarily need to involve input from 
both compiler teams and the project team (and possibly potential 
consumers such as KDE as well.)

I guess at this point, I have the feeling that we need a way to 
standardize upon a single C++  ABI, combining the results of the C++ 
compiler implementation *and* the "standard" libraries.  This feels like 
something that needs to be resolved with a scope that falls well outside 
the fair bounds of a fast track.

Right now, it doesn't seem like any of our binary compatibility 
guarantees apply to any dynamically linked C++ code, and this case (as 
proposed) proposes to set new precedent here.

Alternatively, if this library were delivered within a project or 
consolidation, not for use outside of the project/consolidation (and no 
additional "public" C++ library dependencies were exposed otuside of the 
project/consolidation), then I'd be OK with this as a fast track.  That 
would rescope this effort rather drastically, but then it would also 
suggest that this particular project should deliver as part of a larger 
whole such as KDE, rather than as a separate case unto itself.

    -- Garrett


Reply via email to