aboutsummaryrefslogtreecommitdiffstats
path: root/Android.mk
blob: 63e87eeb0bad7f0c110a1f0a0bd6d1b27c3a928c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#
# Copyright (C) 2014 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

LOCAL_PATH := $(call my-dir)

#
# To update:
#

#  git remote add libxml2 git://git.gnome.org/libxml2
#  git fetch libxml2
#  git merge libxml2/master
#  mm -j32
#  # (Make any necessary Android.mk changes and test the new libxml2.)
#  git push aosp HEAD:master  # Push directly, avoiding gerrit.
#  git push aosp HEAD:refs/for/master  # Push to gerrit.
#
#  # Now commit any necessary Android.mk changes like normal:
#  repo start post-sync .
#  git commit -a
#

# This comes from the automake-generated Makefile.
# We deliberately exclude nanoftp.c and nanohttp.c, the trio library, and zlib.
common_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 \
        DOCBparser.c catalog.c globals.c threads.c c14n.c xmlstring.c \
        buf.c xmlregexp.c xmlschemas.c xmlschemastypes.c xmlunicode.c \
        xmlreader.c relaxng.c dict.c SAX2.c \
        xmlwriter.c legacy.c chvalid.c pattern.c xmlsave.c xmlmodule.c \
        schematron.c

common_C_INCLUDES += $(LOCAL_PATH)/include

common_CFLAGS += -DLIBXML_THREAD_ENABLED=1

common_CFLAGS += \
    -Wno-missing-field-initializers \
    -Wno-self-assign \
    -Wno-sign-compare \
    -Wno-tautological-pointer-compare \

# Static library
#=======================================================

include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(common_SRC_FILES)
LOCAL_C_INCLUDES += $(common_C_INCLUDES)
LOCAL_CFLAGS += $(common_CFLAGS) -fvisibility=hidden
LOCAL_SHARED_LIBRARIES += libicuuc
LOCAL_MODULE := libxml2
LOCAL_CLANG := true
LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
include $(BUILD_STATIC_LIBRARY)

# Shared library
#=======================================================

include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(common_SRC_FILES)
LOCAL_C_INCLUDES := $(common_C_INCLUDES)
LOCAL_CFLAGS += $(common_CFLAGS)
LOCAL_SHARED_LIBRARIES := libicuuc
LOCAL_MODULE:= libxml2
LOCAL_CLANG := true
LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
include $(BUILD_SHARED_LIBRARY)

# For the host
# ========================================================

include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(common_SRC_FILES)
LOCAL_C_INCLUDES += $(common_C_INCLUDES)
LOCAL_CFLAGS += $(common_CFLAGS) -fvisibility=hidden
LOCAL_SHARED_LIBRARIES += libicuuc-host
LOCAL_MODULE := libxml2
LOCAL_CLANG := true
LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
include $(BUILD_HOST_STATIC_LIBRARY)