set(COMPONENT_SRCS "port/os_xtensa.c"
                   "src/crypto/aes-cbc.c"
                   "src/crypto/aes-internal-dec.c"
                   "src/crypto/aes-internal-enc.c"
                   "src/crypto/aes-internal.c"
                   "src/crypto/aes-unwrap.c"
                   "src/crypto/aes-wrap.c"
                   "src/crypto/bignum.c"
                   "src/crypto/crypto_mbedtls.c"
                   "src/crypto/crypto_internal-cipher.c"
                   "src/crypto/crypto_internal-modexp.c"
                   "src/crypto/crypto_internal-rsa.c"
                   "src/crypto/crypto_internal.c"
                   "src/crypto/des-internal.c"
                   "src/crypto/dh_group5.c"
                   "src/crypto/dh_groups.c"
                   "src/crypto/md4-internal.c"
                   "src/crypto/md5-internal.c"
                   "src/crypto/md5.c"
                   "src/crypto/ms_funcs.c"
                   "src/crypto/rc4.c"
                   "src/crypto/sha1-internal.c"
                   "src/crypto/sha1-pbkdf2.c"
                   "src/crypto/sha1.c"
                   "src/crypto/sha256-internal.c"
                   "src/crypto/sha256.c"
                   "src/fast_crypto/fast_aes-cbc.c"
                   "src/fast_crypto/fast_aes-unwrap.c"
                   "src/fast_crypto/fast_aes-wrap.c"
                   "src/fast_crypto/fast_crypto_internal-cipher.c"
                   "src/fast_crypto/fast_crypto_internal-modexp.c"
                   "src/fast_crypto/fast_crypto_internal.c"
                   "src/fast_crypto/fast_sha256-internal.c"
                   "src/fast_crypto/fast_sha256.c"
                   "src/wpa2/eap_peer/chap.c"
                   "src/wpa2/eap_peer/eap.c"
                   "src/wpa2/eap_peer/eap_common.c"
                   "src/wpa2/eap_peer/eap_mschapv2.c"
                   "src/wpa2/eap_peer/eap_peap.c"
                   "src/wpa2/eap_peer/eap_peap_common.c"
                   "src/wpa2/eap_peer/eap_tls.c"
                   "src/wpa2/eap_peer/eap_tls_common.c"
                   "src/wpa2/eap_peer/eap_ttls.c"
                   "src/wpa2/eap_peer/mschapv2.c"
                   "src/wpa2/tls/asn1.c"
                   "src/wpa2/tls/bignum.c"
                   "src/wpa2/tls/pkcs1.c"
                   "src/wpa2/tls/pkcs5.c"
                   "src/wpa2/tls/pkcs8.c"
                   "src/wpa2/tls/rsa.c"
                   "src/wpa2/tls/tls_internal.c"
                   "src/wpa2/tls/tlsv1_client.c"
                   "src/wpa2/tls/tlsv1_client_read.c"
                   "src/wpa2/tls/tlsv1_client_write.c"
                   "src/wpa2/tls/tlsv1_common.c"
                   "src/wpa2/tls/tlsv1_cred.c"
                   "src/wpa2/tls/tlsv1_record.c"
                   "src/wpa2/tls/tlsv1_server.c"
                   "src/wpa2/tls/tlsv1_server_read.c"
                   "src/wpa2/tls/tlsv1_server_write.c"
                   "src/wpa2/tls/x509v3.c"
                   "src/wpa2/utils/base64.c"
                   "src/wpa2/utils/ext_password.c"
                   "src/wps/eap_common.c"
                   "src/wps/uuid.c"
                   "src/wps/wps.c"
                   "src/wps/wps_attr_build.c"
                   "src/wps/wps_attr_parse.c"
                   "src/wps/wps_attr_process.c"
                   "src/wps/wps_common.c"
                   "src/wps/wps_dev_attr.c"
                   "src/wps/wps_enrollee.c"
                   "src/wps/wps_registrar.c"
                   "src/wps/wps_validate.c")
set(COMPONENT_ADD_INCLUDEDIRS include port/include)

set(COMPONENT_REQUIRES "")
set(COMPONENT_PRIV_REQUIRES mbedtls)

register_component()

component_compile_options(-Wno-strict-aliasing)
component_compile_definitions(
    __ets__
    EMBEDDED_SUPP
    IEEE8021X_EAPOL
    EAP_PEER_METHOD
    EAP_MSCHAPv2
    EAP_TTLS
    EAP_TLS
    EAP_PEAP
    USE_WPA2_TASK
    CONFIG_WPS2
    CONFIG_WPS_PIN
    USE_WPS_TASK
    ESPRESSIF_USE
    ESP32_WORKAROUND
    CONFIG_ECC
    )
