Home | History | Annotate | Download | only in protobuf
      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 
     17 LOCAL_PATH := $(call my-dir)
     18 
     19 CC_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 
     36 JAVA_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 
     50 COMPILER_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/javanano/javanano_enum.cc \
    110     src/google/protobuf/compiler/javanano/javanano_enum_field.cc \
    111     src/google/protobuf/compiler/javanano/javanano_field.cc \
    112     src/google/protobuf/compiler/javanano/javanano_file.cc \
    113     src/google/protobuf/compiler/javanano/javanano_generator.cc \
    114     src/google/protobuf/compiler/javanano/javanano_helpers.cc \
    115     src/google/protobuf/compiler/javanano/javanano_message.cc \
    116     src/google/protobuf/compiler/javanano/javanano_message_field.cc \
    117     src/google/protobuf/compiler/javanano/javanano_primitive_field.cc \
    118     src/google/protobuf/compiler/python/python_generator.cc \
    119     src/google/protobuf/io/coded_stream.cc \
    120     src/google/protobuf/io/gzip_stream.cc \
    121     src/google/protobuf/io/printer.cc \
    122     src/google/protobuf/io/tokenizer.cc \
    123     src/google/protobuf/io/zero_copy_stream.cc \
    124     src/google/protobuf/io/zero_copy_stream_impl.cc \
    125     src/google/protobuf/io/zero_copy_stream_impl_lite.cc \
    126     src/google/protobuf/stubs/common.cc \
    127     src/google/protobuf/stubs/hash.cc \
    128     src/google/protobuf/stubs/once.cc \
    129     src/google/protobuf/stubs/structurally_valid.cc \
    130     src/google/protobuf/stubs/strutil.cc \
    131     src/google/protobuf/stubs/substitute.cc
    132 
    133 # Java nano library (for device-side users)
    134 # =======================================================
    135 include $(CLEAR_VARS)
    136 
    137 LOCAL_MODULE := libprotobuf-java-2.3.0-nano
    138 LOCAL_MODULE_TAGS := optional
    139 LOCAL_SDK_VERSION := 8
    140 
    141 LOCAL_SRC_FILES := $(call all-java-files-under, java/src/main/java/com/google/protobuf/nano)
    142 
    143 include $(BUILD_STATIC_JAVA_LIBRARY)
    144 
    145 # Java nano library (for host-side users)
    146 # =======================================================
    147 include $(CLEAR_VARS)
    148 
    149 LOCAL_MODULE := host-libprotobuf-java-2.3.0-nano
    150 LOCAL_MODULE_TAGS := optional
    151 
    152 LOCAL_SRC_FILES := $(call all-java-files-under, java/src/main/java/com/google/protobuf/nano)
    153 
    154 include $(BUILD_HOST_JAVA_LIBRARY)
    155 
    156 # Java micro library (for device-side users)
    157 # =======================================================
    158 include $(CLEAR_VARS)
    159 
    160 LOCAL_MODULE := libprotobuf-java-2.3.0-micro
    161 LOCAL_MODULE_TAGS := optional
    162 LOCAL_SDK_VERSION := 8
    163 
    164 LOCAL_SRC_FILES := $(call all-java-files-under, java/src/main/java/com/google/protobuf/micro)
    165 
    166 include $(BUILD_STATIC_JAVA_LIBRARY)
    167 
    168 # Java micro library (for host-side users)
    169 # =======================================================
    170 include $(CLEAR_VARS)
    171 
    172 LOCAL_MODULE := host-libprotobuf-java-2.3.0-micro
    173 LOCAL_MODULE_TAGS := optional
    174 
    175 LOCAL_SRC_FILES := $(call all-java-files-under, java/src/main/java/com/google/protobuf/micro)
    176 
    177 include $(BUILD_HOST_JAVA_LIBRARY)
    178 
    179 # Java lite library (for device-side users)
    180 # =======================================================
    181 include $(CLEAR_VARS)
    182 
    183 LOCAL_MODULE := libprotobuf-java-2.3.0-lite
    184 LOCAL_MODULE_TAGS := optional
    185 LOCAL_SDK_VERSION := 8
    186 
    187 LOCAL_SRC_FILES := $(JAVA_LITE_SRC_FILES)
    188 
    189 include $(BUILD_STATIC_JAVA_LIBRARY)
    190 
    191 # Java lite library (for host-side users)
    192 # =======================================================
    193 include $(CLEAR_VARS)
    194 
    195 LOCAL_MODULE := host-libprotobuf-java-2.3.0-lite
    196 LOCAL_MODULE_TAGS := optional
    197 
    198 LOCAL_SRC_FILES := $(JAVA_LITE_SRC_FILES)
    199 
    200 include $(BUILD_HOST_JAVA_LIBRARY)
    201 
    202 # C++ lite library
    203 # =======================================================
    204 include $(CLEAR_VARS)
    205 
    206 LOCAL_MODULE := libprotobuf-cpp-2.3.0-lite
    207 LOCAL_MODULE_TAGS := optional
    208 
    209 LOCAL_CPP_EXTENSION := .cc
    210 
    211 LOCAL_SRC_FILES := $(CC_LITE_SRC_FILES)
    212 
    213 LOCAL_C_INCLUDES := \
    214     $(LOCAL_PATH)/android \
    215     $(LOCAL_PATH)/src
    216 
    217 # Define the header files to be copied
    218 #LOCAL_COPY_HEADERS := \
    219 #    src/google/protobuf/stubs/once.h \
    220 #    src/google/protobuf/stubs/common.h \
    221 #    src/google/protobuf/io/coded_stream.h \
    222 #    src/google/protobuf/generated_message_util.h \
    223 #    src/google/protobuf/repeated_field.h \
    224 #    src/google/protobuf/extension_set.h \
    225 #    src/google/protobuf/wire_format_lite_inl.h
    226 #
    227 #LOCAL_COPY_HEADERS_TO := $(LOCAL_MODULE)
    228 
    229 LOCAL_CFLAGS := -DGOOGLE_PROTOBUF_NO_RTTI
    230 
    231 # These are the minimum versions and don't need to be update.
    232 ifeq ($(TARGET_ARCH),arm)
    233 LOCAL_SDK_VERSION := 8
    234 else
    235 # x86/mips support only available from API 9.
    236 LOCAL_SDK_VERSION := 9
    237 endif
    238 LOCAL_NDK_STL_VARIANT := stlport_static
    239 
    240 include $(BUILD_STATIC_LIBRARY)
    241 
    242 # C++ full library
    243 # =======================================================
    244 protobuf_cc_full_src_files := \
    245     $(CC_LITE_SRC_FILES)                                             \
    246     src/google/protobuf/stubs/strutil.cc                             \
    247     src/google/protobuf/stubs/strutil.h                              \
    248     src/google/protobuf/stubs/substitute.cc                          \
    249     src/google/protobuf/stubs/substitute.h                           \
    250     src/google/protobuf/stubs/structurally_valid.cc                  \
    251     src/google/protobuf/descriptor.cc                                \
    252     src/google/protobuf/descriptor.pb.cc                             \
    253     src/google/protobuf/descriptor_database.cc                       \
    254     src/google/protobuf/dynamic_message.cc                           \
    255     src/google/protobuf/extension_set_heavy.cc                       \
    256     src/google/protobuf/generated_message_reflection.cc              \
    257     src/google/protobuf/message.cc                                   \
    258     src/google/protobuf/reflection_ops.cc                            \
    259     src/google/protobuf/service.cc                                   \
    260     src/google/protobuf/text_format.cc                               \
    261     src/google/protobuf/unknown_field_set.cc                         \
    262     src/google/protobuf/wire_format.cc                               \
    263     src/google/protobuf/io/gzip_stream.cc                            \
    264     src/google/protobuf/io/printer.cc                                \
    265     src/google/protobuf/io/tokenizer.cc                              \
    266     src/google/protobuf/io/zero_copy_stream_impl.cc                  \
    267     src/google/protobuf/compiler/importer.cc                         \
    268     src/google/protobuf/compiler/parser.cc
    269 
    270 # C++ full library - stlport version
    271 # =======================================================
    272 include $(CLEAR_VARS)
    273 
    274 LOCAL_MODULE := libprotobuf-cpp-2.3.0-full
    275 LOCAL_MODULE_TAGS := optional
    276 LOCAL_CPP_EXTENSION := .cc
    277 LOCAL_SRC_FILES := $(protobuf_cc_full_src_files)
    278 LOCAL_C_INCLUDES := \
    279     $(LOCAL_PATH)/android \
    280     external/zlib \
    281     $(LOCAL_PATH)/src
    282 
    283 # Define the header files to be copied
    284 #LOCAL_COPY_HEADERS := \
    285 #    src/google/protobuf/stubs/once.h \
    286 #    src/google/protobuf/stubs/common.h \
    287 #    src/google/protobuf/io/coded_stream.h \
    288 #    src/google/protobuf/generated_message_util.h \
    289 #    src/google/protobuf/repeated_field.h \
    290 #    src/google/protobuf/extension_set.h \
    291 #    src/google/protobuf/wire_format_lite_inl.h
    292 #
    293 #LOCAL_COPY_HEADERS_TO := $(LOCAL_MODULE)
    294 
    295 LOCAL_CFLAGS := -DGOOGLE_PROTOBUF_NO_RTTI
    296 
    297 # These are the minimum versions and don't need to be update.
    298 ifeq ($(TARGET_ARCH),arm)
    299 LOCAL_SDK_VERSION := 8
    300 else
    301 # x86/mips support only available from API 9.
    302 LOCAL_SDK_VERSION := 9
    303 endif
    304 LOCAL_NDK_STL_VARIANT := stlport_static
    305 
    306 include $(BUILD_STATIC_LIBRARY)
    307 
    308 # C++ full library - Gnustl+rtti version
    309 # =======================================================
    310 include $(CLEAR_VARS)
    311 
    312 LOCAL_MODULE := libprotobuf-cpp-2.3.0-full-gnustl-rtti
    313 LOCAL_MODULE_TAGS := optional
    314 LOCAL_CPP_EXTENSION := .cc
    315 LOCAL_SRC_FILES := $(protobuf_cc_full_src_files)
    316 LOCAL_C_INCLUDES := \
    317     $(LOCAL_PATH)/android \
    318     external/zlib \
    319     $(LOCAL_PATH)/src
    320 
    321 LOCAL_CFLAGS := -frtti
    322 LOCAL_SDK_VERSION := 14
    323 LOCAL_NDK_STL_VARIANT := gnustl_static
    324 
    325 include $(BUILD_STATIC_LIBRARY)
    326 
    327 # Clean temp vars
    328 protobuf_cc_full_src_files :=
    329 
    330 
    331 # Android Protocol buffer compiler, aprotoc (host executable)
    332 # used by the build systems as $(PROTOC) defined in
    333 # build/core/config.mk
    334 # =======================================================
    335 include $(CLEAR_VARS)
    336 
    337 LOCAL_MODULE := aprotoc
    338 LOCAL_MODULE_CLASS := EXECUTABLES
    339 LOCAL_MODULE_TAGS := optional
    340 
    341 LOCAL_CPP_EXTENSION := .cc
    342 LOCAL_SRC_FILES := $(COMPILER_SRC_FILES)
    343 
    344 LOCAL_C_INCLUDES := \
    345     $(LOCAL_PATH)/android \
    346     $(LOCAL_PATH)/src
    347 
    348 LOCAL_STATIC_LIBRARIES += libz
    349 LOCAL_LDLIBS := -lpthread
    350 
    351 include $(BUILD_HOST_EXECUTABLE)
    352