Android.mk revision 8d24c6add5f0a6640948afccd9976b64a04a8ed3
1# Copyright (C) 2009 The Android Open Source Project
2#
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.
14#
15#
16
17LOCAL_PATH := $(call my-dir)
18
19CC_LITE_SRC_FILES := \
20    src/google/protobuf/stubs/common.cc                              \
21    src/google/protobuf/stubs/once.cc                                \
22    src/google/protobuf/stubs/hash.cc                                \
23    src/google/protobuf/stubs/hash.h                                 \
24    src/google/protobuf/stubs/map-util.h                             \
25    src/google/protobuf/stubs/stl_util-inl.h                         \
26    src/google/protobuf/extension_set.cc                             \
27    src/google/protobuf/generated_message_util.cc                    \
28    src/google/protobuf/message_lite.cc                              \
29    src/google/protobuf/repeated_field.cc                            \
30    src/google/protobuf/wire_format_lite.cc                          \
31    src/google/protobuf/io/coded_stream.cc                           \
32    src/google/protobuf/io/coded_stream_inl.h                        \
33    src/google/protobuf/io/zero_copy_stream.cc                       \
34    src/google/protobuf/io/zero_copy_stream_impl_lite.cc
35
36JAVA_LITE_SRC_FILES := \
37    java/src/main/java/com/google/protobuf/UninitializedMessageException.java \
38    java/src/main/java/com/google/protobuf/MessageLite.java \
39    java/src/main/java/com/google/protobuf/InvalidProtocolBufferException.java \
40    java/src/main/java/com/google/protobuf/CodedOutputStream.java \
41    java/src/main/java/com/google/protobuf/ByteString.java \
42    java/src/main/java/com/google/protobuf/CodedInputStream.java \
43    java/src/main/java/com/google/protobuf/ExtensionRegistryLite.java \
44    java/src/main/java/com/google/protobuf/AbstractMessageLite.java \
45    java/src/main/java/com/google/protobuf/FieldSet.java \
46    java/src/main/java/com/google/protobuf/Internal.java \
47    java/src/main/java/com/google/protobuf/WireFormat.java \
48    java/src/main/java/com/google/protobuf/GeneratedMessageLite.java
49
50COMPILER_SRC_FILES :=  \
51    src/google/protobuf/descriptor.cc \
52    src/google/protobuf/descriptor.pb.cc \
53    src/google/protobuf/descriptor_database.cc \
54    src/google/protobuf/dynamic_message.cc \
55    src/google/protobuf/extension_set.cc \
56    src/google/protobuf/extension_set_heavy.cc \
57    src/google/protobuf/generated_message_reflection.cc \
58    src/google/protobuf/generated_message_util.cc \
59    src/google/protobuf/message.cc \
60    src/google/protobuf/message_lite.cc \
61    src/google/protobuf/reflection_ops.cc \
62    src/google/protobuf/repeated_field.cc \
63    src/google/protobuf/service.cc \
64    src/google/protobuf/text_format.cc \
65    src/google/protobuf/unknown_field_set.cc \
66    src/google/protobuf/wire_format.cc \
67    src/google/protobuf/wire_format_lite.cc \
68    src/google/protobuf/compiler/code_generator.cc \
69    src/google/protobuf/compiler/command_line_interface.cc \
70    src/google/protobuf/compiler/importer.cc \
71    src/google/protobuf/compiler/main.cc \
72    src/google/protobuf/compiler/parser.cc \
73    src/google/protobuf/compiler/plugin.cc \
74    src/google/protobuf/compiler/plugin.pb.cc \
75    src/google/protobuf/compiler/subprocess.cc \
76    src/google/protobuf/compiler/zip_writer.cc \
77    src/google/protobuf/compiler/cpp/cpp_enum.cc \
78    src/google/protobuf/compiler/cpp/cpp_enum_field.cc \
79    src/google/protobuf/compiler/cpp/cpp_extension.cc \
80    src/google/protobuf/compiler/cpp/cpp_field.cc \
81    src/google/protobuf/compiler/cpp/cpp_file.cc \
82    src/google/protobuf/compiler/cpp/cpp_generator.cc \
83    src/google/protobuf/compiler/cpp/cpp_helpers.cc \
84    src/google/protobuf/compiler/cpp/cpp_message.cc \
85    src/google/protobuf/compiler/cpp/cpp_message_field.cc \
86    src/google/protobuf/compiler/cpp/cpp_primitive_field.cc \
87    src/google/protobuf/compiler/cpp/cpp_service.cc \
88    src/google/protobuf/compiler/cpp/cpp_string_field.cc \
89    src/google/protobuf/compiler/java/java_enum.cc \
90    src/google/protobuf/compiler/java/java_enum_field.cc \
91    src/google/protobuf/compiler/java/java_extension.cc \
92    src/google/protobuf/compiler/java/java_field.cc \
93    src/google/protobuf/compiler/java/java_file.cc \
94    src/google/protobuf/compiler/java/java_generator.cc \
95    src/google/protobuf/compiler/java/java_helpers.cc \
96    src/google/protobuf/compiler/java/java_message.cc \
97    src/google/protobuf/compiler/java/java_message_field.cc \
98    src/google/protobuf/compiler/java/java_primitive_field.cc \
99    src/google/protobuf/compiler/java/java_service.cc \
100    src/google/protobuf/compiler/javamicro/javamicro_enum.cc \
101    src/google/protobuf/compiler/javamicro/javamicro_enum_field.cc \
102    src/google/protobuf/compiler/javamicro/javamicro_field.cc \
103    src/google/protobuf/compiler/javamicro/javamicro_file.cc \
104    src/google/protobuf/compiler/javamicro/javamicro_generator.cc \
105    src/google/protobuf/compiler/javamicro/javamicro_helpers.cc \
106    src/google/protobuf/compiler/javamicro/javamicro_message.cc \
107    src/google/protobuf/compiler/javamicro/javamicro_message_field.cc \
108    src/google/protobuf/compiler/javamicro/javamicro_primitive_field.cc \
109    src/google/protobuf/compiler/python/python_generator.cc \
110    src/google/protobuf/io/coded_stream.cc \
111    src/google/protobuf/io/gzip_stream.cc \
112    src/google/protobuf/io/printer.cc \
113    src/google/protobuf/io/tokenizer.cc \
114    src/google/protobuf/io/zero_copy_stream.cc \
115    src/google/protobuf/io/zero_copy_stream_impl.cc \
116    src/google/protobuf/io/zero_copy_stream_impl_lite.cc \
117    src/google/protobuf/stubs/common.cc \
118    src/google/protobuf/stubs/hash.cc \
119    src/google/protobuf/stubs/once.cc \
120    src/google/protobuf/stubs/structurally_valid.cc \
121    src/google/protobuf/stubs/strutil.cc \
122    src/google/protobuf/stubs/substitute.cc
123
124# Java micro library (for device-side users)
125# =======================================================
126include $(CLEAR_VARS)
127
128LOCAL_MODULE := libprotobuf-java-2.3.0-micro
129LOCAL_MODULE_TAGS := optional
130
131LOCAL_SRC_FILES := $(call all-java-files-under, java/src/main/java/com/google/protobuf/micro)
132
133include $(BUILD_STATIC_JAVA_LIBRARY)
134
135# Java micro library (for host-side users)
136# =======================================================
137include $(CLEAR_VARS)
138
139LOCAL_MODULE := host-libprotobuf-java-2.3.0-micro
140LOCAL_MODULE_TAGS := optional
141
142LOCAL_SRC_FILES := $(call all-java-files-under, java/src/main/java/com/google/protobuf/micro)
143
144include $(BUILD_HOST_JAVA_LIBRARY)
145
146# Java lite library (for device-side users)
147# =======================================================
148include $(CLEAR_VARS)
149
150LOCAL_MODULE := libprotobuf-java-2.3.0-lite
151LOCAL_MODULE_TAGS := optional
152
153LOCAL_SRC_FILES := $(JAVA_LITE_SRC_FILES)
154
155include $(BUILD_STATIC_JAVA_LIBRARY)
156
157# Java lite library (for host-side users)
158# =======================================================
159include $(CLEAR_VARS)
160
161LOCAL_MODULE := host-libprotobuf-java-2.3.0-lite
162LOCAL_MODULE_TAGS := optional
163
164LOCAL_SRC_FILES := $(JAVA_LITE_SRC_FILES)
165
166include $(BUILD_HOST_JAVA_LIBRARY)
167
168# C++ lite library
169# =======================================================
170include $(CLEAR_VARS)
171
172LOCAL_MODULE := libprotobuf-cpp-2.3.0-lite
173LOCAL_MODULE_TAGS := optional
174
175LOCAL_CPP_EXTENSION := .cc
176
177LOCAL_SRC_FILES := $(CC_LITE_SRC_FILES)
178
179LOCAL_C_INCLUDES := \
180    $(LOCAL_PATH)/android \
181    bionic \
182    $(LOCAL_PATH)/src
183
184LOCAL_SHARED_LIBRARIES := \
185    libcutils libutils
186
187# stlport conflicts with the host stl library
188ifneq ($(TARGET_SIMULATOR),true)
189LOCAL_C_INCLUDES += external/stlport/stlport
190LOCAL_SHARED_LIBRARIES += libstlport
191endif
192
193# Define the header files to be copied
194#LOCAL_COPY_HEADERS := \
195#    src/google/protobuf/stubs/once.h \
196#    src/google/protobuf/stubs/common.h \
197#    src/google/protobuf/io/coded_stream.h \
198#    src/google/protobuf/generated_message_util.h \
199#    src/google/protobuf/repeated_field.h \
200#    src/google/protobuf/extension_set.h \
201#    src/google/protobuf/wire_format_lite_inl.h
202#
203#LOCAL_COPY_HEADERS_TO := $(LOCAL_MODULE)
204
205LOCAL_CFLAGS := -DGOOGLE_PROTOBUF_NO_RTTI
206
207include $(BUILD_STATIC_LIBRARY)
208
209# C++ full library
210# =======================================================
211include $(CLEAR_VARS)
212
213LOCAL_MODULE := libprotobuf-cpp-2.3.0-full
214LOCAL_MODULE_TAGS := optional
215
216LOCAL_CPP_EXTENSION := .cc
217
218LOCAL_SRC_FILES := \
219    $(CC_LITE_SRC_FILES)                                             \
220    src/google/protobuf/stubs/strutil.cc                             \
221    src/google/protobuf/stubs/strutil.h                              \
222    src/google/protobuf/stubs/substitute.cc                          \
223    src/google/protobuf/stubs/substitute.h                           \
224    src/google/protobuf/stubs/structurally_valid.cc                  \
225    src/google/protobuf/descriptor.cc                                \
226    src/google/protobuf/descriptor.pb.cc                             \
227    src/google/protobuf/descriptor_database.cc                       \
228    src/google/protobuf/dynamic_message.cc                           \
229    src/google/protobuf/extension_set_heavy.cc                       \
230    src/google/protobuf/generated_message_reflection.cc              \
231    src/google/protobuf/message.cc                                   \
232    src/google/protobuf/reflection_ops.cc                            \
233    src/google/protobuf/service.cc                                   \
234    src/google/protobuf/text_format.cc                               \
235    src/google/protobuf/unknown_field_set.cc                         \
236    src/google/protobuf/wire_format.cc                               \
237    src/google/protobuf/io/gzip_stream.cc                            \
238    src/google/protobuf/io/printer.cc                                \
239    src/google/protobuf/io/tokenizer.cc                              \
240    src/google/protobuf/io/zero_copy_stream_impl.cc                  \
241    src/google/protobuf/compiler/importer.cc                         \
242    src/google/protobuf/compiler/parser.cc
243
244LOCAL_C_INCLUDES := \
245    $(LOCAL_PATH)/android \
246    bionic \
247    external/zlib \
248    $(LOCAL_PATH)/src
249
250LOCAL_SHARED_LIBRARIES := \
251    libz libcutils libutils
252
253# stlport conflicts with the host stl library
254ifneq ($(TARGET_SIMULATOR),true)
255LOCAL_C_INCLUDES += external/stlport/stlport
256LOCAL_SHARED_LIBRARIES += libstlport
257endif
258
259# Define the header files to be copied
260#LOCAL_COPY_HEADERS := \
261#    src/google/protobuf/stubs/once.h \
262#    src/google/protobuf/stubs/common.h \
263#    src/google/protobuf/io/coded_stream.h \
264#    src/google/protobuf/generated_message_util.h \
265#    src/google/protobuf/repeated_field.h \
266#    src/google/protobuf/extension_set.h \
267#    src/google/protobuf/wire_format_lite_inl.h
268#
269#LOCAL_COPY_HEADERS_TO := $(LOCAL_MODULE)
270
271LOCAL_CFLAGS := -DGOOGLE_PROTOBUF_NO_RTTI
272
273include $(BUILD_STATIC_LIBRARY)
274
275# Android Protocol buffer compiler, aprotoc (host executable)
276# used by the build systems as $(PROTOC) defined in
277# build/core/config.mk
278# =======================================================
279include $(CLEAR_VARS)
280
281LOCAL_MODULE := aprotoc
282LOCAL_MODULE_CLASS := EXECUTABLES
283LOCAL_MODULE_TAGS := optional
284
285LOCAL_CPP_EXTENSION := .cc
286LOCAL_SRC_FILES := $(COMPILER_SRC_FILES)
287
288LOCAL_C_INCLUDES := \
289    $(LOCAL_PATH)/android \
290    $(LOCAL_PATH)/src
291
292LOCAL_STATIC_LIBRARIES += libz
293LOCAL_LDLIBS := -lpthread
294
295include $(BUILD_HOST_EXECUTABLE)
296