Allow module-specific protoc flags.

You can add local protoc flags via LOCAL_PROTOC_FLAGS.

Change-Id: If246a4edafe1edcec6a7f193bde8ce3c83de745b
diff --git a/core/base_rules.mk b/core/base_rules.mk
index 132632b..7782c33 100644
--- a/core/base_rules.mk
+++ b/core/base_rules.mk
@@ -290,6 +290,7 @@
 else
 $(proto_java_sources_file_stamp): PRIVATE_PROTO_JAVA_OUTPUT_OPTION := --java_out
 endif
+$(proto_java_sources_file_stamp): PRIVATE_PROTOC_FLAGS := $(LOCAL_PROTOC_FLAGS)
 $(proto_java_sources_file_stamp) : $(proto_sources_fullpath) $(PROTOC)
 	$(call transform-proto-to-java)
 
diff --git a/core/binary.mk b/core/binary.mk
index 9ebf8c6..88c356a 100644
--- a/core/binary.mk
+++ b/core/binary.mk
@@ -160,6 +160,7 @@
 
 $(proto_generated_cc_sources): PRIVATE_PROTO_INCLUDES := $(TOP)
 $(proto_generated_cc_sources): PRIVATE_PROTO_CC_OUTPUT_DIR := $(proto_generated_cc_sources_dir)
+$(proto_generated_cc_sources): PRIVATE_PROTOC_FLAGS := $(LOCAL_PROTOC_FLAGS)
 $(proto_generated_cc_sources): $(proto_generated_cc_sources_dir)/%.pb.cc: %.proto $(PROTOC)
 	$(transform-proto-to-cc)
 
diff --git a/core/clear_vars.mk b/core/clear_vars.mk
index 775a1b8..5c4dbea 100644
--- a/core/clear_vars.mk
+++ b/core/clear_vars.mk
@@ -103,6 +103,7 @@
 LOCAL_BUILD_HOST_DEX:=
 LOCAL_DEX_PREOPT:=
 LOCAL_PROTOC_OPTIMIZE_TYPE:= # lite(default),micro,full
+LOCAL_PROTOC_FLAGS:=
 
 # Trim MAKEFILE_LIST so that $(call my-dir) doesn't need to
 # iterate over thousands of entries every time.
diff --git a/core/definitions.mk b/core/definitions.mk
index c236c0e..c1a627b 100644
--- a/core/definitions.mk
+++ b/core/definitions.mk
@@ -829,6 +829,7 @@
 $(hide) $(PROTOC) \
 	$(addprefix --proto_path=, $(PRIVATE_PROTO_INCLUDES)) \
 	$(PRIVATE_PROTO_JAVA_OUTPUT_OPTION)=$(PRIVATE_PROTO_JAVA_OUTPUT_DIR) \
+	$(PRIVATE_PROTOC_FLAGS) \
 	$(PRIVATE_PROTO_SRC_FILES)
 $(hide) touch $@
 endef
@@ -841,6 +842,7 @@
 @echo "Protoc: $@ <= $<"
 $(hide) $(PROTOC) \
 	$(addprefix --proto_path=, $(PRIVATE_PROTO_INCLUDES)) \
+	$(PRIVATE_PROTOC_FLAGS) \
 	--cpp_out=$(PRIVATE_PROTO_CC_OUTPUT_DIR) $<
 endef