Pull in latest protolib when using LOCAL_PROTOC_OPTIMIZE_TYPE.

If a module is explicitly depending on a versioned protolib, we strip
the dependency and log a warning so the unneeded dependency can be
removed.

Change-Id: I949d32fb5126f1c05e2a6ed48f6636a4a9b15a48
This commit is contained in:
Jeff Davidson 2014-09-15 17:51:11 -07:00
parent f2bdac77b1
commit b8ddd55b55
3 changed files with 40 additions and 8 deletions

View File

@ -538,9 +538,17 @@ $(proto_generated_objects): $(proto_generated_obj_dir)/%.o: $(proto_generated_cc
my_c_includes += external/protobuf/src $(proto_generated_cc_sources_dir)
my_cflags += -DGOOGLE_PROTOBUF_NO_RTTI
ifeq ($(LOCAL_PROTOC_OPTIMIZE_TYPE),full)
my_static_libraries += libprotobuf-cpp-2.3.0-full
ifneq ($(filter libprotobuf-cpp-2.3.0-full,$(my_static_libraries)),)
$(warning Stripping unneeded dependency on libprotobuf-cpp-2.3.0-full in $(LOCAL_MODULE))
my_static_libraries := $(filter-out libprotobuf-cpp-2.3.0-full,$(my_static_libraries))
endif
my_static_libraries += libprotobuf-cpp-full
else
my_static_libraries += libprotobuf-cpp-2.3.0-lite
ifneq ($(filter libprotobuf-cpp-2.3.0-lite,$(my_static_libraries)),)
$(warning Stripping unneeded dependency on libprotobuf-cpp-2.3.0-lite in $(LOCAL_MODULE))
my_static_libraries := $(filter-out libprotobuf-cpp-2.3.0-lite,$(my_static_libraries))
endif
my_static_libraries += libprotobuf-cpp-lite
endif
endif # $(proto_sources) non-empty

View File

@ -29,12 +29,24 @@ all_res_assets :=
proto_sources := $(filter %.proto,$(LOCAL_SRC_FILES))
ifneq ($(proto_sources),)
ifeq ($(LOCAL_PROTOC_OPTIMIZE_TYPE),micro)
LOCAL_JAVA_LIBRARIES += host-libprotobuf-java-2.3.0-micro
ifneq ($(filter host-libprotobuf-java-2.3.0-micro,$(LOCAL_JAVA_LIBRARIES)),)
$(warning Stripping unneeded dependency on host-libprotobuf-java-2.3.0-micro in $(LOCAL_MODULE))
LOCAL_JAVA_LIBRARIES := $(filter-out host-libprotobuf-java-2.3.0-micro,$(LOCAL_JAVA_LIBRARIES))
endif
LOCAL_JAVA_LIBRARIES += host-libprotobuf-java-micro
else
ifeq ($(LOCAL_PROTOC_OPTIMIZE_TYPE),nano)
LOCAL_JAVA_LIBRARIES += host-libprotobuf-java-2.3.0-nano
ifneq ($(filter host-libprotobuf-java-2.3.0-nano,$(LOCAL_JAVA_LIBRARIES)),)
$(warning Stripping unneeded dependency on host-libprotobuf-java-2.3.0-nano in $(LOCAL_MODULE))
LOCAL_JAVA_LIBRARIES := $(filter-out host-libprotobuf-java-2.3.0-nano,$(LOCAL_JAVA_LIBRARIES))
endif
LOCAL_JAVA_LIBRARIES += host-libprotobuf-java-nano
else
LOCAL_JAVA_LIBRARIES += host-libprotobuf-java-2.3.0-lite
ifneq ($(filter host-libprotobuf-java-2.3.0-lite,$(LOCAL_JAVA_LIBRARIES)),)
$(warning Stripping unneeded dependency on host-libprotobuf-java-2.3.0-lite in $(LOCAL_MODULE))
LOCAL_JAVA_LIBRARIES := $(filter-out host-libprotobuf-java-2.3.0-lite,$(LOCAL_JAVA_LIBRARIES))
endif
LOCAL_JAVA_LIBRARIES += host-libprotobuf-java-lite
endif
endif
endif

View File

@ -40,12 +40,24 @@ endif
proto_sources := $(filter %.proto,$(LOCAL_SRC_FILES))
ifneq ($(proto_sources),)
ifeq ($(LOCAL_PROTOC_OPTIMIZE_TYPE),micro)
LOCAL_STATIC_JAVA_LIBRARIES += libprotobuf-java-2.3.0-micro
ifneq ($(filter libprotobuf-java-2.3.0-micro,$(LOCAL_STATIC_JAVA_LIBRARIES)),)
$(warning Stripping unneeded dependency on libprotobuf-java-2.3.0-micro in $(LOCAL_MODULE))
LOCAL_STATIC_JAVA_LIBRARIES := $(filter-out libprotobuf-java-2.3.0-micro,$(LOCAL_STATIC_JAVA_LIBRARIES))
endif
LOCAL_STATIC_JAVA_LIBRARIES += libprotobuf-java-micro
else
ifeq ($(LOCAL_PROTOC_OPTIMIZE_TYPE),nano)
LOCAL_STATIC_JAVA_LIBRARIES += libprotobuf-java-2.3.0-nano
ifneq ($(filter libprotobuf-java-2.3.0-nano,$(LOCAL_STATIC_JAVA_LIBRARIES)),)
$(warning Stripping unneeded dependency on libprotobuf-java-2.3.0-nano in $(LOCAL_MODULE))
LOCAL_STATIC_JAVA_LIBRARIES := $(filter-out libprotobuf-java-2.3.0-nano,$(LOCAL_STATIC_JAVA_LIBRARIES))
endif
LOCAL_STATIC_JAVA_LIBRARIES += libprotobuf-java-nano
else
LOCAL_STATIC_JAVA_LIBRARIES += libprotobuf-java-2.3.0-lite
ifneq ($(filter libprotobuf-java-2.3.0-lite,$(LOCAL_STATIC_JAVA_LIBRARIES)),)
$(warning Stripping unneeded dependency on libprotobuf-java-2.3.0-lite in $(LOCAL_MODULE))
LOCAL_STATIC_JAVA_LIBRARIES := $(filter-out libprotobuf-java-2.3.0-lite,$(LOCAL_STATIC_JAVA_LIBRARIES))
endif
LOCAL_STATIC_JAVA_LIBRARIES += libprotobuf-java-lite
endif
endif
endif