Boost logo

Boost :

Subject: Re: [boost] integrating NaCl support into boost
From: John Maddock (jz.maddock_at_[hidden])
Date: 2015-09-16 12:50:51


On 16/09/2015 14:41, Konstantin Ivlev wrote:
> Hi boost community,
>
> some introdution:
> NaCl (Google NativeClient, https://developer.chrome.com/native-client) -
> open-source technology authored by Google Inc. providing way to run native
> code inside web-browser in portable and secure manner. NaCl provides
> posix-like environment, and supports newlib and glibc standard libraries.
> currently NaCl is supported by Google Chrome web-browser, and range of
> applications and software libraries are ported to NaCl (include zlib,
> quake, etc.).
>
> how about integrating NaCl support patches into the boost main-line
> (trunk/master), I am talking about these NaCl ports patches from Google:
>
> https://chromium.googlesource.com/external/naclports/+/master/ports/boost
>
> (I actually have a bit more correct patches that allow to compile boost
> 1.59 for NaCl platforms, while Google patches are still for old version
> 1.55).
>
> some details about patches and which boost areas are covered by patches:
>
> - boost/config - common setup for NaCl
> - boost/cstdint - small change to expose boost::uintptr_t/boost::intptr_t
> for NaCl, similarly to how it was done to other compilers
> - buitin.jam and gcc.jam - introduced new os-name for NaCl, in order to
> properly setup threading libraries (NaCl has pthread but no rt, just like
> BSD)
> - boost/system/errorcode - oddball version of strerror_r (just like
> cygwin), also ENOTRECOVERABLE & EOWNERDEAD errno codes are not supported by
> PNaCl
> - boost/log/light_rw_mutex - not supported on NaCl
>
> note that boost build is incomplete - certain libraries are not (yet)
> ported to NaCl, because of platform-specific stuff like file/network I/O :
>
> - context
> - coroutine
> - coruutine2
> - log
> - filesystem
> - test
> - timer
> - wave
>
> not sure if it's OK for start, or all boost libraries should be ported
> together in order to process further.
>
> I would be grateful to hear suggestion about how to process with it, e.g.
> which actions should I take to make it really happen.
Sounds like a reasonable idea, only issue I see (and this is a general
one rather than NaCl specific) is that there seems to be an explosion of
platforms lately, and it seems unlikely that we can keep up to date with
them all.

But leaving that aside I suggest you start with PR's for Config and
Build - which would enable some level of testing to proceed - and then
proceed with patches for other libraries from there.

One wrinkle - I notice that Boost.Test is listed as unsupported, but
without that you won't actually be able to run meaningful tests - how
much work would it be to get that supported?

John.
> I personally suppose making boost to officially support more platforms will
> make boost even more popular and allow more developers to use it and port
> their applications to other platforms.
>
> I look forward to hearing from you soon.
>
> yours sincerely, Konstantin
>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
>


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