# Copyright (c) 2011-2014, Intel Corporation # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, # are permitted provided that the following conditions are met: # # 1. Redistributions of source code must retain the above copyright notice, this # list of conditions and the following disclaimer. # # 2. Redistributions in binary form must reproduce the above copyright notice, # this list of conditions and the following disclaimer in the documentation and/or # other materials provided with the distribution. # # 3. Neither the name of the copyright holder nor the names of its contributors # may be used to endorse or promote products derived from this software without # specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. LOCAL_PATH := $(call my-dir) #################### # Common definitions common_src_files := \ XmlElement.cpp \ XmlSerializingContext.cpp \ XmlDocSource.cpp \ XmlDocSink.cpp \ XmlMemoryDocSink.cpp \ XmlMemoryDocSource.cpp \ XmlStringDocSink.cpp \ XmlFileDocSink.cpp \ XmlFileDocSource.cpp \ XmlStringDocSource.cpp common_module := libxmlserializer common_module_tags := optional # Do not use the '-Werror' flag because of a compilation issue in libxml common_cflags := \ -Wall \ -Wextra \ -Wno-unused-parameter common_c_includes := \ external/libxml2/include \ external/icu4c/common \ common_shared_libraries := libicuuc common_static_libraries := libxml2 ############################# # Target build include $(CLEAR_VARS) LOCAL_SRC_FILES := $(common_src_files) LOCAL_MODULE := $(common_module) LOCAL_MODULE_TAGS := $(common_module_tags) LOCAL_CFLAGS := $(common_cflags) LOCAL_C_INCLUDES += \ $(common_c_includes) \ external/stlport/stlport \ bionic/ LOCAL_SHARED_LIBRARIES := $(common_shared_libraries) libstlport LOCAL_STATIC_LIBRARIES := $(common_static_libraries) LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) include $(BUILD_STATIC_LIBRARY) ############################## # Host build include $(CLEAR_VARS) LOCAL_SRC_FILES := $(common_src_files) LOCAL_MODULE := $(common_module)_host LOCAL_MODULE_TAGS := $(common_module_tags) LOCAL_CFLAGS := $(common_cflags) # We must enforce this flag, otherwise schemas are never used. # This is due to the fact that libxml2-schemas.a is compiled # with those features enabled, but the xmlversion.h does # not include those defines. LOCAL_CFLAGS += -DLIBXML_SCHEMAS_ENABLED LOCAL_C_INCLUDES += $(common_c_includes) LOCAL_SHARED_LIBRARIES := $(common_shared_libraries)-host LOCAL_STATIC_LIBRARIES := libxml2-schemas LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) include $(BUILD_HOST_STATIC_LIBRARY) ################################ # Export includes for plugins (Target build) include $(CLEAR_VARS) LOCAL_MODULE := $(common_module)_includes LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) LOCAL_STATIC_LIBRARIES := libxml2 include $(BUILD_STATIC_LIBRARY) ################################ # Export includes for plugins (Host build) include $(CLEAR_VARS) LOCAL_MODULE := $(common_module)_includes LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) LOCAL_STATIC_LIBRARIES := libxml2 include $(BUILD_HOST_STATIC_LIBRARY) # # libxml2-schemas # LOCAL_PATH := external/libxml2 include $(CLEAR_VARS) LOCAL_SRC_FILES := \ SAX.c \ entities.c \ encoding.c \ error.c \ parserInternals.c \ parser.c \ tree.c \ hash.c \ list.c \ xmlIO.c \ xmlmemory.c \ uri.c \ valid.c \ xlink.c \ HTMLparser.c \ HTMLtree.c \ debugXML.c \ xpath.c \ xpointer.c \ xinclude.c \ nanohttp.c \ nanoftp.c \ DOCBparser.c \ catalog.c \ globals.c \ threads.c \ c14n.c \ xmlstring.c \ xmlregexp.c \ xmlschemas.c \ xmlschemastypes.c \ xmlunicode.c \ xmlreader.c \ relaxng.c \ dict.c \ SAX2.c \ legacy.c \ chvalid.c \ pattern.c \ xmlsave.c \ xmlmodule.c \ xmlwriter.c \ schematron.c LOCAL_C_INCLUDES := $(LOCAL_PATH)/include external/icu4c/common LOCAL_CFLAGS := \ -DLIBXML_EXPR_ENABLED \ -DLIBXML_REGEXP_ENABLED \ -DLIBXML_PATTERN_ENABLED \ -DLIBXML_SCHEMAS_ENABLED \ -DLIBXML_UNICODE_ENABLED LOCAL_MODULE:= libxml2-schemas include $(BUILD_HOST_STATIC_LIBRARY)