C++11
Hello,
I am the maintainer of Wt [1], a C++ web development library (think of Qt or Gtk+ for the web) and web server.
My upstream [2] sent me a mail asking about mixing C++03 and C++11. My understanding is it is not possible for a variety of reasons, unless all players take great care (see [3], for instance).
The specific case upstream asked about is Boost.Signals2, which provides a different and ABI-incompatible implementation [4] depending on whether Boost was compiled as C++03 or C++11. I expect users and Wt to use more and more C++11, to the point where Wt may not even be compilable as C++03. Given that Wt depends on Boost, I can foresee a problem:
- Application may be C++11 or C++03, depending on what the user is doing
- Wt would be C++11-only
- Boost would be compiled as C++03 in Debian
- Wt (C++11) would depend on Boost (C++03), which but this mix is broken
I'm talking about Wt + Boost in this e-mail but this will arise as other combinations for other packagers: log4cpp, Xerces, SOCI, ACE (which I co-maintain), Gtkmm, ZeroC ICE, POCO, etc
I have googled but so far I have found no clear conclusion about this for Debian. What are we going to do with C++11? Are we goint to provide C++03 and C++11 using multiarch (is that even possible?) ? Everything C++11? Fingers crossed?
E. g Microsoft took a very pragmatic decision: C++11 is enabled by default and it is not possible to disable it.
Reply to:
- Follow-Ups:
- Re: C++11
- From: Dmitrijs Ledkovs <xnox@debian.org>