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

base_package_labels -= [
  "//src/connectivity/network/netcfg",
  "//src/connectivity/network/netcfg:config",
  "//src/connectivity/network/netcfg:filter_config",
]

base_package_labels += [
  "//garnet/packages/config:router",
  "//garnet/packages/prod:chrealm",
  "//garnet/packages/prod:cmdutils",
  "//garnet/packages/prod:cpuperf",
  "//garnet/packages/prod:debug_agent",
  "//garnet/packages/prod:insntrace",
  "//garnet/packages/prod:iquery",
  "//garnet/packages/prod:memory_monitor",
  "//garnet/packages/prod:network-speed-test",
  "//garnet/packages/prod:run",
  "//garnet/packages/prod:sbase",
  "//third_party/openssh-portable:openssh-tools",
  "//garnet/packages/prod:telephony",
  "//garnet/packages/prod:terminal",
  "//garnet/packages/prod:test_runner",
  "//garnet/packages/prod:tracing",
  "//garnet/packages/prod:vboot_reference",
  "//garnet/packages/prod:vim",
  "//garnet/packages/prod:wlanif",
  "//garnet/packages/prod:wlanphy",
  "//src/connectivity/management/network_manager",
  "//src/connectivity/management/network_manager:network_manager_sysmgr_config",
  "//src/connectivity/management/network_manager:router_config",
  "//src/connectivity/management/network_manager_cli",
  "//src/connectivity/network/dhcp:dhcpd",
  "//src/connectivity/network/mdns/bundles:utils",
  "//src/connectivity/network/net-cli",
  "//src/connectivity/network/netstack3",
  "//src/connectivity/network/netstack:tools",
  "//src/connectivity/wlan:packages",
  "//src/connectivity/wlan:tests",
  "//src/connectivity/wlan:tools",
  "//src/connectivity/wlan/config:default",
  "//third_party/boringssl:boringssl_tool",
]

wlancfg_config_type = "ap"
