1#
2# Copyright (C) 2014 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17LOCAL_PATH := $(call my-dir)
18
19#
20# To update:
21#
22
23#  git merge aosp/upstream-master
24#  mm -j32
25#  # (Make any necessary Android.mk changes and test the new libxml2.)
26#  git push aosp HEAD:master  # Push directly, avoiding gerrit.
27#  git push aosp HEAD:refs/for/master  # Push to gerrit.
28#
29#  # Now commit any necessary Android.mk changes like normal:
30#  repo start post-sync .
31#  git commit -a
32#
33
34# This comes from the automake-generated Makefile.
35# We deliberately exclude nanoftp.c and nanohttp.c, the trio library, and zlib.
36common_SRC_FILES := SAX.c entities.c encoding.c error.c \
37        parserInternals.c parser.c tree.c hash.c list.c xmlIO.c \
38        xmlmemory.c uri.c valid.c xlink.c \
39        debugXML.c xpath.c xpointer.c xinclude.c \
40        DOCBparser.c catalog.c globals.c threads.c c14n.c xmlstring.c \
41        buf.c xmlregexp.c xmlschemas.c xmlschemastypes.c xmlunicode.c \
42        xmlreader.c relaxng.c dict.c SAX2.c \
43        xmlwriter.c legacy.c chvalid.c pattern.c xmlsave.c xmlmodule.c \
44        schematron.c
45
46common_C_INCLUDES += $(LOCAL_PATH)/include
47
48common_CFLAGS += -DLIBXML_THREAD_ENABLED=1
49
50common_CFLAGS += \
51    -Wno-missing-field-initializers \
52    -Wno-self-assign \
53    -Wno-sign-compare \
54    -Wno-tautological-pointer-compare \
55    -Wno-unused-parameter \
56
57# Static library
58#=======================================================
59
60include $(CLEAR_VARS)
61LOCAL_SRC_FILES := $(common_SRC_FILES)
62LOCAL_C_INCLUDES += $(common_C_INCLUDES)
63LOCAL_CFLAGS += $(common_CFLAGS) -fvisibility=hidden
64LOCAL_SHARED_LIBRARIES += libicuuc
65LOCAL_MODULE := libxml2
66LOCAL_CLANG := true
67LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
68include $(BUILD_STATIC_LIBRARY)
69
70# Shared library
71#=======================================================
72
73include $(CLEAR_VARS)
74LOCAL_SRC_FILES := $(common_SRC_FILES)
75LOCAL_C_INCLUDES := $(common_C_INCLUDES)
76LOCAL_CFLAGS += $(common_CFLAGS)
77LOCAL_SHARED_LIBRARIES := libicuuc
78LOCAL_MODULE:= libxml2
79LOCAL_CLANG := true
80LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
81include $(BUILD_SHARED_LIBRARY)
82
83# For the host
84# ========================================================
85
86include $(CLEAR_VARS)
87LOCAL_SRC_FILES := $(common_SRC_FILES)
88LOCAL_C_INCLUDES += $(common_C_INCLUDES)
89LOCAL_CFLAGS += $(common_CFLAGS) -fvisibility=hidden
90LOCAL_SHARED_LIBRARIES += libicuuc
91LOCAL_MODULE := libxml2
92LOCAL_CLANG := true
93LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
94include $(BUILD_HOST_STATIC_LIBRARY)
95