Boost logo

Boost :

Subject: [boost] integrating NaCl support into boost
From: Konstantin Ivlev (tomskside_at_[hidden])
Date: 2015-09-16 09:41:33


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.

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


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