Boost logo

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