Expand description

Build system integration with libprotobuf, the C++ implementation of Protocol Buffers, Google’s data interchange format.

Maintainership

This crate is maintained by Materialize. Contributions are encouraged:

Details

This crate builds a vendored copy of libprotobuf and protoc using Cargo’s support for custom build scripts. It is not intended for direct consumption, but as a dependency for other crates that need libprotobuf or protoc available, like prost-build.

protobuf-src is currently bundling protobuf v3.19.1.

To use this crate, declare a dependency or dev-dependency on protobuf-src. Then, in the build script for your crate, the environment variable DEP_PROTOBUF_SRC_ROOT will point to the directory in which the bundled copy of protobuf has been installed. You can build and link another C/C++ library against this copy of libprotobuf or generate Rust bindings and link Rust code against this copy of libprotobuf.

If you simply need to invoke the vendored protoc binary, protoc returns the path to pass to std::process::Command.

Functions

Returns the path to the vendored include directory.

Returns the path to the vendored protoc binary.