| # 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" ] |
| } |