[config] [atomics] Support for z/OS XL C/C++
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 :) Regards, Paul Groke The contents of this e-mail are intended for the named addressee only. It contains information that may be confidential. Unless you are the named addressee or an authorized designee, you may not copy or use it, or disclose it to anyone else. If you received it in error please notify us immediately and then destroy it. Dynatrace Austria GmbH (registration number FN 91482h) is a company registered in Linz whose registered office is at 4040 Linz, Austria, Freistaedterstrasse 313
On 08/02/2017 17: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 :)
For the config stuff, either create a PR or just email me direct. The other 2 libraries are maintained so PR's or bug reports should get dealt with. HTH, John.
Regards, Paul Groke
The contents of this e-mail are intended for the named addressee only. It contains information that may be confidential. Unless you are the named addressee or an authorized designee, you may not copy or use it, or disclose it to anyone else. If you received it in error please notify us immediately and then destroy it. Dynatrace Austria GmbH (registration number FN 91482h) is a company registered in Linz whose registered office is at 4040 Linz, Austria, Freistaedterstrasse 313
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Hi,
-----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of John Maddock Sent: Mittwoch, 8. Februar 2017 19:05
For the config stuff, either create a PR or just email me direct. The other 2 libraries are maintained so PR's or bug reports should get dealt with.
Can I generally create PRs on GitHub for all Boost libraries, or are some parts still maintained/developed somewhere else? And should I create three distinct PRs, one for the configure script change, one for the configure tests and one for the compiler/library/platform headers? Or just a single "one with everything" PR? I think three distinct PRs might be better but I also wouldn't mind putting everything in the same request. Also I have to wait for approval from my company, so it might be some days before I can start. Cheers, Paul Ps: Please excuse the footer. I've already asked IT if I can suppress that somehow but not yet received an answer... The contents of this e-mail are intended for the named addressee only. It contains information that may be confidential. Unless you are the named addressee or an authorized designee, you may not copy or use it, or disclose it to anyone else. If you received it in error please notify us immediately and then destroy it. Dynatrace Austria GmbH (registration number FN 91482h) is a company registered in Linz whose registered office is at 4040 Linz, Austria, Freistaedterstrasse 313
On 2/9/2017 6:59 AM, Groke, Paul via Boost wrote:
Hi,
-----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of John Maddock Sent: Mittwoch, 8. Februar 2017 19:05
For the config stuff, either create a PR or just email me direct. The other 2 libraries are maintained so PR's or bug reports should get dealt with.
Can I generally create PRs on GitHub for all Boost libraries, or are some parts still maintained/developed somewhere else?
Everything is on Github.
And should I create three distinct PRs, one for the configure script change, one for the configure tests and one for the compiler/library/platform headers? Or just a single "one with everything" PR? I think three distinct PRs might be better but I also wouldn't mind putting everything in the same request.
When you create a PR for a library you should include all changes you want to make for it in the single PR. There is no need to create multiple PRs since you have already forked the library in order to potentially create your PR. If you need to change multiple libraries, then you will have separate PRs for each library. However if they need to be co-ordinated for all changes to work you need to say so when the PRs are created.
Also I have to wait for approval from my company, so it might be some days before I can start.
Understood.
Cheers, Paul
Ps: Please excuse the footer. I've already asked IT if I can suppress that somehow but not yet received an answer...
The contents of this e-mail are intended for the named addressee only. It contains information that may be confidential. Unless you are the named addressee or an authorized designee, you may not copy or use it, or disclose it to anyone else. If you received it in error please notify us immediately and then destroy it. Dynatrace Austria GmbH (registration number FN 91482h) is a company registered in Linz whose registered office is at 4040 Linz, Austria, Freistaedterstrasse 313
Hi John,
-----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of John Maddock Sent: Mittwoch, 8. Februar 2017 19:05
For the config stuff, either create a PR or just email me direct. The other 2 libraries are maintained so PR's or bug reports should get dealt with.
I have just created a pull request with my changes/additions for Boost.Config. Please let me know if something needs to be changed before it can be merged. Cheers, Paul The contents of this e-mail are intended for the named addressee only. It contains information that may be confidential. Unless you are the named addressee or an authorized designee, you may not copy or use it, or disclose it to anyone else. If you received it in error please notify us immediately and then destroy it. Dynatrace Austria GmbH (registration number FN 91482h) is a company registered in Linz whose registered office is at 4040 Linz, Austria, Freistaedterstrasse 313
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.
-----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of Andrey Semashev Sent: Mittwoch, 8. Februar 2017 19:47
Thank you for your initiative.
:)
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.
Good to know. I think something more-or-less intelligent in Git(Hub) already made "develop" the default source when creating new branches, but it's good to know that this is in fact the desired "way of doing it" in the Boost repos.
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.
I'll talk to some people at my company. I'd be all for it. Only thing is, CPU cycles on the z are a precious good because our machine is pretty limited (MSUs). Maybe we could create an LPAR with super-low priority, so that the tests can run when the machine isn't busy doing something else (like compiling our stuff or running our tests). IDK, we'll see. Cheers, Paul The contents of this e-mail are intended for the named addressee only. It contains information that may be confidential. Unless you are the named addressee or an authorized designee, you may not copy or use it, or disclose it to anyone else. If you received it in error please notify us immediately and then destroy it. Dynatrace Austria GmbH (registration number FN 91482h) is a company registered in Linz whose registered office is at 4040 Linz, Austria, Freistaedterstrasse 313
participants (4)
-
Andrey Semashev
-
Edward Diener
-
Groke, Paul
-
John Maddock