1cb93a386Sopenharmony_ci# Copyright 2018 Google Inc. 2cb93a386Sopenharmony_ci# 3cb93a386Sopenharmony_ci# Use of this source code is governed by a BSD-style license that can be 4cb93a386Sopenharmony_ci# found in the LICENSE file. 5cb93a386Sopenharmony_ci 6cb93a386Sopenharmony_ciimport("../../gn/skia.gni") 7cb93a386Sopenharmony_ciimport("skshaper.gni") 8cb93a386Sopenharmony_ci 9cb93a386Sopenharmony_ciif (skia_enable_skshaper) { 10cb93a386Sopenharmony_ci config("public_config") { 11cb93a386Sopenharmony_ci include_dirs = [ "include" ] 12cb93a386Sopenharmony_ci defines = [] 13cb93a386Sopenharmony_ci if (is_component_build) { 14cb93a386Sopenharmony_ci defines += [ "SKSHAPER_DLL" ] 15cb93a386Sopenharmony_ci } 16cb93a386Sopenharmony_ci if (skia_use_fonthost_mac) { 17cb93a386Sopenharmony_ci defines += [ "SK_SHAPER_CORETEXT_AVAILABLE" ] 18cb93a386Sopenharmony_ci } 19cb93a386Sopenharmony_ci if (skia_use_harfbuzz && skia_enable_skunicode) { 20cb93a386Sopenharmony_ci defines += [ "SK_SHAPER_HARFBUZZ_AVAILABLE" ] 21cb93a386Sopenharmony_ci } 22cb93a386Sopenharmony_ci } 23cb93a386Sopenharmony_ci 24cb93a386Sopenharmony_ci component("skshaper") { 25cb93a386Sopenharmony_ci check_includes = false 26cb93a386Sopenharmony_ci public_configs = [ ":public_config" ] 27cb93a386Sopenharmony_ci public = skia_shaper_public 28cb93a386Sopenharmony_ci if (!use_oh_skia) { 29cb93a386Sopenharmony_ci deps = [ "../..:skia" ] 30cb93a386Sopenharmony_ci } else { 31cb93a386Sopenharmony_ci include_dirs = [ "//third_party/skia" ] 32cb93a386Sopenharmony_ci deps = [] 33cb93a386Sopenharmony_ci } 34cb93a386Sopenharmony_ci defines = [ "SKSHAPER_IMPLEMENTATION=1" ] 35cb93a386Sopenharmony_ci if (use_oh_skia) { 36cb93a386Sopenharmony_ci defines += [ "SK_UNICODE_AVAILABLE" ] 37cb93a386Sopenharmony_ci } 38cb93a386Sopenharmony_ci sources = skia_shaper_primitive_sources 39cb93a386Sopenharmony_ci if (skia_use_fonthost_mac) { 40cb93a386Sopenharmony_ci sources += skia_shaper_coretext_sources 41cb93a386Sopenharmony_ci if (is_mac) { 42cb93a386Sopenharmony_ci frameworks = [ "ApplicationServices.framework" ] 43cb93a386Sopenharmony_ci } 44cb93a386Sopenharmony_ci 45cb93a386Sopenharmony_ci if (is_ios) { 46cb93a386Sopenharmony_ci frameworks = [ 47cb93a386Sopenharmony_ci "CoreFoundation.framework", 48cb93a386Sopenharmony_ci "CoreText.framework", 49cb93a386Sopenharmony_ci ] 50cb93a386Sopenharmony_ci } 51cb93a386Sopenharmony_ci } 52cb93a386Sopenharmony_ci if (skia_use_harfbuzz && skia_enable_skunicode) { 53cb93a386Sopenharmony_ci sources += skia_shaper_harfbuzz_sources 54cb93a386Sopenharmony_ci deps += [ 55cb93a386Sopenharmony_ci "${skia_third_party_dir}/harfbuzz", 56cb93a386Sopenharmony_ci "../skunicode", 57cb93a386Sopenharmony_ci ] 58cb93a386Sopenharmony_ci if (use_oh_skia) { 59cb93a386Sopenharmony_ci deps -= [ "../skunicode" ] 60cb93a386Sopenharmony_ci } 61cb93a386Sopenharmony_ci } 62cb93a386Sopenharmony_ci configs += [ 63cb93a386Sopenharmony_ci "../../:skia_private", 64cb93a386Sopenharmony_ci "../../third_party/icu/config:no_cxx", 65cb93a386Sopenharmony_ci ] 66cb93a386Sopenharmony_ci } 67cb93a386Sopenharmony_ci} else { 68cb93a386Sopenharmony_ci group("skshaper") { 69cb93a386Sopenharmony_ci } 70cb93a386Sopenharmony_ci} 71