//#
//# 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 opensource-licensing@google.com 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.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",
    ],
}

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",
    ],
}

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",
    ],
}

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",
}
