cpp icon indicating copy to clipboard operation
cpp copied to clipboard

Add narrative documentation on how we do binary deployment

Open springmeyer opened this issue 7 years ago • 0 comments

Now that our https://github.com/mapbox/cpp/blob/master/glossary.md is fairly complete, it is a good time to add new, narrative docs that tie together glossary terms.

In particular, there is a need for a binary deployment doc that explains the flow from C++ source code -> node addons -> binary distribution.

Here is a first stab at listing things to cover in this doc:

We use mason for:

  • distributing pre-compiled (aka binary) static libraries for C/C++ code. And in rare cases shared libraries.
  • distributing source code of header-only libraries
  • distributing binaries of executables (aka command line programs).

We use node-pre-gyp for:

  • Binary deployment of node C++ addons
  • When those node C++ addons have external C/C++ dependencies we use mason to pull packages for them
  • Soon we'll open source https://github.com/mapbox/mason-js which will make these more seamless (no need for the mason bash scripts)

TODO:

  • integrate old node-pre-gyp docs into this repo and modify them to link to the glossary and this repo where appropriate. E.g. https://github.com/mapbox/node-pre-gyp/wiki/External-libraries, https://github.com/mapbox/node-pre-gyp/wiki/FAQ

springmeyer avatar Feb 16 '18 20:02 springmeyer