• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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