1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

pkg/nanopb: fix for proto files with includes

Proto files can include other proto files.
E.g. nanopb comes with a `nanopb.proto` include that contains some
nanopb-specific extensions.

This patch makes it possible to include this file as well as specifying
additional proto include folders.

I added the include to `simple.proto` so it gets exercised by the test.
This commit is contained in:
Benjamin Valentin 2020-04-02 12:34:04 +02:00
parent c74544c9ec
commit 7fd329b3a1
2 changed files with 10 additions and 2 deletions

View File

@ -2,13 +2,20 @@ PROTOC ?= protoc
PROTOC_GEN_NANOPB ?= $(PKGDIRBASE)/nanopb/generator/protoc-gen-nanopb
PROTOBUF_FILES ?= $(wildcard *.proto)
PROTOBUF_PATH ?= $(CURDIR)
GENSRC += $(PROTOBUF_FILES:%.proto=$(BINDIR)/$(MODULE)/%.pb.c)
GENOBJC := $(GENSRC:%.c=%.o)
ifneq (, $(PROTOBUF_FILES))
ifneq (,$(PROTOBUF_FILES))
INCLUDES += -I$(BINDIR)/$(MODULE)
endif
# workaround for old protoc
PROTO_INCLUDES += -I.
# add nanopb specific includes
PROTO_INCLUDES += -I$(PKGDIRBASE)/nanopb/generator/proto
PROTO_INCLUDES += -I$(PROTOBUF_PATH)
$(SRC): $(GENSRC)
$(GENSRC): $(PROTOBUF_FILES)
@ -18,6 +25,6 @@ $(GENSRC): $(PROTOBUF_FILES)
make -C $(PKGDIRBASE)/nanopb/generator/proto && \
for protofile in $(PROTOBUF_FILES); do \
protoc --plugin=protoc-gen-nanopb=$(PROTOC_GEN_NANOPB) \
--nanopb_out="$$D" \
--nanopb_out="$$D" $(PROTO_INCLUDES) \
$^ \
; done

View File

@ -2,6 +2,7 @@
// one message.
syntax = "proto2";
import "nanopb.proto";
message SimpleMessage {
required int32 lucky_number = 1;