|
Boost-Build : |
Subject: [Boost-build] sun toolset buggy and outdated?
From: John Maddock (jz.maddock_at_[hidden])
Date: 2015-02-21 08:38:45
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.
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