On 02/08/17 20:27, Groke, Paul wrote:
Hi,
we're using several Boost libraries in a large cross-platform project. One of the platforms we need to support is z/OS, using the IBM z/OS XL C/C++ compiler (which BTW is a completely different beast from the XL C/C++ compilers for other IBM platforms, which Boost.Config already seems to support). To be able to use Boost we had to write some patches and we'd very much like to contribute them.
In more detail:
* A minor patch to make the configure script work * Patches to some of the configure tests to fix incorrect feature detections * Compiler-, library- and platform-config header files * A Boost.Atomic implementation * An implementation of Boost.SmartPtr atomic operations
This won't result in full support for all Boost libraries, not even close, but it's enough to make an appreciable subset usable on z/OS.
I've never contributed code to any open source project so far, so I'd appreciate your help. Where should I start? Do I have to talk to the maintainers of Config/Atomic/SmartPtr? Is there even a maintainer for every specific project? Or should I just fork the Git repos and create pull requests? I'm pretty much lost here, sorry :)
Thank you for your initiative. Creating pull requests for the affected libraries sounds like a good approach, unless your changes are drastic enough, like changing the library design or rewriting major parts of it. In the latter case I would recommend starting a separate discussion thread here for each such library (don't forget to add the library name tag in the sublect, similar to how you did in this thread). Library maintainers typically monitor discussions related to their libraries. If you end up creating PRs, remember that the changes should be against the develop branch, not master. We don't make changes to master directly. Finally, if you're interested in keeping your platform supported, you might want to consider becoming a tester. This way, at least, the maintainers (and users) will be able to see the state of Boost on your platform, and maybe fix the problems as they appear in the future.