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

# Common variables for our SDK and in-tree targets.
common_vars = {
  sdk = "source"
  sdk_headers = [
    "lib/abr/data.h",
    "lib/abr/ops.h",
    "lib/abr/sysdeps.h",
    "lib/abr/util.h",
    "lib/abr/abr.h",
  ]
  sources = [
    "flow.c",
    "util.c",
  ]
}

zx_library("abr") {
  forward_variables_from(common_vars, "*")
  sdk_publishable = true
}

# In-tree library.
# This is necessary because in-tree targets use //zircon/system/public
# as the sysroot dependency, which is not available to sdk_publishable
# targets.
zx_library("in_tree") {
  forward_variables_from(common_vars, "*")
  deps = [ "//zircon/system/public" ]
}
