Vendor minimal capnproto
This commit is contained in:
44
vendor/capnproto/README.md
vendored
Normal file
44
vendor/capnproto/README.md
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
# Vendored Cap'n Proto
|
||||
|
||||
Based on Cap'n Proto 1.4.0, the version previously downloaded by this fork.
|
||||
|
||||
Source: https://capnproto.org/capnproto-c++-1.4.0.tar.gz
|
||||
|
||||
Archive SHA-256: `fa02378ad522b318916b9ad928d1372fc9abd43dd1f4f0392e50450f5c87828f`
|
||||
|
||||
See LICENSE.txt and individual files for upstream licenses.
|
||||
|
||||
This is an internal serialization/schema-parser subset for pycapnp, not a full
|
||||
Cap'n Proto distribution. Generated schema sources are checked in; no compiler
|
||||
executables or network downloads are required to build it.
|
||||
|
||||
Removed: RPC/capabilities, promises/async I/O, networking/TLS/HTTP, JSON,
|
||||
compression, packed/text/stream/fd message serialization, command-line tools and
|
||||
code generators, upstream build systems/examples/tests, compiler export helpers,
|
||||
unused KJ encodings/stream classes/clocks, and opt-in crash handlers. Also removed
|
||||
are canonicalization, borrowed-memory builders, orphan resizing/concatenation,
|
||||
schema doc-comment storage, interface-schema support, Windows code, and the
|
||||
optional lite build. Interface declarations are rejected with a parser error.
|
||||
|
||||
The retained core includes message validation, flat serialization, dynamic
|
||||
struct/list/enum values, runtime schema compilation (including generics), and
|
||||
its filesystem, allocation, synchronization, and diagnostic dependencies.
|
||||
Generated schema reader/builder metadata is retained; pipeline classes are not.
|
||||
This source tree is for the Python binding, not a drop-in C++ SDK or schema
|
||||
compiler for openpilot's separate C++ build.
|
||||
|
||||
The retained `src/capnp/schema.capnp` omits compiler-request and documentation
|
||||
metadata. Its generated C++ was rebuilt with upstream 1.4.0's `capnp` and
|
||||
`capnpc-c++`, then unused generated pipeline APIs were removed. Regeneration:
|
||||
|
||||
```sh
|
||||
capnp compile -I<upstream>/src --src-prefix=vendor/capnproto/src/capnp \
|
||||
-o<capnpc-c++>:<output> vendor/capnproto/src/capnp/schema.capnp
|
||||
```
|
||||
|
||||
Regeneration must also apply the vendor's removal of Pipeline declarations,
|
||||
classes and accessors, and Windows-only includes. The unused `LexedTokens` type
|
||||
was removed from the shipped generated lexer files; the runtime parser uses
|
||||
`LexedStatements`. Lexer reflection metadata is also omitted; its generated
|
||||
static reader/builder layouts remain. Generated wire type tags and active field
|
||||
ordinals are kept.
|
||||
Reference in New Issue
Block a user