Protocol Buffers - Google's data interchange format (grpc依赖)
https://developers.google.com/protocol-buffers/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
486 lines
17 KiB
486 lines
17 KiB
# Copyright (C) 2009 The Android Open Source Project |
|
# |
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
|
# you may not use this file except in compliance with the License. |
|
# You may obtain a copy of the License at |
|
# |
|
# http://www.apache.org/licenses/LICENSE-2.0 |
|
# |
|
# Unless required by applicable law or agreed to in writing, software |
|
# distributed under the License is distributed on an "AS IS" BASIS, |
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
# See the License for the specific language governing permissions and |
|
# limitations under the License. |
|
# |
|
# |
|
|
|
LOCAL_PATH := $(call my-dir) |
|
|
|
IGNORED_WARNINGS := -Wno-sign-compare -Wno-unused-parameter -Wno-sign-promo |
|
|
|
CC_LITE_SRC_FILES := \ |
|
src/google/protobuf/stubs/common.cc \ |
|
src/google/protobuf/stubs/once.cc \ |
|
src/google/protobuf/stubs/hash.cc \ |
|
src/google/protobuf/stubs/hash.h \ |
|
src/google/protobuf/stubs/map-util.h \ |
|
src/google/protobuf/stubs/stl_util-inl.h \ |
|
src/google/protobuf/extension_set.cc \ |
|
src/google/protobuf/generated_message_util.cc \ |
|
src/google/protobuf/message_lite.cc \ |
|
src/google/protobuf/repeated_field.cc \ |
|
src/google/protobuf/wire_format_lite.cc \ |
|
src/google/protobuf/io/coded_stream.cc \ |
|
src/google/protobuf/io/coded_stream_inl.h \ |
|
src/google/protobuf/io/zero_copy_stream.cc \ |
|
src/google/protobuf/io/zero_copy_stream_impl_lite.cc |
|
|
|
JAVA_LITE_SRC_FILES := \ |
|
java/src/main/java/com/google/protobuf/UninitializedMessageException.java \ |
|
java/src/main/java/com/google/protobuf/MessageLite.java \ |
|
java/src/main/java/com/google/protobuf/InvalidProtocolBufferException.java \ |
|
java/src/main/java/com/google/protobuf/CodedOutputStream.java \ |
|
java/src/main/java/com/google/protobuf/ByteString.java \ |
|
java/src/main/java/com/google/protobuf/CodedInputStream.java \ |
|
java/src/main/java/com/google/protobuf/ExtensionRegistryLite.java \ |
|
java/src/main/java/com/google/protobuf/AbstractMessageLite.java \ |
|
java/src/main/java/com/google/protobuf/FieldSet.java \ |
|
java/src/main/java/com/google/protobuf/Internal.java \ |
|
java/src/main/java/com/google/protobuf/WireFormat.java \ |
|
java/src/main/java/com/google/protobuf/GeneratedMessageLite.java |
|
|
|
COMPILER_SRC_FILES := \ |
|
src/google/protobuf/descriptor.cc \ |
|
src/google/protobuf/descriptor.pb.cc \ |
|
src/google/protobuf/descriptor_database.cc \ |
|
src/google/protobuf/dynamic_message.cc \ |
|
src/google/protobuf/extension_set.cc \ |
|
src/google/protobuf/extension_set_heavy.cc \ |
|
src/google/protobuf/generated_message_reflection.cc \ |
|
src/google/protobuf/generated_message_util.cc \ |
|
src/google/protobuf/message.cc \ |
|
src/google/protobuf/message_lite.cc \ |
|
src/google/protobuf/reflection_ops.cc \ |
|
src/google/protobuf/repeated_field.cc \ |
|
src/google/protobuf/service.cc \ |
|
src/google/protobuf/text_format.cc \ |
|
src/google/protobuf/unknown_field_set.cc \ |
|
src/google/protobuf/wire_format.cc \ |
|
src/google/protobuf/wire_format_lite.cc \ |
|
src/google/protobuf/compiler/code_generator.cc \ |
|
src/google/protobuf/compiler/command_line_interface.cc \ |
|
src/google/protobuf/compiler/importer.cc \ |
|
src/google/protobuf/compiler/main.cc \ |
|
src/google/protobuf/compiler/parser.cc \ |
|
src/google/protobuf/compiler/plugin.cc \ |
|
src/google/protobuf/compiler/plugin.pb.cc \ |
|
src/google/protobuf/compiler/subprocess.cc \ |
|
src/google/protobuf/compiler/zip_writer.cc \ |
|
src/google/protobuf/compiler/cpp/cpp_enum.cc \ |
|
src/google/protobuf/compiler/cpp/cpp_enum_field.cc \ |
|
src/google/protobuf/compiler/cpp/cpp_extension.cc \ |
|
src/google/protobuf/compiler/cpp/cpp_field.cc \ |
|
src/google/protobuf/compiler/cpp/cpp_file.cc \ |
|
src/google/protobuf/compiler/cpp/cpp_generator.cc \ |
|
src/google/protobuf/compiler/cpp/cpp_helpers.cc \ |
|
src/google/protobuf/compiler/cpp/cpp_message.cc \ |
|
src/google/protobuf/compiler/cpp/cpp_message_field.cc \ |
|
src/google/protobuf/compiler/cpp/cpp_primitive_field.cc \ |
|
src/google/protobuf/compiler/cpp/cpp_service.cc \ |
|
src/google/protobuf/compiler/cpp/cpp_string_field.cc \ |
|
src/google/protobuf/compiler/java/java_enum.cc \ |
|
src/google/protobuf/compiler/java/java_enum_field.cc \ |
|
src/google/protobuf/compiler/java/java_extension.cc \ |
|
src/google/protobuf/compiler/java/java_field.cc \ |
|
src/google/protobuf/compiler/java/java_file.cc \ |
|
src/google/protobuf/compiler/java/java_generator.cc \ |
|
src/google/protobuf/compiler/java/java_helpers.cc \ |
|
src/google/protobuf/compiler/java/java_message.cc \ |
|
src/google/protobuf/compiler/java/java_message_field.cc \ |
|
src/google/protobuf/compiler/java/java_primitive_field.cc \ |
|
src/google/protobuf/compiler/java/java_service.cc \ |
|
src/google/protobuf/compiler/javamicro/javamicro_enum.cc \ |
|
src/google/protobuf/compiler/javamicro/javamicro_enum_field.cc \ |
|
src/google/protobuf/compiler/javamicro/javamicro_field.cc \ |
|
src/google/protobuf/compiler/javamicro/javamicro_file.cc \ |
|
src/google/protobuf/compiler/javamicro/javamicro_generator.cc \ |
|
src/google/protobuf/compiler/javamicro/javamicro_helpers.cc \ |
|
src/google/protobuf/compiler/javamicro/javamicro_message.cc \ |
|
src/google/protobuf/compiler/javamicro/javamicro_message_field.cc \ |
|
src/google/protobuf/compiler/javamicro/javamicro_primitive_field.cc \ |
|
src/google/protobuf/compiler/javanano/javanano_enum.cc \ |
|
src/google/protobuf/compiler/javanano/javanano_enum_field.cc \ |
|
src/google/protobuf/compiler/javanano/javanano_extension.cc \ |
|
src/google/protobuf/compiler/javanano/javanano_field.cc \ |
|
src/google/protobuf/compiler/javanano/javanano_file.cc \ |
|
src/google/protobuf/compiler/javanano/javanano_generator.cc \ |
|
src/google/protobuf/compiler/javanano/javanano_helpers.cc \ |
|
src/google/protobuf/compiler/javanano/javanano_message.cc \ |
|
src/google/protobuf/compiler/javanano/javanano_message_field.cc \ |
|
src/google/protobuf/compiler/javanano/javanano_primitive_field.cc \ |
|
src/google/protobuf/compiler/python/python_generator.cc \ |
|
src/google/protobuf/io/coded_stream.cc \ |
|
src/google/protobuf/io/gzip_stream.cc \ |
|
src/google/protobuf/io/printer.cc \ |
|
src/google/protobuf/io/tokenizer.cc \ |
|
src/google/protobuf/io/zero_copy_stream.cc \ |
|
src/google/protobuf/io/zero_copy_stream_impl.cc \ |
|
src/google/protobuf/io/zero_copy_stream_impl_lite.cc \ |
|
src/google/protobuf/stubs/common.cc \ |
|
src/google/protobuf/stubs/hash.cc \ |
|
src/google/protobuf/stubs/once.cc \ |
|
src/google/protobuf/stubs/structurally_valid.cc \ |
|
src/google/protobuf/stubs/strutil.cc \ |
|
src/google/protobuf/stubs/substitute.cc |
|
|
|
# Java nano library (for device-side users) |
|
# ======================================================= |
|
include $(CLEAR_VARS) |
|
|
|
LOCAL_MODULE := libprotobuf-java-nano |
|
LOCAL_MODULE_TAGS := optional |
|
LOCAL_SDK_VERSION := 8 |
|
|
|
LOCAL_SRC_FILES := $(call all-java-files-under, java/src/main/java/com/google/protobuf/nano) |
|
LOCAL_SRC_FILES += $(call all-java-files-under, java/src/device/main/java/com/google/protobuf/nano) |
|
|
|
include $(BUILD_STATIC_JAVA_LIBRARY) |
|
|
|
# Java nano library (for host-side users) |
|
# ======================================================= |
|
include $(CLEAR_VARS) |
|
|
|
LOCAL_MODULE := host-libprotobuf-java-nano |
|
LOCAL_MODULE_TAGS := optional |
|
|
|
LOCAL_SRC_FILES := $(call all-java-files-under, java/src/main/java/com/google/protobuf/nano) |
|
|
|
include $(BUILD_HOST_JAVA_LIBRARY) |
|
|
|
# Java micro library (for device-side users) |
|
# ======================================================= |
|
include $(CLEAR_VARS) |
|
|
|
LOCAL_MODULE := libprotobuf-java-micro |
|
LOCAL_MODULE_TAGS := optional |
|
LOCAL_SDK_VERSION := 8 |
|
|
|
LOCAL_SRC_FILES := $(call all-java-files-under, java/src/main/java/com/google/protobuf/micro) |
|
|
|
include $(BUILD_STATIC_JAVA_LIBRARY) |
|
|
|
# Java micro library (for host-side users) |
|
# ======================================================= |
|
include $(CLEAR_VARS) |
|
|
|
LOCAL_MODULE := host-libprotobuf-java-micro |
|
LOCAL_MODULE_TAGS := optional |
|
|
|
LOCAL_SRC_FILES := $(call all-java-files-under, java/src/main/java/com/google/protobuf/micro) |
|
|
|
include $(BUILD_HOST_JAVA_LIBRARY) |
|
|
|
# Java lite library (for device-side users) |
|
# ======================================================= |
|
include $(CLEAR_VARS) |
|
|
|
LOCAL_MODULE := libprotobuf-java-lite |
|
LOCAL_MODULE_TAGS := optional |
|
LOCAL_SDK_VERSION := 8 |
|
|
|
LOCAL_SRC_FILES := $(JAVA_LITE_SRC_FILES) |
|
|
|
include $(BUILD_STATIC_JAVA_LIBRARY) |
|
|
|
# Java lite library (for host-side users) |
|
# ======================================================= |
|
include $(CLEAR_VARS) |
|
|
|
LOCAL_MODULE := host-libprotobuf-java-lite |
|
LOCAL_MODULE_TAGS := optional |
|
|
|
LOCAL_SRC_FILES := $(JAVA_LITE_SRC_FILES) |
|
|
|
include $(BUILD_HOST_JAVA_LIBRARY) |
|
|
|
# C++ lite library |
|
# ======================================================= |
|
include $(CLEAR_VARS) |
|
|
|
LOCAL_MODULE := libprotobuf-cpp-lite |
|
LOCAL_MODULE_TAGS := optional |
|
|
|
LOCAL_CPP_EXTENSION := .cc |
|
|
|
LOCAL_SRC_FILES := $(CC_LITE_SRC_FILES) |
|
|
|
LOCAL_C_INCLUDES := \ |
|
$(LOCAL_PATH)/android \ |
|
$(LOCAL_PATH)/src |
|
|
|
# Define the header files to be copied |
|
#LOCAL_COPY_HEADERS := \ |
|
# src/google/protobuf/stubs/once.h \ |
|
# src/google/protobuf/stubs/common.h \ |
|
# src/google/protobuf/io/coded_stream.h \ |
|
# src/google/protobuf/generated_message_util.h \ |
|
# src/google/protobuf/repeated_field.h \ |
|
# src/google/protobuf/extension_set.h \ |
|
# src/google/protobuf/wire_format_lite_inl.h |
|
# |
|
#LOCAL_COPY_HEADERS_TO := $(LOCAL_MODULE) |
|
|
|
LOCAL_CFLAGS := -DGOOGLE_PROTOBUF_NO_RTTI $(IGNORED_WARNINGS) |
|
|
|
# These are the minimum versions and don't need to be update. |
|
ifeq ($(TARGET_ARCH),arm) |
|
LOCAL_SDK_VERSION := 8 |
|
else |
|
# x86/mips support only available from API 9. |
|
LOCAL_SDK_VERSION := 9 |
|
endif |
|
LOCAL_NDK_STL_VARIANT := stlport_static |
|
|
|
include $(BUILD_STATIC_LIBRARY) |
|
|
|
# C++ lite library (libc++ flavored for the platform) |
|
# ======================================================= |
|
include $(CLEAR_VARS) |
|
|
|
LOCAL_MODULE := libprotobuf-cpp-lite |
|
LOCAL_MODULE_TAGS := optional |
|
|
|
LOCAL_CPP_EXTENSION := .cc |
|
|
|
LOCAL_SRC_FILES := $(CC_LITE_SRC_FILES) |
|
|
|
LOCAL_C_INCLUDES := \ |
|
$(LOCAL_PATH)/android \ |
|
$(LOCAL_PATH)/src |
|
|
|
LOCAL_CFLAGS := -DGOOGLE_PROTOBUF_NO_RTTI $(IGNORED_WARNINGS) |
|
|
|
include $(BUILD_SHARED_LIBRARY) |
|
|
|
# C++ full library |
|
# ======================================================= |
|
protobuf_cc_full_src_files := \ |
|
$(CC_LITE_SRC_FILES) \ |
|
src/google/protobuf/stubs/strutil.cc \ |
|
src/google/protobuf/stubs/strutil.h \ |
|
src/google/protobuf/stubs/substitute.cc \ |
|
src/google/protobuf/stubs/substitute.h \ |
|
src/google/protobuf/stubs/structurally_valid.cc \ |
|
src/google/protobuf/descriptor.cc \ |
|
src/google/protobuf/descriptor.pb.cc \ |
|
src/google/protobuf/descriptor_database.cc \ |
|
src/google/protobuf/dynamic_message.cc \ |
|
src/google/protobuf/extension_set_heavy.cc \ |
|
src/google/protobuf/generated_message_reflection.cc \ |
|
src/google/protobuf/message.cc \ |
|
src/google/protobuf/reflection_ops.cc \ |
|
src/google/protobuf/service.cc \ |
|
src/google/protobuf/text_format.cc \ |
|
src/google/protobuf/unknown_field_set.cc \ |
|
src/google/protobuf/wire_format.cc \ |
|
src/google/protobuf/io/gzip_stream.cc \ |
|
src/google/protobuf/io/printer.cc \ |
|
src/google/protobuf/io/tokenizer.cc \ |
|
src/google/protobuf/io/zero_copy_stream_impl.cc \ |
|
src/google/protobuf/compiler/importer.cc \ |
|
src/google/protobuf/compiler/parser.cc |
|
|
|
# C++ full library - stlport version |
|
# ======================================================= |
|
include $(CLEAR_VARS) |
|
|
|
LOCAL_MODULE := libprotobuf-cpp-full |
|
LOCAL_MODULE_TAGS := optional |
|
LOCAL_CPP_EXTENSION := .cc |
|
LOCAL_SRC_FILES := $(protobuf_cc_full_src_files) |
|
LOCAL_C_INCLUDES := \ |
|
$(LOCAL_PATH)/android \ |
|
external/zlib \ |
|
$(LOCAL_PATH)/src |
|
|
|
# Define the header files to be copied |
|
#LOCAL_COPY_HEADERS := \ |
|
# src/google/protobuf/stubs/once.h \ |
|
# src/google/protobuf/stubs/common.h \ |
|
# src/google/protobuf/io/coded_stream.h \ |
|
# src/google/protobuf/generated_message_util.h \ |
|
# src/google/protobuf/repeated_field.h \ |
|
# src/google/protobuf/extension_set.h \ |
|
# src/google/protobuf/wire_format_lite_inl.h |
|
# |
|
#LOCAL_COPY_HEADERS_TO := $(LOCAL_MODULE) |
|
|
|
LOCAL_CFLAGS := -DGOOGLE_PROTOBUF_NO_RTTI $(IGNORED_WARNINGS) |
|
|
|
# These are the minimum versions and don't need to be update. |
|
ifeq ($(TARGET_ARCH),arm) |
|
LOCAL_SDK_VERSION := 8 |
|
else |
|
# x86/mips support only available from API 9. |
|
LOCAL_SDK_VERSION := 9 |
|
endif |
|
LOCAL_NDK_STL_VARIANT := stlport_static |
|
|
|
include $(BUILD_STATIC_LIBRARY) |
|
|
|
# C++ full library - Gnustl+rtti version |
|
# ======================================================= |
|
include $(CLEAR_VARS) |
|
|
|
LOCAL_MODULE := libprotobuf-cpp-full-gnustl-rtti |
|
LOCAL_MODULE_TAGS := optional |
|
LOCAL_CPP_EXTENSION := .cc |
|
LOCAL_SRC_FILES := $(protobuf_cc_full_src_files) |
|
LOCAL_C_INCLUDES := \ |
|
$(LOCAL_PATH)/android \ |
|
external/zlib \ |
|
$(LOCAL_PATH)/src |
|
|
|
LOCAL_CFLAGS := -frtti $(IGNORED_WARNINGS) |
|
LOCAL_SDK_VERSION := 14 |
|
LOCAL_NDK_STL_VARIANT := gnustl_static |
|
|
|
include $(BUILD_STATIC_LIBRARY) |
|
|
|
# C++ full library - libc++ version for the platform |
|
# ======================================================= |
|
include $(CLEAR_VARS) |
|
|
|
LOCAL_MODULE := libprotobuf-cpp-full |
|
LOCAL_MODULE_TAGS := optional |
|
LOCAL_CPP_EXTENSION := .cc |
|
LOCAL_SRC_FILES := $(protobuf_cc_full_src_files) |
|
LOCAL_C_INCLUDES := \ |
|
$(LOCAL_PATH)/android \ |
|
external/zlib \ |
|
$(LOCAL_PATH)/src |
|
|
|
LOCAL_CFLAGS := -DGOOGLE_PROTOBUF_NO_RTTI $(IGNORED_WARNINGS) |
|
LOCAL_SHARED_LIBRARIES := libz |
|
|
|
include $(BUILD_SHARED_LIBRARY) |
|
|
|
# Clean temp vars |
|
protobuf_cc_full_src_files := |
|
|
|
|
|
# Android Protocol buffer compiler, aprotoc (host executable) |
|
# used by the build systems as $(PROTOC) defined in |
|
# build/core/config.mk |
|
# ======================================================= |
|
include $(CLEAR_VARS) |
|
|
|
LOCAL_MODULE := aprotoc |
|
LOCAL_MODULE_CLASS := EXECUTABLES |
|
LOCAL_MODULE_TAGS := optional |
|
|
|
LOCAL_CPP_EXTENSION := .cc |
|
LOCAL_SRC_FILES := $(COMPILER_SRC_FILES) |
|
|
|
LOCAL_C_INCLUDES := \ |
|
$(LOCAL_PATH)/android \ |
|
external/zlib \ |
|
$(LOCAL_PATH)/src |
|
|
|
LOCAL_STATIC_LIBRARIES += libz |
|
|
|
ifneq ($(HOST_OS),windows) |
|
LOCAL_LDLIBS := -lpthread |
|
endif |
|
|
|
LOCAL_CFLAGS := $(IGNORED_WARNINGS) |
|
|
|
include $(BUILD_HOST_EXECUTABLE) |
|
|
|
# To test java proto params build rules. |
|
# ======================================================= |
|
include $(CLEAR_VARS) |
|
|
|
LOCAL_MODULE := aprotoc-test-nano-params |
|
LOCAL_MODULE_TAGS := tests |
|
LOCAL_SDK_VERSION := current |
|
|
|
LOCAL_PROTOC_OPTIMIZE_TYPE := nano |
|
|
|
LOCAL_SRC_FILES := \ |
|
src/google/protobuf/unittest_import_nano.proto \ |
|
src/google/protobuf/unittest_simple_nano.proto \ |
|
src/google/protobuf/unittest_stringutf8_nano.proto \ |
|
src/google/protobuf/unittest_recursive_nano.proto |
|
|
|
|
|
LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)/src |
|
|
|
LOCAL_PROTO_JAVA_OUTPUT_PARAMS := \ |
|
java_package = $(LOCAL_PATH)/src/google/protobuf/unittest_import_nano.proto|com.google.protobuf.nano, \ |
|
java_outer_classname = $(LOCAL_PATH)/src/google/protobuf/unittest_import_nano.proto|UnittestImportNano |
|
|
|
include $(BUILD_STATIC_JAVA_LIBRARY) |
|
|
|
# To test Android-specific nanoproto features. |
|
# ======================================================= |
|
include $(CLEAR_VARS) |
|
|
|
# Parcelable messages |
|
LOCAL_MODULE := android-nano-test-parcelable |
|
LOCAL_MODULE_TAGS := tests |
|
LOCAL_SDK_VERSION := current |
|
|
|
LOCAL_PROTOC_OPTIMIZE_TYPE := nano |
|
|
|
LOCAL_SRC_FILES := src/google/protobuf/unittest_simple_nano.proto |
|
|
|
LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)/src |
|
|
|
LOCAL_PROTO_JAVA_OUTPUT_PARAMS := \ |
|
parcelable_messages = true |
|
|
|
include $(BUILD_STATIC_JAVA_LIBRARY) |
|
|
|
include $(CLEAR_VARS) |
|
|
|
# Parcelable and extendable messages |
|
LOCAL_MODULE := android-nano-test-parcelable-extendable |
|
LOCAL_MODULE_TAGS := tests |
|
LOCAL_SDK_VERSION := current |
|
|
|
LOCAL_PROTOC_OPTIMIZE_TYPE := nano |
|
|
|
LOCAL_SRC_FILES := src/google/protobuf/unittest_extension_nano.proto |
|
|
|
LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)/src |
|
|
|
LOCAL_PROTO_JAVA_OUTPUT_PARAMS := \ |
|
parcelable_messages = true, \ |
|
store_unknown_fields = true |
|
|
|
include $(BUILD_STATIC_JAVA_LIBRARY) |
|
|
|
include $(CLEAR_VARS) |
|
|
|
# Test APK |
|
LOCAL_PACKAGE_NAME := NanoAndroidTest |
|
|
|
LOCAL_SDK_VERSION := 8 |
|
|
|
LOCAL_MODULE_TAGS := tests |
|
|
|
LOCAL_SRC_FILES := $(call all-java-files-under, java/src/device/test/java/com/google/protobuf/nano) |
|
|
|
LOCAL_MANIFEST_FILE := java/src/device/test/AndroidManifest.xml |
|
|
|
LOCAL_STATIC_JAVA_LIBRARIES := libprotobuf-java-nano \ |
|
android-nano-test-parcelable \ |
|
android-nano-test-parcelable-extendable |
|
|
|
LOCAL_DEX_PREOPT := false |
|
|
|
include $(BUILD_PACKAGE) |
|
|
|
# 2.3.0 prebuilts for backwards compatibility. |
|
include $(LOCAL_PATH)/prebuilts/Android.mk
|
|
|