Boost logo

Boost :

Subject: Re: [boost] [filesystem, regex, asio] These three libraries successfully ported to Windows Phone 8.1
From: Moshe Rubin (moshe_at_[hidden])
Date: 2015-01-27 04:46:53


On 26 Jan 2015 15:51, Niall Douglas wrote:

>> When the code has passed the regression suite I will issue a pull

>> request against the GitHub repository.

> Some tips for creating a successful pull request:

>

> 1. Avoid #ifdef spam. Write thunk emulations of missing APIs where possible. Here's an example for GetTickCount64():

> https://github.com/boostorg/thread/blob/master/include/boost/thread/wi

> n32/thread_primitives.hpp#L290. Remember Boost still supports Windows XP and exclusively targets an XP level Win32 API. Use GetProcAddress for newer APIs.

>

> 2. Avoid using macros to implement functionality.

>

> 3. Don't forget to modify the documentation where needed to support the changes.

>

> 4. It might sound obvious, but make sure the unit test suite still passes on Windows XP in default build settings on all of MSVC-8,

> mingw32 and mingw-w64. You'd be surprised how often pull requests don't because they use some Vista or later API, or an API not supported by mingw32. If a pull request doesn't instantly go all green on all supported platforms it tends to not be merged and get put > off till much later (sometimes forever).

>

> Right now cygwin support is broken at least in thread, but other libraries are probably a lot better, so test that too.

>

> 5. Consider additional unit tests where appropriate. In this situation I'd doubt you'd need them.

These are excellent points, obviously the product of your own "battles" with modifying the Boost source base. Many thanks for sharing them, and now is the perfect time to learn them.

> And thank you very much for the improved WinRT support.

My pleasure. It was an education for me (in the positive sense of the word!) participating in porting Boost. I will only rest on my laurels once the port authorized by the crew and back in the repository <g>.

Moshe


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk