# Copyright 2020 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/zircon/migrated_targets.gni")

source_set("fitx") {
  sources = [
    "include/lib/fitx/internal/compiler.h",
    "include/lib/fitx/internal/result.h",
    "include/lib/fitx/internal/type_traits.h",
    "include/lib/fitx/result.h",
  ]

  # TODO(fxb/58162): delete the below and fix compiler warnings
  public_configs = [ "//build/config/zircon:Wno-conversion" ]
}

source_set("zx") {
  sources = [ "include/lib/zx/status.h" ]
  public_deps = [ ":fitx" ]
}

zx_library("zxc") {
  sdk = "source"
  sdk_headers = [
    "lib/fitx/internal/compiler.h",
    "lib/fitx/internal/result.h",
    "lib/fitx/internal/type_traits.h",
    "lib/fitx/result.h",
    "lib/zx/status.h",
  ]
  sdk_migrated = true
  sources = []
  public_deps = [
    ":fitx",
    ":zx",
  ]
  host = true
  kernel = true
  static = true

  # TODO(fxb/58162): delete the below and fix compiler warnings
  configs += [ "//build/config/zircon:Wno-conversion" ]
}
