# Copyright 2019 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("$zx_build/public/gn/config/standard.gni")
import("$zx_build/public/gn/zbi.gni")

assert(current_toolchain != default_toolchain)
assert(current_cpu != "")

# TODO(BLD-353): This is all temporary hacks for integrating with
# the legacy Fuchsia GN build.  This file should not exist at all.

group("ulib") {
  testonly = true
  deps = [
#------------------
    "$zx/kernel/lib/cmdline",
#------------------
#------------------
    "$zx/kernel/lib/counters",
#------------------
#------------------
    "$zx/system/dev/lib",
#------------------
#------------------
    "$zx/third_party/ulib",
#------------------
#------------------
#------------------
#------------------
    "affine",
#------------------
#------------------
    "async",
#------------------
#------------------
    "async:async-cpp",
#------------------
#------------------
    "async:async-default",
#------------------
#------------------
    "async-loop",
#------------------
#------------------
    "async-loop:async-loop-cpp",
#------------------
#------------------
    "async-loop:async-loop-default",
#------------------
#------------------
    "async-testing",
#------------------
#------------------
#------------------
#------------------
#------------------
#------------------
#------------------
#------------------
    "backtrace-request",
#------------------
#------------------
    "backtrace-request:backtrace-request-utils",
#------------------
#------------------
    "bitmap",
#------------------
#------------------
#------------------
#------------------
    "blobfs",
#------------------
#------------------
    "block-client",
#------------------
#------------------
    "block-client:fake-device",
#------------------
#------------------
    "bootfs",
#------------------
#------------------
    "c",
#------------------
#------------------
    "c:crt1",
#------------------
#------------------
#------------------
#------------------
#------------------
#------------------
    "cmdline",
#------------------
#------------------
    "cobalt-client",
#------------------
#------------------
    "cobalt-client:cobalt-collector",
#------------------
#------------------
    "cobalt-client:cobalt-metrics",
#------------------
#------------------
    "cobalt-client:cobalt-types-internal",
#------------------
#------------------
    "cobalt-client:in-memory-logger",
#------------------
#------------------
    "ddk",
#------------------
#------------------
    "ddktl",
#------------------
#------------------
#------------------
#------------------
    "devmgr-integration-test",
#------------------
#------------------
    "devmgr-launcher",
#------------------
#------------------
    "digest",
#------------------
#------------------
    "disk_inspector",
#------------------
#------------------
#------------------
#------------------
    "driver",
#------------------
#------------------
#------------------
#------------------
    "driver-integration-test",
#------------------
#------------------
    "driver-integration-test:driver-integration-test-static",
#------------------
#------------------
#------------------
#------------------
#------------------
#------------------
    "elf-psabi",
#------------------
#------------------
    "elf-search",
#------------------
#------------------
    "elfload",
#------------------
#------------------
    "explicit-memory",
#------------------
#------------------
    "fbl",
#------------------
#------------------
    "fdio",
#------------------
#------------------
    "fdio-caller",
#------------------
#------------------
    "ffl",
#------------------
#------------------
    "fidl",
#------------------
#------------------
    "fidl:fidl-llcpp",
#------------------
#------------------
    "fidl:fidl_base",
#------------------
#------------------
    "fidl-async",
#------------------
#------------------
    "fidl-async:fidl-async-cpp",
#------------------
#------------------
#------------------
#------------------
    "fidl-utils",
#------------------
#------------------
    "fit",
#------------------
#------------------
#------------------
#------------------
    "fs",
#------------------
#------------------
    "fs-management",
#------------------
#------------------
    "fs-pty",
#------------------
#------------------
#------------------
#------------------
    "fs/journal",
#------------------
#------------------
    "fs/metrics",
#------------------
#------------------
    "fs/test/posix:posix_tests",
#------------------
#------------------
    "fs/test_support:fs_test_support",
#------------------
#------------------
    "fs/transaction",
#------------------
#------------------
#------------------
#------------------
    "fvm",
#------------------
#------------------
#------------------
#------------------
    "fzl",
#------------------
#------------------
    "gfx",
#------------------
#------------------
    "gfx-font-data",
#------------------
#------------------
    "gpt",
#------------------
#------------------
    "hermetic-compute",
#------------------
#------------------
    "hermetic-decompressor",
#------------------
#------------------
    "hid",
#------------------
#------------------
#------------------
#------------------
    "hwreg",
#------------------
#------------------
    "hwreg:hwreg-i2c",
#------------------
#------------------
    "hwreg:hwreg-mock",
#------------------
#------------------
    "id_allocator",
#------------------
#------------------
    "image-format",
#------------------
#------------------
    "image-format:image-format-llcpp",
#------------------
#------------------
#------------------
#------------------
#------------------
#------------------
    "inspect",
#------------------
#------------------
    "inspector",
#------------------
#------------------
    "kcounter",
#------------------
#------------------
#------------------
#------------------
    "kernel-mexec",
#------------------
#------------------
    "keysafe",
#------------------
#------------------
    "kms-stateless",
#------------------
#------------------
#------------------
#------------------
    "lazy_init",
#------------------
#------------------
    "ldmsg",
#------------------
#------------------
    "libabr",
#------------------
#------------------
    "libzbi",
#------------------
#------------------
#------------------
#------------------
    "lockdep",
#------------------
#------------------
    "log",
#------------------
#------------------
#------------------
#------------------
#------------------
#------------------
    "logger",
#------------------
#------------------
    "mbr",
#------------------
#------------------
    "memfs",
#------------------
#------------------
    "memfs:memfs-cpp",
#------------------
#------------------
    "minfs",
#------------------
#------------------
    "mini-process",
#------------------
#------------------
#------------------
#------------------
    "mock-boot-arguments",
#------------------
#------------------
    "mock-function",
#------------------
#------------------
    "mtd",
#------------------
#------------------
#------------------
#------------------
    "perftest",
#------------------
#------------------
    "pretty",
#------------------
#------------------
    "profile",
#------------------
#------------------
    "ram-crashlog",
#------------------
#------------------
    "ramdevice-client",
#------------------
#------------------
    "ramdevice-client:ramdevice-client-static",
#------------------
#------------------
    "range",
#------------------
#------------------
#------------------
#------------------
    "region-alloc",
#------------------
#------------------
#------------------
#------------------
#------------------
#------------------
    "runtime",
#------------------
#------------------
#------------------
#------------------
#------------------
#------------------
    "smbios",
#------------------
#------------------
#------------------
#------------------
#------------------
#------------------
    "storage-metrics",
#------------------
#------------------
    "storage/buffer",
#------------------
#------------------
    "storage/buffer/test_support",
#------------------
#------------------
    "storage/operation",
#------------------
#------------------
    "svc",
#------------------
#------------------
    "sync",
#------------------
#------------------
    "syscalls-headers",
#------------------
#------------------
    "sysconfig-client",
#------------------
#------------------
    "syslog",
#------------------
#------------------
    "syslog:syslog-static",
#------------------
#------------------
    "sysmem-connector",
#------------------
#------------------
    "task-utils",
#------------------
#------------------
    "tee-client-api",
#------------------
#------------------
    "tee-client-api:tee-client-api-headers",
#------------------
#------------------
    "tee-client-api:tee-client-api-static",
#------------------
#------------------
    "test-exceptions",
#------------------
#------------------
    "test-utils",
#------------------
#------------------
    "tftp",
#------------------
#------------------
#------------------
#------------------
    "trace",
#------------------
#------------------
    "trace:trace-driver",
#------------------
#------------------
    "trace:trace-with-static-engine",
#------------------
#------------------
    "trace-engine",
#------------------
#------------------
    "trace-engine:trace-engine-driver",
#------------------
#------------------
    "trace-engine:trace-engine-headers-for-reader",
#------------------
#------------------
    "trace-engine:trace-engine-static",
#------------------
#------------------
    "trace-provider",
#------------------
#------------------
    "trace-provider:trace-handler",
#------------------
#------------------
    "trace-provider:trace-provider-driver",
#------------------
#------------------
    "trace-provider:trace-provider-fdio-connect",
#------------------
#------------------
    "trace-provider:trace-provider-so",
#------------------
#------------------
    "trace-provider:trace-provider-with-fdio",
#------------------
#------------------
    "trace-provider:trace-provider-with-static-engine",
#------------------
#------------------
    "trace-reader",
#------------------
#------------------
#------------------
#------------------
    "trace-vthread",
#------------------
#------------------
    "trace-vthread:trace-vthread-with-static-engine",
#------------------
#------------------
    "unittest",
#------------------
#------------------
    "usb-peripheral-utils",
#------------------
#------------------
#------------------
#------------------
    "utf_conversion",
#------------------
#------------------
    "vdso-code-header",
#------------------
#------------------
    "virtio",
#------------------
#------------------
    "xdc-host-utils",
#------------------
#------------------
    "xdc-server-utils",
#------------------
#------------------
    "zbi-bootfs",
#------------------
#------------------
    "zircon",
#------------------
#------------------
    "zircon:zircon-headers",
#------------------
#------------------
    "zircon-crypto",
#------------------
#------------------
    "zircon-crypto:zircon-crypto-static",
#------------------
#------------------
    "zircon-internal",
#------------------
#------------------
    "zx",
#------------------
#------------------
    "zx-panic-libc",
#------------------
#------------------
    "zxc",
#------------------
#------------------
    "zxcrypt:zxcrypt-dev",
#------------------
#------------------
    "zxcrypt:zxcrypt-fdio",
#------------------
#------------------
    "zxio",
#------------------
#------------------
    "zxtest",
#------------------
  ]
}

