# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

declare_args() {
  # Tells icu to load an external data file rather than rely on the icudata
  # being linked directly into the binary.
  icu_use_data_file = true

  # If true, compile icu into a standalone static library. Currently this is
  # only useful on Chrome OS.
  icu_disable_thin_archive = is_chromeos && !is_component_build
}

# Set to true if icu is being built from the Fuchsia tree.
icu_is_in_fuchsia = defined(is_fuchsia_tree) && is_fuchsia_tree
