summaryrefslogtreecommitdiff
path: root/upb/bindings/README
blob: e4bf0b808b86d1f1e0c888ef66b9c7bd303f2f99 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
This directory contains code that interfaces upb with external C/C++
libraries.  For example:

 * upb/bindings/{stdc,stdc++}
     interfaces between upb and the standard libraries of C and C++ (like C's
     FILE/stdio, C++'s string/iostream, etc.)

 * upb/bindings/googlepb
     interfaces between upb and the "protobuf" library distributed by Google.

 * upb/bindings/lua:
     a Lua extension that exposes upb to Lua programs via the Lua C API.

 * upb/bindings/linux:
     code and build system for building upb as a Linux kernel module.

The two key characteristics that decide whether code belongs in upb/bindings/
are:

 * Does the code's public API refer to types from another library?
   If so it belongs in upb/bindings/.  But this doesn't include code that just
   happens to use another library internally, as an implementation detail.

 * Would this code be useful to someone who is not using this external library
   in some other way?  If so, the code probably doesn't belong in upb/bindings/.
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback