From 655f17cf886178519861baec72e653a9f5fb4bb4 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Fri, 25 Jan 2019 17:11:02 -0800 Subject: [PATCH] Add 32BIT and 16BIT nanopb library. Add 32BIT and 16BIT compile time flag for nanopb library to support 16BIT or 32BIT size, default is 8BIT. User need to use the corresponding library when define the PB_FIELD_* flag during compilation. Change-Id: I0d25bcdf62d6b47733e1ad4bddbd4dfce2192b5d Test: None Bug: 122292884 --- core/binary.mk | 10 +++++++++- core/clear_vars.mk | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/core/binary.mk b/core/binary.mk index ccf5580185..8e1281a39d 100644 --- a/core/binary.mk +++ b/core/binary.mk @@ -657,7 +657,7 @@ proto_gen_dir := $(generated_sources_dir)/proto proto_sources_fullpath := $(addprefix $(LOCAL_PATH)/, $(proto_sources)) my_rename_cpp_ext := -ifneq (,$(filter nanopb-c nanopb-c-enable_malloc, $(LOCAL_PROTOC_OPTIMIZE_TYPE))) +ifneq (,$(filter nanopb-c nanopb-c-enable_malloc nanopb-c-16bit nanopb-c-enable_malloc-16bit nanopb-c-32bit nanopb-c-enable_malloc-32bit, $(LOCAL_PROTOC_OPTIMIZE_TYPE))) my_proto_source_suffix := .c my_proto_c_includes := external/nanopb-c my_protoc_flags := --nanopb_out=$(proto_gen_dir) \ @@ -712,6 +712,14 @@ ifeq ($(LOCAL_PROTOC_OPTIMIZE_TYPE),nanopb-c-enable_malloc) my_static_libraries += libprotobuf-c-nano-enable_malloc else ifeq ($(LOCAL_PROTOC_OPTIMIZE_TYPE),nanopb-c) my_static_libraries += libprotobuf-c-nano +else ifeq ($(LOCAL_PROTOC_OPTIMIZE_TYPE),nanopb-c-enable_malloc-16bit) + my_static_libraries += libprotobuf-c-nano-enable_malloc-16bit +else ifeq ($(LOCAL_PROTOC_OPTIMIZE_TYPE),nanopb-c-16bit) + my_static_libraries += libprotobuf-c-nano-16bit +else ifeq ($(LOCAL_PROTOC_OPTIMIZE_TYPE),nanopb-c-enable_malloc-32bit) + my_static_libraries += libprotobuf-c-nano-enable_malloc-32bit +else ifeq ($(LOCAL_PROTOC_OPTIMIZE_TYPE),nanopb-c-32bit) + my_static_libraries += libprotobuf-c-nano-32bit else ifeq ($(LOCAL_PROTOC_OPTIMIZE_TYPE),full) ifdef LOCAL_SDK_VERSION my_static_libraries += libprotobuf-cpp-full-ndk diff --git a/core/clear_vars.mk b/core/clear_vars.mk index c20dbef509..1e3f6ae437 100644 --- a/core/clear_vars.mk +++ b/core/clear_vars.mk @@ -222,7 +222,7 @@ LOCAL_PROGUARD_FLAG_FILES:= LOCAL_PROGUARD_FLAGS:= LOCAL_PROPRIETARY_MODULE:= LOCAL_PROTOC_FLAGS:= -# lite(default),micro,nano,stream,full,nanopb-c,nanopb-c-enable_malloc +# lite(default),micro,nano,stream,full,nanopb-c,nanopb-c-enable_malloc,nanopb-c-16bit,nanopb-c-enable_malloc-16bit,nanopb-c-32bit,nanopb-c-enable_malloc-32bit LOCAL_PROTOC_OPTIMIZE_TYPE:= LOCAL_PROTO_JAVA_OUTPUT_PARAMS:= LOCAL_R8_FLAG_FILES:=