Once written, a protobuf specification can be compiled using protoc
to a variety of implementations in different languages (e.g. python, c++, go). That's great. But to compile that generated code, you need a protobuf development library and, if I am not mistaken, a runtime is required as well.
Is there a way to generate the implementation code in a pure-language, self-contained fashion? So, for example, I would compile my implementation to C++ and Python, distribute it and people could use it by just using the standard library.
If not, are there frameworks (similar to protobuf in principle) that, given a specification, produce a serialization code which is stand alone and does not require other non-standard libraries for a given language?
This question stems from the fact that recently I had to use protobuf on different systems and each one had a different development library available. Should the specification be compiled on each system separately? What if the compilers have different versions?