| //# |
| //# 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 |
| // |
| // *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS. PLEASE |
| // CONSULT THE OWNERS AND [email protected] BEFORE |
| // DEPENDING ON IT IN YOUR PROJECT. *** |
| package { |
| default_applicable_licenses: ["external_harfbuzz_ng_license"], |
| } |
| |
| // Added automatically by a large-scale-change that took the approach of |
| // 'apply every license found to every target'. While this makes sure we respect |
| // every license restriction, it may not be entirely correct. |
| // |
| // e.g. GPL in an MIT project might only apply to the contrib/ directory. |
| // |
| // Please consider splitting the single license below into multiple licenses, |
| // taking care not to lose any license_kind information, and overriding the |
| // default license using the 'licenses: [...]' property on targets as needed. |
| // |
| // For unused files, consider creating a 'fileGroup' with "//visibility:private" |
| // to attach the license to, and including a comment whether the files may be |
| // used in the current project. |
| // |
| // large-scale-change included anything that looked like it might be a license |
| // text as a license_text. e.g. LICENSE, NOTICE, COPYING etc. |
| // |
| // Please consider removing redundant or irrelevant files from 'license_text:'. |
| // See: http://go/android-license-faq |
| license { |
| name: "external_harfbuzz_ng_license", |
| visibility: [":__subpackages__"], |
| license_kinds: [ |
| // "SPDX-license-Identifier-MIT-Modern-Variant", |
| "SPDX-license-identifier-Apache-2.0", |
| "SPDX-license-identifier-ISC", // src/hb-ucd.cc |
| "SPDX-license-identifier-MIT", |
| "SPDX-license-identifier-OFL", // by exception only |
| "legacy_unencumbered", |
| ], |
| license_text: [ |
| "COPYING", |
| "NOTICE", |
| |
| "LICENSE_APACHE2.TXT", |
| "LICENSE_ISC.TXT", |
| "LICENSE_OFL.TXT", |
| "src/ms-use/COPYING", // For MIT license |
| "LICENSE_MIT_MODERN_VARIANT.TXT", |
| ], |
| } |
| |
| cc_library { |
| name: "libharfbuzz_subset", |
| |
| host_supported: true, |
| |
| srcs: [ |
| "src/hb-number.cc", |
| "src/hb-ot-cff1-table.cc", |
| "src/hb-ot-cff2-table.cc", |
| "src/hb-static.cc", |
| "src/hb-subset-cff-common.cc", |
| "src/hb-subset-cff1.cc", |
| "src/hb-subset-cff2.cc", |
| "src/hb-subset-input.cc", |
| "src/hb-subset-instancer-iup.cc", |
| "src/hb-subset-instancer-solver.cc", |
| "src/hb-subset-plan.cc", |
| "src/hb-subset-repacker.cc", |
| "src/hb-subset.cc", |
| "src/graph/gsubgpos-context.cc", |
| ], |
| target: { |
| windows: { |
| enabled: true, |
| }, |
| }, |
| shared_libs: [ |
| "libharfbuzz_ng", |
| ], |
| export_include_dirs: ["src"], |
| cflags: [ |
| "-DHAVE_PTHREAD", |
| "-DHB_NO_PRAGMA_GCC_DIAGNOSTIC", |
| "-DHAVE_OT", |
| "-DHAVE_ICU", |
| "-DHAVE_ICU_BUILTIN", |
| "-Werror", |
| "-Wno-unused-parameter", |
| "-Wno-missing-field-initializers", |
| "-Wno-implicit-fallthrough", |
| ], |
| } |
| |
| cc_library { |
| name: "libharfbuzz_ng", |
| host_supported: true, |
| arch: { |
| arm: { |
| instruction_set: "arm", |
| }, |
| }, |
| srcs: [ |
| "src/hb-aat-layout.cc", |
| "src/hb-aat-map.cc", |
| "src/hb-blob.cc", |
| "src/hb-buffer-serialize.cc", |
| "src/hb-buffer-verify.cc", |
| "src/hb-buffer.cc", |
| "src/hb-common.cc", |
| "src/hb-draw.cc", |
| "src/hb-face-builder.cc", |
| "src/hb-face.cc", |
| "src/hb-fallback-shape.cc", |
| "src/hb-font.cc", |
| "src/hb-map.cc", |
| "src/hb-number.cc", |
| "src/hb-ot-cff1-table.cc", |
| "src/hb-ot-cff2-table.cc", |
| "src/hb-ot-color.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-meta.cc", |
| "src/hb-ot-metrics.cc", |
| "src/hb-ot-name.cc", |
| "src/hb-ot-shape-fallback.cc", |
| "src/hb-ot-shape-normalize.cc", |
| "src/hb-ot-shape.cc", |
| "src/hb-ot-shaper-arabic.cc", |
| "src/hb-ot-shaper-default.cc", |
| "src/hb-ot-shaper-hangul.cc", |
| "src/hb-ot-shaper-hebrew.cc", |
| "src/hb-ot-shaper-indic-table.cc", |
| "src/hb-ot-shaper-indic.cc", |
| "src/hb-ot-shaper-khmer.cc", |
| "src/hb-ot-shaper-myanmar.cc", |
| "src/hb-ot-shaper-syllabic.cc", |
| "src/hb-ot-shaper-thai.cc", |
| "src/hb-ot-shaper-use.cc", |
| "src/hb-ot-shaper-vowel-constraints.cc", |
| "src/hb-ot-tag.cc", |
| "src/hb-ot-var.cc", |
| "src/hb-outline.cc", |
| "src/hb-paint-extents.cc", |
| "src/hb-paint.cc", |
| "src/hb-set.cc", |
| "src/hb-shape-plan.cc", |
| "src/hb-shape.cc", |
| "src/hb-shaper.cc", |
| "src/hb-static.cc", |
| "src/hb-style.cc", |
| "src/hb-ucd.cc", |
| "src/hb-unicode.cc", |
| ], |
| |
| target: { |
| android: { |
| shared_libs: [ |
| "libcutils", |
| "libutils", |
| ], |
| }, |
| host: { |
| static_libs: [ |
| "libcutils", |
| "libutils", |
| ], |
| }, |
| windows: { |
| enabled: true, |
| }, |
| }, |
| |
| shared_libs: [ |
| "libicu", |
| "liblog", |
| ], |
| |
| export_include_dirs: ["src"], |
| cflags: [ |
| "-DHAVE_PTHREAD", |
| "-DHB_NO_PRAGMA_GCC_DIAGNOSTIC", |
| "-DHAVE_OT", |
| "-DHAVE_ICU", |
| "-DHAVE_ICU_BUILTIN", |
| "-Werror", |
| "-Wno-unused-parameter", |
| "-Wno-missing-field-initializers", |
| "-Wno-implicit-fallthrough", |
| ], |
| |
| afdo: true, |
| } |
| |
| ///////////////////////////////////////////////////////////////////// |
| // Following filegroups and licences are ones not used in Android. |
| ///////////////////////////////////////////////////////////////////// |
| |
| license { |
| name: "external_harfbuzz_license.unused.GPLv3", |
| visibility: ["//visibility:private"], |
| license_kinds: [ |
| "SPDX-license-identifier-GPL-3.0-with-autoconf-exception", |
| ], |
| license_text: [ |
| "LICENSE_GPLv3_WITH_AUTOCONF_EXCEPTION.TXT", |
| ], |
| } |
| |
| filegroup { |
| name: "external_harfbuzz.unused.GPLv3", |
| visibility: ["//visibility:private"], |
| licenses: ["external_harfbuzz_license.unused.GPLv3"], |
| srcs: [ |
| "m4/ax_check_link_flag.m4", |
| "m4/ax_pthread.m4", |
| ], |
| } |
| |
| license { |
| name: "external_harfbuzz_license.unused.GPLv2", |
| visibility: ["//visibility:private"], |
| license_kinds: [ |
| "SPDX-license-identifier-GPL-2.0", |
| ], |
| license_text: [ |
| "LICENSE_GPLv2.TXT", |
| ], |
| } |
| |
| filegroup { |
| name: "external_harfbuzz.unused.GPLv2", |
| visibility: ["//visibility:private"], |
| licenses: ["external_harfbuzz_license.unused.GPLv2"], |
| srcs: [ |
| "test/shape/data/in-house/fonts/b895f8ff06493cc893ec44de380690ca0074edfa.ttf", |
| ], |
| } |
| |
| license { |
| name: "external_harfbuzz_license.unused.LGPL", |
| visibility: ["//visibility:private"], |
| license_kinds: [ |
| "SPDX-license-identifier-LGPL-2.1", |
| ], |
| license_text: [ |
| "LICENSE_GPLv2_WITH_AUTOCONF_EXCEPTION.TXT", |
| ], |
| } |
| |
| filegroup { |
| name: "external_harfbuzz.unused.LGPL", |
| visibility: ["//visibility:private"], |
| licenses: ["external_harfbuzz_license.unused.LGPL"], |
| srcs: ["m4/ax_code_coverage.m4"], |
| } |
| |
| license { |
| name: "external_harfbuzz_license.unused.MIT", |
| visibility: ["//visibility:private"], |
| license_kinds: [ |
| "SPDX-license-identifier-MIT", |
| ], |
| license_text: [ |
| "src/ms-use/COPYING", |
| ], |
| } |
| |
| filegroup { |
| name: "external_harfbuzz.unused.MIT", |
| visibility: ["//visibility:private"], |
| licenses: ["external_harfbuzz_license.unused.MIT"], |
| srcs: [ |
| "src/ms-use/*", |
| ], |
| } |
| |
| license { |
| name: "external_harfbuzz_license.unused.FSFAP", |
| visibility: ["//visibility:private"], |
| license_kinds: [ |
| "SPDX-license-identifier-FSFAP", |
| ], |
| license_text: [ |
| "LICENSE_FSFAP.TXT", |
| ], |
| } |
| |
| filegroup { |
| name: "external_harfbuzz.unused.FSFAP", |
| visibility: ["//visibility:private"], |
| licenses: ["external_harfbuzz_license.unused.FSFAP"], |
| srcs: [ |
| "git.mk", |
| "m4/ax_cxx_compile_stdcxx.m4", |
| ], |
| } |
| |
| license { |
| name: "external_harfbuzz_license.unused.HPND-sell-variant", |
| visibility: ["//visibility:private"], |
| license_kinds: [ |
| // "SPDX-license-identifier-HPND-sell-variant", |
| ], |
| license_text: [ |
| "LICENSE_HPND_SELL_VARIANT.TXT", |
| ], |
| } |
| |
| filegroup { |
| name: "external_harfbuzz.unused.HPND-sell-variant", |
| visibility: ["//visibility:private"], |
| licenses: ["external_harfbuzz_license.unused.HPND-sell-variant"], |
| srcs: [ |
| "util/hb-fc-list.c", |
| ], |
| } |
| |
| license { |
| name: "external_harfbuzz_license.unused.Apache-2.0", |
| visibility: ["//visibility:private"], |
| license_kinds: [ |
| "SPDX-license-identifier-Apache-2.0", |
| ], |
| license_text: [ |
| "LICENSE_APACHE2.TXT", |
| ], |
| } |
| |
| filegroup { |
| name: "external_harfbuzz.unused.Apache-2.0", |
| visibility: ["//visibility:private"], |
| licenses: ["external_harfbuzz_license.unused.Apache-2.0"], |
| srcs: [ |
| "perf/fonts/Roboto-Regular.ttf", |
| ], |
| } |
| |
| license { |
| name: "external_harfbuzz_license.unused.OFL", |
| visibility: ["//visibility:private"], |
| license_kinds: [ |
| "SPDX-license-identifier-OFL", |
| ], |
| license_text: [ |
| "LICENSE_OFL.TXT", |
| ], |
| } |
| |
| filegroup { |
| name: "external_harfbuzz.unused.OFL", |
| visibility: ["//visibility:private"], |
| licenses: ["external_harfbuzz_license.unused.OFL"], |
| srcs: [ |
| "perf/fonts/Amiri-Regular.ttf", |
| "perf/fonts/NotoNastaliqUrdu-Regular.ttf", |
| ], |
| } |
| |
| license { |
| name: "external_harfbuzz_license.unused.tests", |
| visibility: ["//visibility:private"], |
| license_kinds: [ |
| // "SPDX-license-Identifier-MIT-Modern-Variant", |
| "SPDX-license-identifier-Apache-2.0", |
| "SPDX-license-identifier-MIT", |
| "SPDX-license-identifier-OFL", // by exception only |
| // Lots of font files used in tests directories are lack of license descriptions. |
| // The license of fuzzing payload is unknown. |
| "legacy_unencumbered", |
| ], |
| license_text: [ |
| "LICENSE_OFL.TXT", |
| "LICENSE_APACHE2.TXT", |
| "LICENSE_MIT_MODERN_VARIANT.TXT", |
| "src/ms-use/COPYING", // For MIT license |
| ], |
| } |
| |
| filegroup { |
| name: "external_harfbuzz.unused.tests", |
| visibility: ["//visibility:private"], |
| licenses: ["external_harfbuzz_license.unused.tests"], |
| srcs: ["test/**/*"], |
| path: "test", |
| } |