blob: 9b8d0ef6f716f5df35c32e5aada3c56e0e8842c8 [file] [log] [blame]
Wink Savilleede38fe2010-05-28 11:49:52 -07001# Copyright (C) 2009 The Android Open Source Project
Wink Saville79a4a602010-05-27 15:44:42 -07002#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
Wink Savilleede38fe2010-05-28 11:49:52 -070014#
15#
Wink Saville79a4a602010-05-27 15:44:42 -070016
17LOCAL_PATH := $(call my-dir)
Wink Saville79a4a602010-05-27 15:44:42 -070018
Jeff Davidsona3b2a6d2014-09-15 16:29:06 -070019IGNORED_WARNINGS := -Wno-sign-compare -Wno-unused-parameter -Wno-sign-promo -Wno-error=return-type
Kristian Monsencd0ff6e2013-11-13 11:07:49 -080020
Wink Saville732aaf02010-06-28 15:05:24 -070021CC_LITE_SRC_FILES := \
Jeff Davidsona3b2a6d2014-09-15 16:29:06 -070022 src/google/protobuf/stubs/atomicops_internals_x86_gcc.cc \
23 src/google/protobuf/stubs/atomicops_internals_x86_msvc.cc \
Omari Stephens373caa02010-09-30 15:59:59 -070024 src/google/protobuf/stubs/common.cc \
25 src/google/protobuf/stubs/once.cc \
Omari Stephens373caa02010-09-30 15:59:59 -070026 src/google/protobuf/stubs/hash.h \
Jeff Davidsona3b2a6d2014-09-15 16:29:06 -070027 src/google/protobuf/stubs/map_util.h \
28 src/google/protobuf/stubs/shared_ptr.h \
29 src/google/protobuf/stubs/stringprintf.cc \
30 src/google/protobuf/stubs/stringprintf.h \
Omari Stephens373caa02010-09-30 15:59:59 -070031 src/google/protobuf/extension_set.cc \
32 src/google/protobuf/generated_message_util.cc \
33 src/google/protobuf/message_lite.cc \
34 src/google/protobuf/repeated_field.cc \
35 src/google/protobuf/wire_format_lite.cc \
36 src/google/protobuf/io/coded_stream.cc \
37 src/google/protobuf/io/coded_stream_inl.h \
38 src/google/protobuf/io/zero_copy_stream.cc \
39 src/google/protobuf/io/zero_copy_stream_impl_lite.cc
Wink Saville732aaf02010-06-28 15:05:24 -070040
Omari Stephens373caa02010-09-30 15:59:59 -070041JAVA_LITE_SRC_FILES := \
Wink Savillea3d30792010-06-04 17:44:37 -070042 java/src/main/java/com/google/protobuf/UninitializedMessageException.java \
43 java/src/main/java/com/google/protobuf/MessageLite.java \
44 java/src/main/java/com/google/protobuf/InvalidProtocolBufferException.java \
45 java/src/main/java/com/google/protobuf/CodedOutputStream.java \
46 java/src/main/java/com/google/protobuf/ByteString.java \
47 java/src/main/java/com/google/protobuf/CodedInputStream.java \
48 java/src/main/java/com/google/protobuf/ExtensionRegistryLite.java \
49 java/src/main/java/com/google/protobuf/AbstractMessageLite.java \
Jeff Davidsona3b2a6d2014-09-15 16:29:06 -070050 java/src/main/java/com/google/protobuf/AbstractParser.java \
Wink Savillea3d30792010-06-04 17:44:37 -070051 java/src/main/java/com/google/protobuf/FieldSet.java \
52 java/src/main/java/com/google/protobuf/Internal.java \
53 java/src/main/java/com/google/protobuf/WireFormat.java \
Jeff Davidsona3b2a6d2014-09-15 16:29:06 -070054 java/src/main/java/com/google/protobuf/GeneratedMessageLite.java \
55 java/src/main/java/com/google/protobuf/BoundedByteString.java \
56 java/src/main/java/com/google/protobuf/LazyField.java \
57 java/src/main/java/com/google/protobuf/LazyFieldLite.java \
58 java/src/main/java/com/google/protobuf/LazyStringList.java \
59 java/src/main/java/com/google/protobuf/LazyStringArrayList.java \
60 java/src/main/java/com/google/protobuf/UnmodifiableLazyStringList.java \
61 java/src/main/java/com/google/protobuf/LiteralByteString.java \
62 java/src/main/java/com/google/protobuf/MessageLiteOrBuilder.java \
63 java/src/main/java/com/google/protobuf/Parser.java \
64 java/src/main/java/com/google/protobuf/ProtocolStringList.java \
65 java/src/main/java/com/google/protobuf/RopeByteString.java \
66 java/src/main/java/com/google/protobuf/SmallSortedMap.java \
67 java/src/main/java/com/google/protobuf/Utf8.java
Wink Savillea3d30792010-06-04 17:44:37 -070068
P.Y. Laligand69463b22015-03-11 16:49:21 -070069# This contains more source files than needed for the full version, but the
70# additional files should not create any conflict.
71JAVA_FULL_SRC_FILES := \
72 $(call all-java-files-under, java/src/main/java) \
73 src/google/protobuf/descriptor.proto
74
Iain Merrickaeb2b2a2010-11-01 17:29:13 +000075COMPILER_SRC_FILES := \
76 src/google/protobuf/descriptor.cc \
77 src/google/protobuf/descriptor.pb.cc \
78 src/google/protobuf/descriptor_database.cc \
79 src/google/protobuf/dynamic_message.cc \
80 src/google/protobuf/extension_set.cc \
81 src/google/protobuf/extension_set_heavy.cc \
82 src/google/protobuf/generated_message_reflection.cc \
83 src/google/protobuf/generated_message_util.cc \
84 src/google/protobuf/message.cc \
85 src/google/protobuf/message_lite.cc \
86 src/google/protobuf/reflection_ops.cc \
87 src/google/protobuf/repeated_field.cc \
88 src/google/protobuf/service.cc \
89 src/google/protobuf/text_format.cc \
90 src/google/protobuf/unknown_field_set.cc \
91 src/google/protobuf/wire_format.cc \
92 src/google/protobuf/wire_format_lite.cc \
93 src/google/protobuf/compiler/code_generator.cc \
94 src/google/protobuf/compiler/command_line_interface.cc \
95 src/google/protobuf/compiler/importer.cc \
96 src/google/protobuf/compiler/main.cc \
97 src/google/protobuf/compiler/parser.cc \
98 src/google/protobuf/compiler/plugin.cc \
99 src/google/protobuf/compiler/plugin.pb.cc \
100 src/google/protobuf/compiler/subprocess.cc \
101 src/google/protobuf/compiler/zip_writer.cc \
102 src/google/protobuf/compiler/cpp/cpp_enum.cc \
103 src/google/protobuf/compiler/cpp/cpp_enum_field.cc \
104 src/google/protobuf/compiler/cpp/cpp_extension.cc \
105 src/google/protobuf/compiler/cpp/cpp_field.cc \
106 src/google/protobuf/compiler/cpp/cpp_file.cc \
107 src/google/protobuf/compiler/cpp/cpp_generator.cc \
108 src/google/protobuf/compiler/cpp/cpp_helpers.cc \
109 src/google/protobuf/compiler/cpp/cpp_message.cc \
110 src/google/protobuf/compiler/cpp/cpp_message_field.cc \
111 src/google/protobuf/compiler/cpp/cpp_primitive_field.cc \
112 src/google/protobuf/compiler/cpp/cpp_service.cc \
113 src/google/protobuf/compiler/cpp/cpp_string_field.cc \
Jeff Davidsona3b2a6d2014-09-15 16:29:06 -0700114 src/google/protobuf/compiler/java/java_context.cc \
Iain Merrickaeb2b2a2010-11-01 17:29:13 +0000115 src/google/protobuf/compiler/java/java_enum.cc \
116 src/google/protobuf/compiler/java/java_enum_field.cc \
117 src/google/protobuf/compiler/java/java_extension.cc \
118 src/google/protobuf/compiler/java/java_field.cc \
119 src/google/protobuf/compiler/java/java_file.cc \
120 src/google/protobuf/compiler/java/java_generator.cc \
Jeff Davidsona3b2a6d2014-09-15 16:29:06 -0700121 src/google/protobuf/compiler/java/java_generator_factory.cc \
Iain Merrickaeb2b2a2010-11-01 17:29:13 +0000122 src/google/protobuf/compiler/java/java_helpers.cc \
Jeff Davidsona3b2a6d2014-09-15 16:29:06 -0700123 src/google/protobuf/compiler/java/java_lazy_message_field.cc \
Iain Merrickaeb2b2a2010-11-01 17:29:13 +0000124 src/google/protobuf/compiler/java/java_message.cc \
125 src/google/protobuf/compiler/java/java_message_field.cc \
Jeff Davidsona3b2a6d2014-09-15 16:29:06 -0700126 src/google/protobuf/compiler/java/java_name_resolver.cc \
Iain Merrickaeb2b2a2010-11-01 17:29:13 +0000127 src/google/protobuf/compiler/java/java_primitive_field.cc \
Jeff Davidsona3b2a6d2014-09-15 16:29:06 -0700128 src/google/protobuf/compiler/java/java_shared_code_generator.cc \
Iain Merrickaeb2b2a2010-11-01 17:29:13 +0000129 src/google/protobuf/compiler/java/java_service.cc \
Jeff Davidsona3b2a6d2014-09-15 16:29:06 -0700130 src/google/protobuf/compiler/java/java_string_field.cc \
131 src/google/protobuf/compiler/java/java_doc_comment.cc \
Iain Merrickaeb2b2a2010-11-01 17:29:13 +0000132 src/google/protobuf/compiler/javamicro/javamicro_enum.cc \
133 src/google/protobuf/compiler/javamicro/javamicro_enum_field.cc \
134 src/google/protobuf/compiler/javamicro/javamicro_field.cc \
135 src/google/protobuf/compiler/javamicro/javamicro_file.cc \
136 src/google/protobuf/compiler/javamicro/javamicro_generator.cc \
137 src/google/protobuf/compiler/javamicro/javamicro_helpers.cc \
138 src/google/protobuf/compiler/javamicro/javamicro_message.cc \
139 src/google/protobuf/compiler/javamicro/javamicro_message_field.cc \
140 src/google/protobuf/compiler/javamicro/javamicro_primitive_field.cc \
Ulas Kirazci64d8d8f2013-03-14 16:44:33 -0700141 src/google/protobuf/compiler/javanano/javanano_enum.cc \
142 src/google/protobuf/compiler/javanano/javanano_enum_field.cc \
Brian Duff0e055f02013-06-19 13:17:43 -0700143 src/google/protobuf/compiler/javanano/javanano_extension.cc \
Ulas Kirazci64d8d8f2013-03-14 16:44:33 -0700144 src/google/protobuf/compiler/javanano/javanano_field.cc \
145 src/google/protobuf/compiler/javanano/javanano_file.cc \
146 src/google/protobuf/compiler/javanano/javanano_generator.cc \
147 src/google/protobuf/compiler/javanano/javanano_helpers.cc \
148 src/google/protobuf/compiler/javanano/javanano_message.cc \
149 src/google/protobuf/compiler/javanano/javanano_message_field.cc \
150 src/google/protobuf/compiler/javanano/javanano_primitive_field.cc \
Iain Merrickaeb2b2a2010-11-01 17:29:13 +0000151 src/google/protobuf/compiler/python/python_generator.cc \
152 src/google/protobuf/io/coded_stream.cc \
153 src/google/protobuf/io/gzip_stream.cc \
154 src/google/protobuf/io/printer.cc \
Jeff Davidsona3b2a6d2014-09-15 16:29:06 -0700155 src/google/protobuf/io/strtod.cc \
Iain Merrickaeb2b2a2010-11-01 17:29:13 +0000156 src/google/protobuf/io/tokenizer.cc \
157 src/google/protobuf/io/zero_copy_stream.cc \
158 src/google/protobuf/io/zero_copy_stream_impl.cc \
159 src/google/protobuf/io/zero_copy_stream_impl_lite.cc \
Jeff Davidsona3b2a6d2014-09-15 16:29:06 -0700160 src/google/protobuf/stubs/atomicops_internals_x86_gcc.cc \
161 src/google/protobuf/stubs/atomicops_internals_x86_msvc.cc \
Iain Merrickaeb2b2a2010-11-01 17:29:13 +0000162 src/google/protobuf/stubs/common.cc \
Iain Merrickaeb2b2a2010-11-01 17:29:13 +0000163 src/google/protobuf/stubs/once.cc \
164 src/google/protobuf/stubs/structurally_valid.cc \
165 src/google/protobuf/stubs/strutil.cc \
Jeff Davidsona3b2a6d2014-09-15 16:29:06 -0700166 src/google/protobuf/stubs/substitute.cc \
167 src/google/protobuf/stubs/stringprintf.cc
Omari Stephens373caa02010-09-30 15:59:59 -0700168
Ulas Kirazci64d8d8f2013-03-14 16:44:33 -0700169# Java nano library (for device-side users)
170# =======================================================
171include $(CLEAR_VARS)
172
Jeff Davidson18007b82014-10-16 10:54:04 -0700173LOCAL_MODULE := libprotobuf-java-nano
Ulas Kirazci64d8d8f2013-03-14 16:44:33 -0700174LOCAL_MODULE_TAGS := optional
175LOCAL_SDK_VERSION := 8
176
177LOCAL_SRC_FILES := $(call all-java-files-under, java/src/main/java/com/google/protobuf/nano)
Jeff Davidson721ea492014-04-22 23:25:53 -0700178LOCAL_SRC_FILES += $(call all-java-files-under, java/src/device/main/java/com/google/protobuf/nano)
Ulas Kirazci64d8d8f2013-03-14 16:44:33 -0700179
180include $(BUILD_STATIC_JAVA_LIBRARY)
181
182# Java nano library (for host-side users)
183# =======================================================
184include $(CLEAR_VARS)
185
Jeff Davidson18007b82014-10-16 10:54:04 -0700186LOCAL_MODULE := host-libprotobuf-java-nano
Ulas Kirazci64d8d8f2013-03-14 16:44:33 -0700187LOCAL_MODULE_TAGS := optional
188
189LOCAL_SRC_FILES := $(call all-java-files-under, java/src/main/java/com/google/protobuf/nano)
190
191include $(BUILD_HOST_JAVA_LIBRARY)
192
Omari Stephens373caa02010-09-30 15:59:59 -0700193# Java micro library (for device-side users)
194# =======================================================
195include $(CLEAR_VARS)
196
Jeff Davidson18007b82014-10-16 10:54:04 -0700197LOCAL_MODULE := libprotobuf-java-micro
Jean-Baptiste Querub854f4d2010-10-05 10:26:11 -0700198LOCAL_MODULE_TAGS := optional
Ying Wang770e6592011-01-26 13:37:44 -0800199LOCAL_SDK_VERSION := 8
Omari Stephens373caa02010-09-30 15:59:59 -0700200
201LOCAL_SRC_FILES := $(call all-java-files-under, java/src/main/java/com/google/protobuf/micro)
202
Wink Savillea3d30792010-06-04 17:44:37 -0700203include $(BUILD_STATIC_JAVA_LIBRARY)
204
Omari Stephens373caa02010-09-30 15:59:59 -0700205# Java micro library (for host-side users)
206# =======================================================
207include $(CLEAR_VARS)
208
Jeff Davidson18007b82014-10-16 10:54:04 -0700209LOCAL_MODULE := host-libprotobuf-java-micro
Omari Stephens373caa02010-09-30 15:59:59 -0700210LOCAL_MODULE_TAGS := optional
211
212LOCAL_SRC_FILES := $(call all-java-files-under, java/src/main/java/com/google/protobuf/micro)
213
214include $(BUILD_HOST_JAVA_LIBRARY)
215
216# Java lite library (for device-side users)
217# =======================================================
218include $(CLEAR_VARS)
219
Jeff Davidson18007b82014-10-16 10:54:04 -0700220LOCAL_MODULE := libprotobuf-java-lite
Jean-Baptiste Querub854f4d2010-10-05 10:26:11 -0700221LOCAL_MODULE_TAGS := optional
Jeff Davidsona3b2a6d2014-09-15 16:29:06 -0700222LOCAL_SDK_VERSION := 9
Omari Stephens373caa02010-09-30 15:59:59 -0700223
224LOCAL_SRC_FILES := $(JAVA_LITE_SRC_FILES)
225
226include $(BUILD_STATIC_JAVA_LIBRARY)
227
228# Java lite library (for host-side users)
229# =======================================================
230include $(CLEAR_VARS)
231
Jeff Davidson18007b82014-10-16 10:54:04 -0700232LOCAL_MODULE := host-libprotobuf-java-lite
Omari Stephens373caa02010-09-30 15:59:59 -0700233LOCAL_MODULE_TAGS := optional
234
235LOCAL_SRC_FILES := $(JAVA_LITE_SRC_FILES)
236
237include $(BUILD_HOST_JAVA_LIBRARY)
238
P.Y. Laligand69463b22015-03-11 16:49:21 -0700239# Java full library (for host-side users)
240# =======================================================
241include $(CLEAR_VARS)
242
243LOCAL_MODULE := host-libprotobuf-java-full
244LOCAL_MODULE_TAGS := optional
245
246LOCAL_SRC_FILES := $(JAVA_FULL_SRC_FILES)
247
248include $(BUILD_HOST_JAVA_LIBRARY)
249
Wink Savilleb3fe74b2010-06-03 15:33:07 -0700250# C++ lite library
251# =======================================================
252include $(CLEAR_VARS)
253
Jeff Davidson18007b82014-10-16 10:54:04 -0700254LOCAL_MODULE := libprotobuf-cpp-lite
Jean-Baptiste Querub854f4d2010-10-05 10:26:11 -0700255LOCAL_MODULE_TAGS := optional
Wink Savilleb3fe74b2010-06-03 15:33:07 -0700256
257LOCAL_CPP_EXTENSION := .cc
258
Wink Saville732aaf02010-06-28 15:05:24 -0700259LOCAL_SRC_FILES := $(CC_LITE_SRC_FILES)
Wink Savilleb3fe74b2010-06-03 15:33:07 -0700260
261LOCAL_C_INCLUDES := \
262 $(LOCAL_PATH)/android \
Wink Savilleb3fe74b2010-06-03 15:33:07 -0700263 $(LOCAL_PATH)/src
264
Wink Savilleb3fe74b2010-06-03 15:33:07 -0700265# Define the header files to be copied
266#LOCAL_COPY_HEADERS := \
267# src/google/protobuf/stubs/once.h \
268# src/google/protobuf/stubs/common.h \
269# src/google/protobuf/io/coded_stream.h \
270# src/google/protobuf/generated_message_util.h \
271# src/google/protobuf/repeated_field.h \
272# src/google/protobuf/extension_set.h \
273# src/google/protobuf/wire_format_lite_inl.h
274#
275#LOCAL_COPY_HEADERS_TO := $(LOCAL_MODULE)
276
Kristian Monsencd0ff6e2013-11-13 11:07:49 -0800277LOCAL_CFLAGS := -DGOOGLE_PROTOBUF_NO_RTTI $(IGNORED_WARNINGS)
Wink Savilleb3fe74b2010-06-03 15:33:07 -0700278
Ying Wang77f19bf2012-06-14 18:32:34 -0700279# These are the minimum versions and don't need to be update.
Ying Wang082bf442012-09-06 11:35:34 -0700280ifeq ($(TARGET_ARCH),arm)
Ying Wang77f19bf2012-06-14 18:32:34 -0700281LOCAL_SDK_VERSION := 8
Ying Wangf6da5802012-08-14 10:28:02 -0700282else
Ying Wang082bf442012-09-06 11:35:34 -0700283# x86/mips support only available from API 9.
284LOCAL_SDK_VERSION := 9
Ying Wang77f19bf2012-06-14 18:32:34 -0700285endif
Ying Wang082bf442012-09-06 11:35:34 -0700286LOCAL_NDK_STL_VARIANT := stlport_static
Ying Wang77f19bf2012-06-14 18:32:34 -0700287
Wink Savilleb3fe74b2010-06-03 15:33:07 -0700288include $(BUILD_STATIC_LIBRARY)
Wink Saville732aaf02010-06-28 15:05:24 -0700289
Dan Albert0c44a2d2014-11-11 11:03:23 -0800290# C++ lite library (libc++ flavored for the platform)
291# =======================================================
292include $(CLEAR_VARS)
293
294LOCAL_MODULE := libprotobuf-cpp-lite
295LOCAL_MODULE_TAGS := optional
296
297LOCAL_CPP_EXTENSION := .cc
298
299LOCAL_SRC_FILES := $(CC_LITE_SRC_FILES)
300
301LOCAL_C_INCLUDES := \
302 $(LOCAL_PATH)/android \
303 $(LOCAL_PATH)/src
304
305LOCAL_CFLAGS := -DGOOGLE_PROTOBUF_NO_RTTI $(IGNORED_WARNINGS)
306
307include $(BUILD_SHARED_LIBRARY)
308
Wink Saville732aaf02010-06-28 15:05:24 -0700309# C++ full library
310# =======================================================
Przemyslaw Szczepaniaka939d662012-11-06 14:42:21 +0000311protobuf_cc_full_src_files := \
Omari Stephens373caa02010-09-30 15:59:59 -0700312 $(CC_LITE_SRC_FILES) \
313 src/google/protobuf/stubs/strutil.cc \
314 src/google/protobuf/stubs/strutil.h \
315 src/google/protobuf/stubs/substitute.cc \
316 src/google/protobuf/stubs/substitute.h \
317 src/google/protobuf/stubs/structurally_valid.cc \
318 src/google/protobuf/descriptor.cc \
319 src/google/protobuf/descriptor.pb.cc \
320 src/google/protobuf/descriptor_database.cc \
321 src/google/protobuf/dynamic_message.cc \
322 src/google/protobuf/extension_set_heavy.cc \
323 src/google/protobuf/generated_message_reflection.cc \
324 src/google/protobuf/message.cc \
325 src/google/protobuf/reflection_ops.cc \
326 src/google/protobuf/service.cc \
327 src/google/protobuf/text_format.cc \
328 src/google/protobuf/unknown_field_set.cc \
329 src/google/protobuf/wire_format.cc \
330 src/google/protobuf/io/gzip_stream.cc \
331 src/google/protobuf/io/printer.cc \
Jeff Davidsona3b2a6d2014-09-15 16:29:06 -0700332 src/google/protobuf/io/strtod.cc \
Omari Stephens373caa02010-09-30 15:59:59 -0700333 src/google/protobuf/io/tokenizer.cc \
334 src/google/protobuf/io/zero_copy_stream_impl.cc \
335 src/google/protobuf/compiler/importer.cc \
336 src/google/protobuf/compiler/parser.cc
Wink Saville732aaf02010-06-28 15:05:24 -0700337
Przemyslaw Szczepaniaka939d662012-11-06 14:42:21 +0000338# C++ full library - stlport version
339# =======================================================
340include $(CLEAR_VARS)
341
Jeff Davidson18007b82014-10-16 10:54:04 -0700342LOCAL_MODULE := libprotobuf-cpp-full
Przemyslaw Szczepaniaka939d662012-11-06 14:42:21 +0000343LOCAL_MODULE_TAGS := optional
344LOCAL_CPP_EXTENSION := .cc
345LOCAL_SRC_FILES := $(protobuf_cc_full_src_files)
Wink Saville732aaf02010-06-28 15:05:24 -0700346LOCAL_C_INCLUDES := \
347 $(LOCAL_PATH)/android \
Wink Saville732aaf02010-06-28 15:05:24 -0700348 external/zlib \
349 $(LOCAL_PATH)/src
350
Wink Saville732aaf02010-06-28 15:05:24 -0700351# Define the header files to be copied
352#LOCAL_COPY_HEADERS := \
353# src/google/protobuf/stubs/once.h \
354# src/google/protobuf/stubs/common.h \
355# src/google/protobuf/io/coded_stream.h \
356# src/google/protobuf/generated_message_util.h \
357# src/google/protobuf/repeated_field.h \
358# src/google/protobuf/extension_set.h \
359# src/google/protobuf/wire_format_lite_inl.h
360#
361#LOCAL_COPY_HEADERS_TO := $(LOCAL_MODULE)
362
Kristian Monsencd0ff6e2013-11-13 11:07:49 -0800363LOCAL_CFLAGS := -DGOOGLE_PROTOBUF_NO_RTTI $(IGNORED_WARNINGS)
Wink Saville732aaf02010-06-28 15:05:24 -0700364
Ying Wang77f19bf2012-06-14 18:32:34 -0700365# These are the minimum versions and don't need to be update.
Ying Wang082bf442012-09-06 11:35:34 -0700366ifeq ($(TARGET_ARCH),arm)
Ying Wang77f19bf2012-06-14 18:32:34 -0700367LOCAL_SDK_VERSION := 8
Ying Wangf6da5802012-08-14 10:28:02 -0700368else
Ying Wang082bf442012-09-06 11:35:34 -0700369# x86/mips support only available from API 9.
370LOCAL_SDK_VERSION := 9
Ying Wang77f19bf2012-06-14 18:32:34 -0700371endif
Ying Wang082bf442012-09-06 11:35:34 -0700372LOCAL_NDK_STL_VARIANT := stlport_static
Ying Wang77f19bf2012-06-14 18:32:34 -0700373
Wink Saville732aaf02010-06-28 15:05:24 -0700374include $(BUILD_STATIC_LIBRARY)
Iain Merrickaeb2b2a2010-11-01 17:29:13 +0000375
Przemyslaw Szczepaniaka939d662012-11-06 14:42:21 +0000376# C++ full library - Gnustl+rtti version
377# =======================================================
378include $(CLEAR_VARS)
379
Jeff Davidson18007b82014-10-16 10:54:04 -0700380LOCAL_MODULE := libprotobuf-cpp-full-gnustl-rtti
Przemyslaw Szczepaniaka939d662012-11-06 14:42:21 +0000381LOCAL_MODULE_TAGS := optional
382LOCAL_CPP_EXTENSION := .cc
383LOCAL_SRC_FILES := $(protobuf_cc_full_src_files)
384LOCAL_C_INCLUDES := \
385 $(LOCAL_PATH)/android \
386 external/zlib \
387 $(LOCAL_PATH)/src
388
Kristian Monsencd0ff6e2013-11-13 11:07:49 -0800389LOCAL_CFLAGS := -frtti $(IGNORED_WARNINGS)
Przemyslaw Szczepaniaka939d662012-11-06 14:42:21 +0000390LOCAL_SDK_VERSION := 14
391LOCAL_NDK_STL_VARIANT := gnustl_static
392
393include $(BUILD_STATIC_LIBRARY)
394
Dan Albert0c44a2d2014-11-11 11:03:23 -0800395# C++ full library - libc++ version for the platform
396# =======================================================
397include $(CLEAR_VARS)
398
399LOCAL_MODULE := libprotobuf-cpp-full
400LOCAL_MODULE_TAGS := optional
401LOCAL_CPP_EXTENSION := .cc
402LOCAL_SRC_FILES := $(protobuf_cc_full_src_files)
403LOCAL_C_INCLUDES := \
404 $(LOCAL_PATH)/android \
405 external/zlib \
406 $(LOCAL_PATH)/src
407
408LOCAL_CFLAGS := -DGOOGLE_PROTOBUF_NO_RTTI $(IGNORED_WARNINGS)
409LOCAL_SHARED_LIBRARIES := libz
410
411include $(BUILD_SHARED_LIBRARY)
412
Przemyslaw Szczepaniaka939d662012-11-06 14:42:21 +0000413# Clean temp vars
414protobuf_cc_full_src_files :=
415
416
Wink Saville8d24c6a2010-11-05 11:28:46 -0700417# Android Protocol buffer compiler, aprotoc (host executable)
418# used by the build systems as $(PROTOC) defined in
419# build/core/config.mk
Iain Merrickaeb2b2a2010-11-01 17:29:13 +0000420# =======================================================
421include $(CLEAR_VARS)
422
Wink Saville8d24c6a2010-11-05 11:28:46 -0700423LOCAL_MODULE := aprotoc
Iain Merrickaeb2b2a2010-11-01 17:29:13 +0000424LOCAL_MODULE_CLASS := EXECUTABLES
425LOCAL_MODULE_TAGS := optional
426
Jeff Davidson58e00bc2015-02-06 15:14:56 -0800427# Use the system's libstdc++ (libc++ on mac) because we copy aprotoc to
Jeff Davidson7b93f282015-02-06 11:40:58 -0800428# unbundled projects where libc++.so may not be available.
Jeff Davidson58e00bc2015-02-06 15:14:56 -0800429LOCAL_CXX_STL := libstdc++
Jeff Davidson7b93f282015-02-06 11:40:58 -0800430
Iain Merrickaeb2b2a2010-11-01 17:29:13 +0000431LOCAL_CPP_EXTENSION := .cc
432LOCAL_SRC_FILES := $(COMPILER_SRC_FILES)
433
434LOCAL_C_INCLUDES := \
435 $(LOCAL_PATH)/android \
Leandro Gracia Gilbcbea782014-07-28 15:27:19 -0700436 external/zlib \
Iain Merrickaeb2b2a2010-11-01 17:29:13 +0000437 $(LOCAL_PATH)/src
438
439LOCAL_STATIC_LIBRARIES += libz
Leandro Gracia Gilbcbea782014-07-28 15:27:19 -0700440
441ifneq ($(HOST_OS),windows)
Iain Merrickaeb2b2a2010-11-01 17:29:13 +0000442LOCAL_LDLIBS := -lpthread
Leandro Gracia Gilbcbea782014-07-28 15:27:19 -0700443endif
Iain Merrickaeb2b2a2010-11-01 17:29:13 +0000444
Kristian Monsencd0ff6e2013-11-13 11:07:49 -0800445LOCAL_CFLAGS := $(IGNORED_WARNINGS)
446
Iain Merrickaeb2b2a2010-11-01 17:29:13 +0000447include $(BUILD_HOST_EXECUTABLE)
Ulas Kirazci7e567b82013-07-24 14:35:42 -0700448
449# To test java proto params build rules.
450# =======================================================
451include $(CLEAR_VARS)
452
453LOCAL_MODULE := aprotoc-test-nano-params
454LOCAL_MODULE_TAGS := tests
455LOCAL_SDK_VERSION := current
456
457LOCAL_PROTOC_OPTIMIZE_TYPE := nano
458
459LOCAL_SRC_FILES := \
460 src/google/protobuf/unittest_import_nano.proto \
461 src/google/protobuf/unittest_simple_nano.proto \
462 src/google/protobuf/unittest_stringutf8_nano.proto \
Wink Savilled1229a32013-08-07 21:00:39 -0700463 src/google/protobuf/unittest_recursive_nano.proto
464
Ulas Kirazci7e567b82013-07-24 14:35:42 -0700465
466LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)/src
467
Max Cai4109e912014-01-14 14:54:48 +0000468LOCAL_PROTO_JAVA_OUTPUT_PARAMS := \
469 java_package = $(LOCAL_PATH)/src/google/protobuf/unittest_import_nano.proto|com.google.protobuf.nano, \
470 java_outer_classname = $(LOCAL_PATH)/src/google/protobuf/unittest_import_nano.proto|UnittestImportNano
Ulas Kirazci7e567b82013-07-24 14:35:42 -0700471
472include $(BUILD_STATIC_JAVA_LIBRARY)
Jeff Davidson721ea492014-04-22 23:25:53 -0700473
474# To test Android-specific nanoproto features.
475# =======================================================
476include $(CLEAR_VARS)
477
478# Parcelable messages
479LOCAL_MODULE := android-nano-test-parcelable
480LOCAL_MODULE_TAGS := tests
481LOCAL_SDK_VERSION := current
Jeff Davidson30d873b2015-02-11 13:12:14 -0800482# Only needed at compile-time.
483LOCAL_JAVA_LIBRARIES := android-support-annotations
Jeff Davidson721ea492014-04-22 23:25:53 -0700484
485LOCAL_PROTOC_OPTIMIZE_TYPE := nano
486
487LOCAL_SRC_FILES := src/google/protobuf/unittest_simple_nano.proto
488
489LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)/src
490
491LOCAL_PROTO_JAVA_OUTPUT_PARAMS := \
Jeff Davidson30d873b2015-02-11 13:12:14 -0800492 parcelable_messages = true, \
493 generate_intdefs = true
Jeff Davidson721ea492014-04-22 23:25:53 -0700494
495include $(BUILD_STATIC_JAVA_LIBRARY)
496
497include $(CLEAR_VARS)
498
499# Parcelable and extendable messages
500LOCAL_MODULE := android-nano-test-parcelable-extendable
501LOCAL_MODULE_TAGS := tests
502LOCAL_SDK_VERSION := current
Jeff Davidson30d873b2015-02-11 13:12:14 -0800503# Only needed at compile-time.
504LOCAL_JAVA_LIBRARIES := android-support-annotations
Jeff Davidson721ea492014-04-22 23:25:53 -0700505
506LOCAL_PROTOC_OPTIMIZE_TYPE := nano
507
508LOCAL_SRC_FILES := src/google/protobuf/unittest_extension_nano.proto
509
510LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)/src
511
512LOCAL_PROTO_JAVA_OUTPUT_PARAMS := \
513 parcelable_messages = true, \
Jeff Davidson30d873b2015-02-11 13:12:14 -0800514 generate_intdefs = true, \
Jeff Davidson721ea492014-04-22 23:25:53 -0700515 store_unknown_fields = true
516
517include $(BUILD_STATIC_JAVA_LIBRARY)
518
519include $(CLEAR_VARS)
520
521# Test APK
522LOCAL_PACKAGE_NAME := NanoAndroidTest
523
524LOCAL_SDK_VERSION := 8
525
526LOCAL_MODULE_TAGS := tests
527
528LOCAL_SRC_FILES := $(call all-java-files-under, java/src/device/test/java/com/google/protobuf/nano)
529
530LOCAL_MANIFEST_FILE := java/src/device/test/AndroidManifest.xml
531
Jeff Davidson18007b82014-10-16 10:54:04 -0700532LOCAL_STATIC_JAVA_LIBRARIES := libprotobuf-java-nano \
Jeff Davidson721ea492014-04-22 23:25:53 -0700533 android-nano-test-parcelable \
534 android-nano-test-parcelable-extendable
535
Ying Wangeaa37c52014-05-01 20:45:22 -0700536LOCAL_DEX_PREOPT := false
Jeff Davidson721ea492014-04-22 23:25:53 -0700537
538include $(BUILD_PACKAGE)
Jeff Davidson18007b82014-10-16 10:54:04 -0700539