Hi Andrey, I jsut focus on the Boost.Build issues. On Monday, 13. May 2013 16:08:31 Andrey Semashev wrote:
2. Compile different versions of Boost libraries, for each supported C++ version. The C++ version should be encoded into the library file names, so that different versions can coexist.
Theoretically, yes.
This would require changes in Boost.Build
This is mostly a gcc (and compatible compiler, aka clang, icc) question. Technically, you have to provide a Boost.Build feature (e.g. " feature std : c++98 c++11 ;") to distinguish between the standards. Then you can change library names in boostcpp.jam easily. The tricky part is to figure out which gcc enables c++11 support with which switches and hardcode this depending on the real gcc version into gcc.jam. There are discussion about this on the ML, too.
and autolinking support code Autolinking is a msvc (and compatible, aka intel) solution. (Un-)fortunately, msvc just enables c++11 features by default without any switches. But as the msvc runtimes are ABI-incompatible from version to version, this should be a non-issue for msvc users. mingw is another story, sadly.
, but I think this would be a better long-term solution.
The long-term solution is to get gcc (or the distros) to switch to c++11 as default. Your solution is a mid-term solution. But I fear that similar problems will occur with the next standard version, too. I am just not sure whether this justifies the work needed here. Yours, Jürgen -- * Dipl.-Math. Jürgen Hunold ! * voice: ++49 4257 300 ! Fährstraße 1 * fax : ++49 4257 300 ! 31609 Balge/Sebbenhausen * jhunold@gmx.eu ! Germany