//
// Copyright (C) 2021 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package {
    default_applicable_licenses: ["external_wpa_supplicant_8_license"],
}

// See: http://go/android-license-faq
license {
    name: "external_wpa_supplicant_8_license",
    visibility: ["//visibility:public"],
    license_kinds: [
        "SPDX-license-identifier-BSD-3-Clause",
    ],
    license_text: ["LICENSE"],
}

cc_library_headers {
    name: "libnetlink_iface_headers",
    vendor_available: true,
    export_include_dirs: [
        "src/drivers",
    ],
}

// Generated by building hs20-osu-client and printing LOCAL_SRC_FILES
filegroup {
    name: "hs20-osu-client_srcs",
    srcs: [
        "hs20/client/spp_client.c",
        "hs20/client/oma_dm_client.c",
        "hs20/client/osu_client.c",
        "hs20/client/est.c",
        "src/common/wpa_ctrl.c",
        "src/common/wpa_helpers.c",
        "src/crypto/crypto_internal.c",
        "src/crypto/md5-internal.c",
        "src/crypto/sha1-internal.c",
        "src/crypto/sha256-internal.c",
        "src/crypto/tls_openssl_ocsp.c",
        "src/utils/base64.c",
        "src/utils/browser-android.c",
        "src/utils/common.c",
        "src/utils/eloop.c",
        "src/utils/http_curl.c",
        "src/utils/os_unix.c",
        "src/utils/wpa_debug.c",
        "src/utils/wpabuf.c",
        "src/utils/xml_libxml2.c",
        "src/utils/xml-utils.c",
        "src/wps/httpread.c",
        "src/wps/http_server.c",
    ],
}

filegroup {
    name: "wpa_supplicant_macsec_extra_driver_srcs",
    srcs: [
        "src/drivers/driver_macsec_linux.c",
        "src/drivers/driver_wired_common.c",
    ],
}

filegroup {
    name: "hs20_client_srcs",
    srcs: [
        "hs20/client/est.c",
        "hs20/client/oma_dm_client.c",
        "hs20/client/osu_client.c",
        "hs20/client/spp_client.c",
        "src/common/wpa_ctrl.c",
        "src/common/wpa_helpers.c",
        "src/crypto/crypto_internal.c",
        "src/crypto/md5-internal.c",
        "src/crypto/sha1-internal.c",
        "src/crypto/sha256-internal.c",
        "src/crypto/tls_openssl_ocsp.c",
        "src/utils/base64.c",
        "src/utils/browser-wpadebug.c",
        "src/utils/common.c",
        "src/utils/eloop.c",
        "src/utils/http_curl.c",
        "src/utils/os_unix.c",
        "src/utils/wpa_debug.c",
        "src/utils/wpabuf.c",
        "src/utils/xml-utils.c",
        "src/utils/xml_libxml2.c",
        "src/wps/http_server.c",
        "src/wps/httpread.c",
    ],
}
