blob: 1945fc6063156cf3de5057aa8c6d709a20dadf40 [file] [log] [blame]
# Copyright 2017 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/fidl/args.gni")
declare_args() {
# Selects the SoftMAC client implementation to use. Choices:
# false (default) - C++ Client MLME implementation
# true - Rust Client MLME implementation
# This argument is temporary until Rust MLME is ready to be used.
experimental_wlan_client_mlme = false
}
config("wlan_mlme_config") {
include_dirs = [ "include" ]
}
source_set("mlme") {
if (experimental_wlan_client_mlme == true) {
defines = [ "USE_RUST_CLIENT_MLME" ]
}
public = [
"include/wlan/mlme/ap/ap_mlme.h",
"include/wlan/mlme/ap/tim.h",
"include/wlan/mlme/client/client_mlme.h",
"include/wlan/mlme/convert.h",
"include/wlan/mlme/debug.h",
"include/wlan/mlme/device_caps.h",
"include/wlan/mlme/device_interface.h",
"include/wlan/mlme/dispatcher.h",
"include/wlan/mlme/eapol.h",
"include/wlan/mlme/frame_validation.h",
"include/wlan/mlme/mac_frame.h",
"include/wlan/mlme/macaddr_map.h",
"include/wlan/mlme/mesh/mesh_mlme.h",
"include/wlan/mlme/mlme.h",
"include/wlan/mlme/packet.h",
"include/wlan/mlme/parse_beacon.h",
"include/wlan/mlme/rust_utils.h",
"include/wlan/mlme/service.h",
"include/wlan/mlme/timer.h",
"include/wlan/mlme/timer_manager.h",
"include/wlan/mlme/wlan.h",
]
sources = [
"ap/ap_mlme.cc",
"ap/tim.cc",
"beacon.cc",
"client/client_mlme.cc",
"convert.cc",
"debug.cc",
"device_caps.cc",
"device_interface.cc",
"dispatcher.cc",
"ht.cc",
"key.cc",
"mac_frame.cc",
"mac_header_writer.cc",
"mesh/deduplicator.cc",
"mesh/hwmp.cc",
"mesh/mesh_mlme.cc",
"mesh/parse_mp_action.cc",
"mesh/path_table.cc",
"mesh/write_mp_action.cc",
"packet.cc",
"parse_beacon.cc",
"rate_limiter.cc",
"rates_elements.cc",
"rust_utils.cc",
"service.cc",
"timer.cc",
"validate_frame.cc",
]
public_deps = [
"//garnet/lib/wlan/protocol",
"//sdk/banjo/ddk.hw.wlan.ieee80211",
"//sdk/banjo/ddk.hw.wlan.wlaninfo",
"//sdk/fidl/fuchsia.wlan.mlme",
"//sdk/fidl/fuchsia.wlan.stats",
"//sdk/lib/fdio",
"//src/connectivity/wlan/lib/common/cpp:common",
"//src/connectivity/wlan/lib/mlme/rust/c-binding:wlan-mlme-c",
"//src/devices/lib/dev-operation",
"//src/lib/timekeeper",
"//src/lib/timekeeper:system",
"//zircon/public/lib/bitmap",
"//zircon/public/lib/fbl",
"//zircon/public/lib/zx",
]
if (fidl_trace_level != 0) {
public_deps += [
"//src/lib/trace/rust:trace-provider",
"//zircon/system/ulib/trace-engine",
]
}
public_configs = [ ":wlan_mlme_config" ]
configs += [ "//build/config/fuchsia:enable_zircon_asserts" ]
# TODO(fxb/58162): delete the below and fix compiler warnings
configs += [ "//build/config:Wno-conversion" ]
}