# 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")

zx_library("launchpad") {
  sdk = "shared"
  sdk_headers = [
    "launchpad/vmo.h",
    "launchpad/launchpad.h",
  ]
  shared = true
  sources = [
    "elf.c",
    "fdio.c",
    "launchpad.c",
    "vmo.cc",
  ]
  configs += [ "//build/config:all_source" ]
  deps = [
    "//sdk/fidl/fuchsia.io:fuchsia.io_llcpp",
    "//sdk/lib/fdio",
    "//zircon/public/lib/fidl",
    "//zircon/public/lib/zircon-internal",
    "//zircon/system/ulib/elf-psabi",
    "//zircon/system/ulib/elfload",
    "//zircon/system/ulib/ldmsg",
  ]
  visibility = [
    # Do not add anymore targets to this list.
    # Instead of launchpad, use fdio_spawn or fuchsia.process.Launcher.
    ":*",
    "test:*",
    "//src/bringup/bin/bootsvc:*",
  ]

  # TODO(fxb/58162): delete the below and fix compiler warnings
  configs += [ "//build/config:Wno-conversion" ]
}
