# Copyright 2018 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("//products/bringup.gni")

bootfs_only = false

zircon_enable_kernel_debugging_features = false
zircon_enable_netsvc_debugging_features = false

meta_package_labels += [
  "//build/images:shell-commands",
  "//src/sys/component_index:component_index",
]

base_package_labels += [
  "//build/info:build-info",
  "//garnet/packages/config:kernel_crash_checker",
  "//garnet/packages/prod:crashpad_agent",
  "//garnet/packages/prod:feedback_agent",
  "//garnet/packages/prod:kernel_crash_checker",
  "//garnet/packages/products:base",
  "//src/connectivity/network/mdns/bundles:config",
  "//src/connectivity/network/mdns/bundles:services",
  "//src/connectivity/wlan:service",
  "//src/developer/bugreport",
  "//src/recovery/factory_reset",
  "//src/sys/netclock:netclock",
]

cache_package_labels += []

universe_package_labels += [ "//bundles:tools" ]
