1# Copyright 2021 Google Inc. 2# 3# Use of this source code is governed by a BSD-style license that can be 4# found in the LICENSE file. 5 6import("../../gn/skia.gni") 7import("skunicode.gni") 8 9declare_args() { 10 skia_use_runtime_icu = false 11} 12 13if (skia_use_icu || skia_use_client_icu) { 14 config("public_config") { 15 include_dirs = [ "include" ] 16 defines = [ "SK_UNICODE_AVAILABLE" ] 17 if (skia_use_client_icu) { 18 defines += [ "SK_UNICODE_CLIENT_IMPLEMENTATION" ] 19 } 20 if (skia_use_icu) { 21 defines += [ "SK_UNICODE_ICU_IMPLEMENTATION" ] 22 } 23 if (is_component_build) { 24 defines += [ "SKUNICODE_DLL" ] 25 } 26 } 27 28 component("skunicode") { 29 check_includes = false 30 public_configs = [ ":public_config" ] 31 public = skia_unicode_public 32 deps = [ "../..:skia" ] 33 defines = [ "SKUNICODE_IMPLEMENTATION=1" ] 34 sources = skia_unicode_sources 35 defines += [ "SK_UNICODE_AVAILABLE" ] 36 configs += [ "../../:skia_private" ] 37 38 if (skia_use_icu) { 39 sources += skia_unicode_icu_sources 40 if (skia_use_icu) { 41 defines += [ "SK_UNICODE_ICU_IMPLEMENTATION" ] 42 } 43 if (skia_use_client_icu) { 44 sources += skia_unicode_client_icu_sources 45 defines += [ "SK_UNICODE_CLIENT_IMPLEMENTATION" ] 46 } 47 48 # only available for Android at the moment 49 if (skia_use_runtime_icu && (is_android || is_linux)) { 50 sources += skia_unicode_runtime_icu_sources 51 deps += [ "//third_party/icu:headers" ] 52 } else { 53 sources += skia_unicode_builtin_icu_sources 54 deps += [ "//third_party/icu" ] 55 } 56 configs += [ "../../third_party/icu/config:no_cxx" ] 57 } else if (skia_use_client_icu) { 58 sources += skia_unicode_client_icu_sources 59 defines += [ "SK_UNICODE_CLIENT_IMPLEMENTATION" ] 60 deps += [ skia_icu_bidi_third_party_dir ] 61 } 62 } 63} else { 64 group("skunicode") { 65 } 66} 67