# 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("$zx_build/public/gn/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 = [ "$zx_build_config: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 += [ "$zx_build_config:Wno-conversion" ]
}
