# Copyright 2021 Google Inc.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("../../gn/skia.gni")
import("skunicode.gni")

declare_args() {
  skia_use_runtime_icu = false
}

if (skia_use_icu) {
  config("public_config") {
    include_dirs = [ "include" ]
    defines = [ "SK_UNICODE_AVAILABLE" ]
  }

  component("skunicode") {
    check_includes = false
    public_configs = [ ":public_config" ]
    public = skia_unicode_public
    deps = [ "../..:skia" ]
    defines = [ "SKUNICODE_IMPLEMENTATION=1" ]
    sources = skia_unicode_sources

    # only available for Android at the moment
    if (skia_use_runtime_icu && (is_android || is_linux)) {
      sources += skia_unicode_runtime_icu_sources
      deps += [ "//third_party/icu:headers" ]
    } else {
      sources += skia_unicode_builtin_icu_sources
      deps += [ "//third_party/icu" ]
    }
    configs += [
      "../../:skia_private",
      "../../third_party/icu/config:no_cxx",
    ]
  }
} else {
  group("skunicode") {
  }
}
