# Copyright (c) 2020-2021 Huawei Device Co., Ltd. # 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. if (defined(ohos_lite)) { import("//build/lite/config/component/lite_component.gni") } else { import("//build/ohos.gni") } config("harfbuzz_config") { include_dirs = [ "//third_party/harfbuzz/src" ] } harfbuzz_source = [ "//third_party/harfbuzz/src/hb-aat-layout.cc", "//third_party/harfbuzz/src/hb-aat-map.cc", "//third_party/harfbuzz/src/hb-blob.cc", "//third_party/harfbuzz/src/hb-buffer-serialize.cc", "//third_party/harfbuzz/src/hb-buffer.cc", "//third_party/harfbuzz/src/hb-common.cc", "//third_party/harfbuzz/src/hb-face.cc", "//third_party/harfbuzz/src/hb-fallback-shape.cc", "//third_party/harfbuzz/src/hb-font.cc", "//third_party/harfbuzz/src/hb-map.cc", "//third_party/harfbuzz/src/hb-number.cc", "//third_party/harfbuzz/src/hb-ot-cff1-table.cc", "//third_party/harfbuzz/src/hb-ot-cff2-table.cc", "//third_party/harfbuzz/src/hb-ot-face.cc", "//third_party/harfbuzz/src/hb-ot-font.cc", "//third_party/harfbuzz/src/hb-ot-layout.cc", "//third_party/harfbuzz/src/hb-ot-map.cc", "//third_party/harfbuzz/src/hb-ot-math.cc", "//third_party/harfbuzz/src/hb-ot-meta.cc", "//third_party/harfbuzz/src/hb-ot-metrics.cc", "//third_party/harfbuzz/src/hb-ot-name.cc", "//third_party/harfbuzz/src/hb-ot-shape-complex-arabic.cc", "//third_party/harfbuzz/src/hb-ot-shape-complex-default.cc", "//third_party/harfbuzz/src/hb-ot-shape-complex-hangul.cc", "//third_party/harfbuzz/src/hb-ot-shape-complex-hebrew.cc", "//third_party/harfbuzz/src/hb-ot-shape-complex-indic-table.cc", "//third_party/harfbuzz/src/hb-ot-shape-complex-indic.cc", "//third_party/harfbuzz/src/hb-ot-shape-complex-khmer.cc", "//third_party/harfbuzz/src/hb-ot-shape-complex-myanmar.cc", "//third_party/harfbuzz/src/hb-ot-shape-complex-syllabic.cc", "//third_party/harfbuzz/src/hb-ot-shape-complex-thai.cc", "//third_party/harfbuzz/src/hb-ot-shape-complex-use.cc", "//third_party/harfbuzz/src/hb-ot-shape-complex-vowel-constraints.cc", "//third_party/harfbuzz/src/hb-ot-shape-fallback.cc", "//third_party/harfbuzz/src/hb-ot-shape-normalize.cc", "//third_party/harfbuzz/src/hb-ot-shape.cc", "//third_party/harfbuzz/src/hb-ot-tag.cc", "//third_party/harfbuzz/src/hb-ot-var.cc", "//third_party/harfbuzz/src/hb-set.cc", "//third_party/harfbuzz/src/hb-shape-plan.cc", "//third_party/harfbuzz/src/hb-shape.cc", "//third_party/harfbuzz/src/hb-shaper.cc", "//third_party/harfbuzz/src/hb-static.cc", "//third_party/harfbuzz/src/hb-subset-cff2.cc", "//third_party/harfbuzz/src/hb-subset-cff-common.cc", "//third_party/harfbuzz/src/hb-ucd.cc", "//third_party/harfbuzz/src/hb-unicode.cc", ] if (defined(ohos_lite)) { lite_library("harfbuzz") { output_name = "harfbuzz" sources = harfbuzz_source public_configs = [ ":harfbuzz_config" ] if (defined(board_toolchain_type) && board_toolchain_type == "iccarm") { target_type = "static_library" defines = [ "HB_TINY", "ENABLE_ICCARM=1", "HB_CUSTOM_MALLOC", ] cflags = [ "--diag_suppress", "Pe068,Pa093,Pe111,Pa181,Pe128,Pe161,Pe177,Pe185,Pe186,Pe550,Pe554", ] cflags_cc = cflags } else { target_type = "shared_library" defines = [ "HAVE_PTHREAD = 1" ] } } } else { ohos_static_library("harfbuzz_static") { output_dir = "${root_out_dir}/thirdparty/harfbuzz" output_name = "harfbuzz" sources = harfbuzz_source include_dirs = [ "src\base" ] defines = [ "HAVE_PTHREAD = 1" ] public_configs = [ ":harfbuzz_config" ] } }