Update HarfBuzz to 2.0.2
Merge commit '0a3b7a0fb0734a66926dfda5d95d3cacea8890ce'
Bug: 117953171
Change-Id: I3d3eb44406f826abde601f1aad7ed15c82930ca1
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..14cecf8
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,132 @@
+//#
+//# Copyright (C) 2012 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.
+//#
+
+//############################################################
+// Note:
+//
+// This file is used to build HarfBuzz within the Android
+// platform itself. If you need to compile HarfBuzz to
+// ship with your Android NDK app, you can use the autotools
+// build system to do so. To do that you need to install a
+// "standalone" toolchain with the NDK, eg:
+//
+// ndk/build/tools/make-standalone-toolchain.sh
+// --platform=android-18
+// --install-dir=/prefix
+//
+// Set PLATFORM_PREFIX eng var to that prefix and make sure
+// the cross-compile tools from PLATFORM_PREFIX are in path.
+// Configure and install HarfBuzz:
+//
+// ./configure --host=arm-linux-androideabi
+// --prefix=$PLATFORM_PREFIX
+// --enable-static
+// --with-freetype
+// PKG_CONFIG_LIBDIR=$PLATFORM_PREFIX/lib/pkgconfig
+// make install
+//
+// You can first build FreeType the same way:
+//
+// ./configure --host=arm-linux-androideabi
+// --prefix=$PLATFORM_PREFIX
+// --enable-stati
+// --without-png
+// PKG_CONFIG_LIBDIR=$PLATFORM_PREFIX/lib/pkgconfig
+// make install
+//
+
+//############################################################
+// build the harfbuzz shared library
+//
+cc_library_shared {
+ name: "libharfbuzz_ng",
+ host_supported: true,
+ arch: {
+ arm: {
+ instruction_set: "arm",
+ },
+ },
+ srcs: [
+ "src/hb-aat-layout.cc",
+ "src/hb-blob.cc",
+ "src/hb-buffer-serialize.cc",
+ "src/hb-buffer.cc",
+ "src/hb-common.cc",
+ "src/hb-face.cc",
+ "src/hb-font.cc",
+ "src/hb-ot-tag.cc",
+ "src/hb-set.cc",
+ "src/hb-shape.cc",
+ "src/hb-shape-plan.cc",
+ "src/hb-shaper.cc",
+ "src/hb-static.cc",
+ "src/hb-unicode.cc",
+ "src/hb-warning.cc",
+ "src/hb-ot-face.cc",
+ "src/hb-ot-font.cc",
+ "src/hb-ot-layout.cc",
+ "src/hb-ot-map.cc",
+ "src/hb-ot-math.cc",
+ "src/hb-ot-shape.cc",
+ "src/hb-ot-shape-complex-arabic.cc",
+ "src/hb-ot-shape-complex-default.cc",
+ "src/hb-ot-shape-complex-hangul.cc",
+ "src/hb-ot-shape-complex-hebrew.cc",
+ "src/hb-ot-shape-complex-indic.cc",
+ "src/hb-ot-shape-complex-indic-table.cc",
+ "src/hb-ot-shape-complex-khmer.cc",
+ "src/hb-ot-shape-complex-myanmar.cc",
+ "src/hb-ot-shape-complex-thai.cc",
+ "src/hb-ot-shape-complex-use.cc",
+ "src/hb-ot-shape-complex-use-table.cc",
+ "src/hb-ot-shape-normalize.cc",
+ "src/hb-ot-shape-fallback.cc",
+ "src/hb-ot-var.cc",
+
+ "src/hb-icu.cc",
+ ],
+
+ target: {
+ android: {
+ shared_libs: [
+ "libutils",
+ ],
+ },
+ host: {
+ static_libs: [
+ "libutils",
+ ],
+ },
+ },
+
+ shared_libs: [
+ "libcutils",
+ "libicuuc",
+ "libicui18n",
+ "liblog",
+ ],
+
+ export_include_dirs: ["src"],
+ cflags: [
+ "-DHAVE_INTEL_ATOMIC_PRIMITIVES",
+ "-DHAVE_OT",
+ "-DHAVE_ICU",
+ "-DHAVE_ICU_BUILTIN",
+ "-Werror",
+ "-Wno-unused-parameter",
+ "-Wno-missing-field-initializers",
+ ],
+}
diff --git a/MODULE_LICENSE_MIT b/MODULE_LICENSE_MIT
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/MODULE_LICENSE_MIT
diff --git a/NOTICE b/NOTICE
new file mode 100644
index 0000000..9d1056f
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,36 @@
+HarfBuzz is licensed under the so-called "Old MIT" license. Details follow.
+For parts of HarfBuzz that are licensed under different licenses see individual
+files names COPYING in subdirectories where applicable.
+
+Copyright © 2010,2011,2012 Google, Inc.
+Copyright © 2012 Mozilla Foundation
+Copyright © 2011 Codethink Limited
+Copyright © 2008,2010 Nokia Corporation and/or its subsidiary(-ies)
+Copyright © 2009 Keith Stribley
+Copyright © 2009 Martin Hosken and SIL International
+Copyright © 2007 Chris Wilson
+Copyright © 2006 Behdad Esfahbod
+Copyright © 2005 David Turner
+Copyright © 2004,2007,2008,2009,2010 Red Hat, Inc.
+Copyright © 1998-2004 David Turner and Werner Lemberg
+
+For full copyright notices consult the individual files in the package.
+
+
+Permission is hereby granted, without written agreement and without
+license or royalty fees, to use, copy, modify, and distribute this
+software and its documentation for any purpose, provided that the
+above copyright notice and the following two paragraphs appear in
+all copies of this software.
+
+IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
+DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
+IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.
+
+THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
+BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
+PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
diff --git a/OWNERS b/OWNERS
new file mode 100644
index 0000000..9bc89fb
--- /dev/null
+++ b/OWNERS
@@ -0,0 +1,4 @@
[email protected]
[email protected]
[email protected]
[email protected]
diff --git a/README.android b/README.android
new file mode 100644
index 0000000..c8ebb11
--- /dev/null
+++ b/README.android
@@ -0,0 +1,17 @@
+Harfbuzz
+
+HOW TO UPDATE
+* Check out external/harfbuzz to <checkout_dir>
+ ex: git clone https://android.googlesource.com/platform/external/harfbuzz_ng
+* Locate the commit you'd like to move.
+ ex: for 1.7.4: https://github.com/harfbuzz/harfbuzz/commit/007a2a4317227b8fb4c764c590203c85fc3da5fd
+* In <checkout_dir>, run git merge <commit_sha>
+ i.e. git merge 007a2a4317227b8fb4c764c590203c85fc3da5fd
+* Upload the changes.
+ ex: git push origin HEAD:refs/for/master
+* Gerrit will run the text related tests.
+
+NOTE:
+ Since Chromium updates Harfbuzz more frequently, you can check the following URL for their changes
+ and latest merges.
+ https://chromium.googlesource.com/chromium/src/+log/master/third_party/harfbuzz-ng
diff --git a/README.version b/README.version
new file mode 100644
index 0000000..1781d25
--- /dev/null
+++ b/README.version
@@ -0,0 +1,3 @@
+URL: https://github.com/harfbuzz/harfbuzz/commit/0a3b7a0fb0734a66926dfda5d95d3cacea8890ce
+Version: 2.0.2
+BugComponent: 25699