Re: [boost] [Boost-build] [VxWorks] Updating boost/config/platform/vxworks.hpp for VxWorks 6.9

Le 20/11/12 15:30, Brockamp, Peter a écrit :
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!
I'm replied to the boost dev ML as most of the patches concern Boost.Config.
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. You can start by creating a ticket on the Trac system https://svn.boost.org/trac/boost/newticket.
You could add a patch associated with the ticket.
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.
Best, Vicente
participants (1)
-
Vicente J. Botet Escriba