Android.mk revision 72c026822d32550b10bb62949644c10826d7658e
1# Copyright (C) 2013 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#      http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15LOCAL_PATH := $(call my-dir)
16
17include $(CLEAR_VARS)
18
19minikin_src_files := \
20    AnalyzeStyle.cpp \
21    CmapCoverage.cpp \
22    FontCollection.cpp \
23    FontFamily.cpp \
24    GraphemeBreak.cpp \
25    Hyphenator.cpp \
26    Layout.cpp \
27    LineBreaker.cpp \
28    Measurement.cpp \
29    MinikinInternal.cpp \
30    MinikinRefCounted.cpp \
31    MinikinFontFreeType.cpp \
32    SparseBitSet.cpp
33
34minikin_c_includes += \
35    external/harfbuzz_ng/src \
36    external/freetype/include \
37    frameworks/minikin/include
38
39minikin_shared_libraries := \
40    libharfbuzz_ng \
41    libft2 \
42    liblog \
43    libpng \
44    libz \
45    libicuuc \
46    libutils
47
48LOCAL_MODULE := libminikin
49LOCAL_EXPORT_C_INCLUDE_DIRS := frameworks/minikin/include
50LOCAL_SRC_FILES := $(minikin_src_files)
51LOCAL_C_INCLUDES := $(minikin_c_includes)
52LOCAL_SHARED_LIBRARIES := $(minikin_shared_libraries)
53LOCAL_CLANG := true
54LOCAL_SANITIZE := signed-integer-overflow
55# b/26432628.
56ifeq ($(filter x86%,$(TARGET_ARCH)),)
57  LOCAL_SANITIZE += unsigned-integer-overflow
58endif
59
60include $(BUILD_SHARED_LIBRARY)
61
62include $(CLEAR_VARS)
63
64LOCAL_MODULE := libminikin
65LOCAL_MODULE_TAGS := optional
66LOCAL_EXPORT_C_INCLUDE_DIRS := frameworks/minikin/include
67LOCAL_SRC_FILES := $(minikin_src_files)
68LOCAL_C_INCLUDES := $(minikin_c_includes)
69LOCAL_SHARED_LIBRARIES := $(minikin_shared_libraries)
70LOCAL_CLANG := true
71LOCAL_SANITIZE := signed-integer-overflow
72# b/26432628.
73ifeq ($(filter x86%,$(TARGET_ARCH)),)
74  LOCAL_SANITIZE += unsigned-integer-overflow
75endif
76
77include $(BUILD_STATIC_LIBRARY)
78
79include $(CLEAR_VARS)
80
81# Reduced library (currently just hyphenation) for host
82
83LOCAL_MODULE := libminikin_host
84LOCAL_MODULE_TAGS := optional
85LOCAL_EXPORT_C_INCLUDE_DIRS := frameworks/minikin/include
86LOCAL_C_INCLUDES := $(minikin_c_includes)
87LOCAL_SHARED_LIBRARIES := liblog libicuuc-host
88
89LOCAL_SRC_FILES := Hyphenator.cpp
90
91include $(BUILD_HOST_STATIC_LIBRARY)
92