blob: 46cdaee24e34c865763515276f2fb5610a04c03c [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.
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/beacon_sender.h",
"include/wlan/mlme/ap/infra_bss.h",
"include/wlan/mlme/ap/remote_client.h",
"include/wlan/mlme/ap/remote_client_interface.h",
"include/wlan/mlme/ap/tim.h",
"include/wlan/mlme/assoc_context.h",
"include/wlan/mlme/client/bss.h",
"include/wlan/mlme/client/channel_scheduler.h",
"include/wlan/mlme/client/client_factory.h",
"include/wlan/mlme/client/client_mlme.h",
"include/wlan/mlme/client/join_context.h",
"include/wlan/mlme/client/scanner.h",
"include/wlan/mlme/client/station.h",
"include/wlan/mlme/convert.h",
"include/wlan/mlme/debug.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/mcs.h",
"include/wlan/mlme/mesh/mesh_mlme.h",
"include/wlan/mlme/mlme.h",
"include/wlan/mlme/packet.h",
"include/wlan/mlme/sequence.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.cpp",
"ap/beacon_sender.cpp",
"ap/infra_bss.cpp",
"ap/remote_client.cpp",
"ap/tim.cpp",
"assoc_context.cpp",
"beacon.cpp",
"client/bss.cpp",
"client/channel_scheduler.cpp",
"client/client_factory.cpp",
"client/client_mlme.cpp",
"client/join_context.cpp",
"client/scanner.cpp",
"client/station.cpp",
"convert.cpp",
"debug.cpp",
"device_caps.cpp",
"device_interface.cpp",
"dispatcher.cpp",
"ht.cpp",
"key.cpp",
"mac_frame.cpp",
"mac_header_writer.cpp",
"mcs.cpp",
"mesh/deduplicator.cpp",
"mesh/hwmp.cpp",
"mesh/mesh_mlme.cpp",
"mesh/parse_mp_action.cpp",
"mesh/path_table.cpp",
"mesh/write_mp_action.cpp",
"packet.cpp",
"parse_beacon.cpp",
"rates_elements.cpp",
"service.cpp",
"timer.cpp",
"validate_frame.cpp",
]
public_deps = [
"//garnet/lib/rust/wlan-mlme-c",
"//garnet/lib/wlan/common",
"//garnet/lib/wlan/protocol",
"//garnet/public/fidl/fuchsia.wlan.mlme",
"//garnet/public/fidl/fuchsia.wlan.stats",
"//garnet/public/lib/svc/cpp",
"//garnet/public/lib/timekeeper",
"//garnet/public/lib/timekeeper:system",
"//zircon/public/lib/bitmap",
"//zircon/public/lib/fbl",
"//zircon/public/lib/zx",
]
public_configs = [ ":wlan_mlme_config" ]
configs += [ "//build/config/fuchsia:enable_zircon_asserts" ]
}