(self, name, srcs: Targets, proto, include, symbol)
| 6 | |
| 7 | @Rule |
| 8 | def protoencode_single(self, name, srcs: Targets, proto, include, symbol): |
| 9 | if proto not in encoders: |
| 10 | r = cxxprogram( |
| 11 | name="protoencode_" + proto, |
| 12 | srcs=["scripts/protoencode.cc"], |
| 13 | cflags=["-DPROTO=" + proto, "-DINCLUDE="+include], |
| 14 | deps=[ |
| 15 | "lib/core", |
| 16 | "lib/config+proto_lib", |
| 17 | "lib/fluxsource+proto_lib", |
| 18 | "lib/fluxsink+proto_lib", |
| 19 | "tests+test_proto_lib", |
| 20 | "+protobuf_lib", |
| 21 | "dep+fmt_lib", |
| 22 | ], |
| 23 | ) |
| 24 | encoders[proto] = r |
| 25 | else: |
| 26 | r = encoders[proto] |
| 27 | r.materialise() |
| 28 | |
| 29 | simplerule( |
| 30 | replaces=self, |
| 31 | ins=srcs, |
| 32 | outs=[f"={name}.cc"], |
| 33 | deps=[r], |
| 34 | commands=[ |
| 35 | "$[deps[0]] $[ins] $[outs] " + symbol |
| 36 | ], |
| 37 | label="PROTOENCODE", |
| 38 | ) |
| 39 | |
| 40 | |
| 41 | @Rule |
no outgoing calls
no test coverage detected