# Copyright 2021 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.

load("@rules_license//rules:license.bzl", "license")

package(
    default_applicable_licenses = [":license_intel"],
    default_visibility = ["//visibility:public"],
)

license(
    name = "license_intel",
    package_name = "iwlwifi (Intel)",
    license_text = "LICENSE",
)

cc_library(
    name = "headers",
    srcs = [],
    hdrs = [
        "iwl-config.h",
        "iwl-csr.h",
        "iwl-dbg-tlv.h",
        "iwl-debug.h",
        "iwl-fh.h",
        "iwl-io.h",
        "iwl-modparams.h",
        "iwl-op-mode.h",
        "iwl-prph.h",
        "iwl-scd.h",
        "iwl-trans.h",
    ],
)

cc_library(
    name = "core",
    srcs = [
        "iwl-drv.c",
        "iwl-eeprom-parse.c",
        "iwl-io.c",
        "iwl-nvm-parse.c",
        "iwl-phy-db.c",
        "iwl-trans.c",
    ],
    hdrs = [
        "iwl-agn-hw.h",
        "iwl-constants.h",
        "iwl-context-info.h",
        "iwl-context-info-gen3.h",
        "iwl-drv.h",
        "iwl-eeprom-parse.h",
        "iwl-eeprom-read.h",
        "iwl-nvm-parse.h",
        "iwl-phy-db.h",
        "iwl-vendor-cmd.h",
    ],
    deps = [
        "//third_party/iwlwifi/fw:api",
        "//third_party/iwlwifi/platform",
        "//third_party/iwlwifi/queue",
    ],
)
