# 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/unification/zx_library.gni")

group("tests") {
  testonly = true
  deps = [ "test:tests" ]
}

zx_library("stdcompat") {
  host = true
  static = true
  kernel = true

  sdk = "source"
  sdk_publishable = true
  sdk_migrated = true

  sdk_headers = [
    "lib/stdcompat/bit.h",
    "lib/stdcompat/cstddef.h",
    "lib/stdcompat/functional.h",
    "lib/stdcompat/iterator.h",
    "lib/stdcompat/memory.h",
    "lib/stdcompat/optional.h",
    "lib/stdcompat/source_location.h",
    "lib/stdcompat/span.h",
    "lib/stdcompat/string_view.h",
    "lib/stdcompat/tuple.h",
    "lib/stdcompat/type_traits.h",
    "lib/stdcompat/utility.h",
    "lib/stdcompat/variant.h",
    "lib/stdcompat/version.h",

    # Due to a bug in the SDK bazel generation, private headers in sources are
    # not propagated correctly until this is fixed, internal healders are un the public
    # section.
    "lib/stdcompat/internal/bit.h",
    "lib/stdcompat/internal/constructors.h",
    "lib/stdcompat/internal/functional.h",
    "lib/stdcompat/internal/exception.h",
    "lib/stdcompat/internal/span.h",
    "lib/stdcompat/internal/storage.h",
    "lib/stdcompat/internal/tuple.h",
    "lib/stdcompat/internal/type_traits.h",
    "lib/stdcompat/internal/utility.h",
  ]

  friend = [ "test:*" ]
}
