Imported Upstream version 0.9.40
[platform/upstream/harfbuzz.git] / Android.mk
1 ##
2 ## Copyright (C) 2012 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
17 #############################################################
18 #   Note:
19 #
20 #   This file is used to build HarfBuzz within the Android
21 #   platform itself.  If you need to compile HarfBuzz to
22 #   ship with your Android NDK app, you can use the autotools
23 #   build system to do so.  To do that you need to install a
24 #   "standalone" toolchain with the NDK, eg:
25 #
26 #       ndk/build/tools/make-standalone-toolchain.sh \
27 #           --platform=android-18 \
28 #           --install-dir=/prefix
29 #
30 #   Set PLATFORM_PREFIX eng var to that prefix and make sure
31 #   the cross-compile tools from PLATFORM_PREFIX are in path.
32 #   Configure and install HarfBuzz:
33 #
34 #       ./configure --host=arm-linux-androideabi \
35 #           --prefix=$PLATFORM_PREFIX \
36 #           --enable-static \
37 #           --with-freetype \
38 #           PKG_CONFIG_LIBDIR=$PLATFORM_PREFIX/lib/pkgconfig
39 #       make install
40 #
41 #   You can first build FreeType the same way:
42 #
43 #       ./configure --host=arm-linux-androideabi \
44 #           --prefix=$PLATFORM_PREFIX \
45 #           --enable-static \
46 #           --without-png \
47 #           PKG_CONFIG_LIBDIR=$PLATFORM_PREFIX/lib/pkgconfig
48 #       make install
49 #
50
51 LOCAL_PATH:= $(call my-dir)
52
53 HARFBUZZ_SRC_FILES = \
54         src/hb-blob.cc \
55         src/hb-buffer-serialize.cc \
56         src/hb-buffer.cc \
57         src/hb-common.cc \
58         src/hb-face.cc \
59         src/hb-font.cc \
60         src/hb-ot-tag.cc \
61         src/hb-set.cc \
62         src/hb-shape.cc \
63         src/hb-shape-plan.cc \
64         src/hb-shaper.cc \
65         src/hb-unicode.cc \
66         src/hb-warning.cc \
67         src/hb-ot-font.cc \
68         src/hb-ot-layout.cc \
69         src/hb-ot-map.cc \
70         src/hb-ot-shape.cc \
71         src/hb-ot-shape-complex-arabic.cc \
72         src/hb-ot-shape-complex-default.cc \
73         src/hb-ot-shape-complex-hangul.cc \
74         src/hb-ot-shape-complex-hebrew.cc \
75         src/hb-ot-shape-complex-indic.cc \
76         src/hb-ot-shape-complex-indic-table.cc \
77         src/hb-ot-shape-complex-myanmar.cc \
78         src/hb-ot-shape-complex-sea.cc \
79         src/hb-ot-shape-complex-thai.cc \
80         src/hb-ot-shape-complex-tibetan.cc \
81         src/hb-ot-shape-normalize.cc \
82         src/hb-ot-shape-fallback.cc \
83         $(NULL)
84
85 #############################################################
86 #   build the harfbuzz shared library
87 #
88 include $(CLEAR_VARS)
89 LOCAL_ARM_MODE := arm
90 LOCAL_MODULE_TAGS := optional
91 LOCAL_SRC_FILES:= \
92         $(HARFBUZZ_SRC_FILES) \
93         src/hb-icu.cc
94 LOCAL_CPP_EXTENSION := .cc
95 LOCAL_SHARED_LIBRARIES := \
96         libcutils \
97         libicuuc \
98         libicui18n \
99         libutils \
100         liblog
101 LOCAL_C_INCLUDES += \
102         $(LOCAL_PATH)/src
103 LOCAL_CFLAGS += -DHB_NO_MT -DHAVE_OT -DHAVE_ICU -DHAVE_ICU_BUILTIN
104 LOCAL_MODULE:= libharfbuzz_ng
105 include $(BUILD_SHARED_LIBRARY)