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

##########################################
# Though under //zircon, this build file #
# is meant to be used in the Fuchsia GN  #
# build.                                 #
# See fxbug.dev/36548.                   #
##########################################

assert(!defined(zx) || zx != "/",
       "This file can only be used in the Fuchsia GN build.")

import("//build/unification/zx_library.gni")

zx_library("devmgr-launcher") {
  sdk = "shared"
  sdk_headers = [
    "lib/devmgr-launcher/launch.h",
    "lib/devmgr-launcher/processargs.h",
  ]
  shared = true
  sources = [ "launcher.cc" ]
  public_deps = [ "//zircon/public/lib/fit" ]
  deps = [
    "//sdk/lib/fdio",
    "//sdk/lib/fdio:fdio-spawn-actions",
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/fit",
    "//zircon/public/lib/zx",
  ]
  configs += [ "//build/config/fuchsia:static_cpp_standard_library" ]
}
