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

zx_library("bitmap") {
  sdk = "source"
  sdk_headers = [
    "bitmap/bitmap.h",
    "bitmap/raw-bitmap.h",
    "bitmap/rle-bitmap.h",
    "bitmap/storage.h",
  ]
  sdk_migrated = true
  kernel = true
  host = true
  static = true
  sources = [ "raw-bitmap.cc" ]
  public_deps = [ "//zircon/system/ulib/fbl:headers" ]
  if (!is_kernel && !is_host) {
    public_deps += [
      # <bitmap/storage.h> has #include <lib/zx/vmo.h>.
      "//zircon/system/ulib/zx:headers",
    ]
    deps = [
      "//src/zircon/lib/zircon",
      "//zircon/system/ulib/fbl",
      "//zircon/system/ulib/zx",
    ]
  }
}

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