# 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.

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