Boost logo

Boost-Build :

Subject: [Boost-build] [VxWorks] Updating boost/config/platform/vxworks.hpp for VxWorks 6.9
From: Brockamp, Peter (p.brockamp_at_[hidden])
Date: 2012-11-20 09:30:35


Hello everybody,

I'm new to the Boost.Build mailing list, so please forgive me any newbie
mistakes. I hope this is the right place for my post, if not please
redirect me to where it belongs!

OK, some time ago I had to realize that the platform configuration for
VxWorks boost/config/platform/vxworks.hpp appears to be badly outdated
and doesn't work with the actual version 6.9. I started to modify this
platform header and after a while managed to get Boost compile and run
under VxWorks 6.9, at least as far as we use it here today. I could
offer to the community to update the existing header if this is desired
(I suppose it is). If so should I post the source code here or how to
proceed? Yep, a newbie question.

My modifications surely aren't perfect/complete but it might be a fresh
start for this OS:

- I have only tested it under RTP (Real Time Process) of VxWorks, not
DKM (Downloadable Kernel Module), due to lack of time. DKM has many
limitations compared to RTP, so this might cause problems!

- Equally, due to time constraints, I tested GCC only, not the
diab-compiler, as we don't use it here. Same as above applies here,
problems might arise and I could not guarantee I might be able to fix
them.

- And I tested x86 only, as we actually don't develop for ARM, etc.

- I could test with V6.9 only, as we are not using the prior versions,
so maybe there will be other problems yet unknown. But at least I could
confirm that it is impossible to get Boost running under early versions
of VxWorks (V5.x and older). These versions are lacking a couple of
library functions required by Boost, they come with a library which is
partially non-ANSI-conforming (especially the STL) and the compiler (GCC
2.96) is outdated beyond believe and lacks some functionality (mainly
template stuff) needed by Boost. So some OS-version checking scheme
would have to be added to vxworks.hpp, bailing out in case of obsolete,
unsupported versions.

- A support guy from WRS (Wind River System) mentioned that they are
thinking of including Boost into their OS, so they might do some
adaption work in the future. But until now it doesn't appear to me
there's much activity from WRS, that's why I decided to offer what I
have done so far.

- When compiling Boost for VxWorks I didn't use the build-system, as
VxWorks does a cross compile for the destination platform and I didn't
manage to figure out how to auto build this. Instead I manually pulled
all of Boost's files into a Workbench Project (Workbench is the eclipse
based IDE of VxWorks). So there would be some work left to get this up &
running as well.

- My work is based mainly on modifying and supplementing most parts of
vxworks.hpp. Anyway, during the tests I did I stumbled upon some
problems in other files, e. g. caused by missing #ifdef's for VxWorks,
and even errors in a few of Boost's files, which I fixed as well. Should
all these fixes be posted here, or what's the right way to do it?

So, if you see some potential use in what I have done, despite the
incompleteness pictured above, please someone responsible mail me with
further instructions.

Thx & Best regards

Peter


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