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 51LOCAL_PATH:= $(call my-dir) 52 53HARFBUZZ_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# 88include $(CLEAR_VARS) 89LOCAL_ARM_MODE := arm 90LOCAL_MODULE_TAGS := optional 91LOCAL_SRC_FILES:= \ 92 $(HARFBUZZ_SRC_FILES) \ 93 src/hb-icu.cc 94LOCAL_CPP_EXTENSION := .cc 95LOCAL_SHARED_LIBRARIES := \ 96 libcutils \ 97 libicuuc \ 98 libicui18n \ 99 libutils \ 100 liblog 101LOCAL_C_INCLUDES += \ 102 $(LOCAL_PATH)/src \ 103 external/icu/icu4c/source/common 104LOCAL_CFLAGS += -DHB_NO_MT -DHAVE_OT -DHAVE_ICU -DHAVE_ICU_BUILTIN 105LOCAL_MODULE:= libharfbuzz_ng 106include $(BUILD_SHARED_LIBRARY) 107