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

import("//build/package.gni")

package("intl_wisdom") {
  deps = [
    "//garnet/examples/intl/wisdom/client:intl_wisdom_client",
    "//garnet/examples/intl/wisdom/server:intl_wisdom_server",
  ]

  binaries = [
    {
      name = "intl_wisdom_client"
    },
    {
      name = "intl_wisdom_server"
    },
  ]

  meta = [
    {
      path = rebase_path("meta/intl_wisdom_client.cmx")
      dest = "intl_wisdom_client.cmx"
    },
    {
      path = rebase_path("meta/intl_wisdom_server.cmx")
      dest = "intl_wisdom_server.cmx"
    },
  ]

  resources = [
    {
      path = rebase_path("//third_party/icu/common/icudtl.dat")
      dest = "icudtl.dat"
    },
  ]
}