group("ulib-host") {
  testonly = true
  deps = [
#------------------
    "$zx/third_party/ulib/cksum",
#------------------
#------------------
    "$zx/third_party/ulib/lz4",
#------------------
#------------------
    "$zx/third_party/ulib/safemath",
#------------------
#------------------
    "$zx/third_party/ulib/uboringssl",
#------------------
#------------------
    "$zx/third_party/ulib/zstd",
#------------------
#------------------
    "$zx/third_party/ulib/zstd:zstdseek",
#------------------
#------------------
    "backtrace-request",
#------------------
#------------------
    "bitmap",
#------------------
#------------------
    "blobfs",
#------------------
#------------------
    "cmdline",
#------------------
#------------------
    "digest",
#------------------
#------------------
    "disk_inspector",
#------------------
#------------------
    "fbl",
#------------------
#------------------
    "fdio",
#------------------
#------------------
    "ffl",
#------------------
#------------------
    "fidl:fidl_base",
#------------------
#------------------
    "fit",
#------------------
#------------------
    "fs",
#------------------
#------------------
    "fs/journal",
#------------------
#------------------
    "fs/transaction",
#------------------
#------------------
    "fs-host",
#------------------
#------------------
    "fs-management",
#------------------
#------------------
#------------------
#------------------
#------------------
#------------------
    "fvm",
#------------------
#------------------
#------------------
#------------------
    "fvm",
#------------------
#------------------
    "gpt",
#------------------
#------------------
    "id_allocator",
#------------------
#------------------
    "libzbi",
#------------------
#------------------
    "log",
#------------------
#------------------
    "minfs",
#------------------
#------------------
    "pretty",
#------------------
#------------------
    "range",
#------------------
#------------------
    "storage/buffer",
#------------------
#------------------
    "storage/operation",
#------------------
#------------------
    "trace-engine:trace-engine-headers-for-reader",
#------------------
#------------------
    "trace-reader",
#------------------
#------------------
    "unittest:unittest-static",
#------------------
#------------------
    "zircon:zircon-headers",
#------------------
#------------------
    "zircon-internal",
#------------------
#------------------
    "zx-panic-libc",
#------------------
#------------------
    "zxc",
#------------------
#------------------
    "zxtest",
#------------------
  ]
  if (current_os == "linux") {
    deps += [
#------------------
      "$zx/third_party/ulib/usbhost:usbhost-static",
#------------------
#------------------
      "mtd",
#------------------
#------------------
      "nand-redundant-storage",
#------------------
#------------------
      "unittest:unittest-static",
#------------------
    ]
  }
}
