I'm trying to test the new Oracle-solaris compiler but I'm running
into Boost.Build issues.
First off what looks like a bug, if I build with with
b2 stdlib=native
Then I *still* get stlport
You can easily reproduce this on another platform with:
cd libs/config/test
../../../b2 config_info toolset=sun stdlib=native -n -d2
which yields:
sun.compile.c++
..\..\..\bin.v2\libs\config\test\config_info.test\sun\debug\stdlib-sun-stlport\config_info.obj
"CC" +d -library=stlport4 -g -erroff=%none -KPIC
-DBOOST_ALL_NO_LIB=1 -I"..\..\.." -c -o
"..\..\..\bin.v2\libs\config\test\config_info.test\sun\debug\stdlib-sun-stlport\config_info.obj"
"config_info.cpp"
Now for the outdated part: the oracle compiler (12.4) now supports
three std lib options:
1) The default - I can't make this work in C++03 mode, but it's the
only option that does work in C++11 mode (where it appears to be a
recent GNU libstdc++ version).
2) STLPort - only works in C++03 mode.
3) Apache - only works in C++03 mode.
So ideally we would probably have:
stdlib=stlport, sets -library=stlport4 for both compile and link.
stdlib=apache, sets -library=stdcxx4 for both compile and link
stdlib=native, sets -std=c++11 for both compile and link.
And yes I realise we're mixing up two different features here, but
as they can't be mixed and matched anyway it at least gets things
working.
I guess the toolset should be renamed either "oracle" or "solaris"
as well?
If anyone has any ideas how to patch the toolset, I have a working
virtual machine to test on (or you can do as I did and download a
pre-build VirtualBox machine).
Thanks in advance, John.