# Copyright (c) 2013-2019 Huawei Technologies Co., Ltd. All rights reserved.
# Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification,
# are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this list of
#    conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
#    of conditions and the following disclaimer in the documentation and/or other materials
#    provided with the distribution.
#
# 3. Neither the name of the copyright holder nor the names of its contributors may be used
#    to endorse or promote products derived from this software without specific prior written
#    permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

import("//kernel/liteos_a/liteos.gni")

module_switch = defined(LOSCFG_DRIVERS_TZDRIVER)
module_name = get_path_info(rebase_path("."), "name")
kernel_module(module_name) {
  sources = [
    "$LITEOSTHIRDPARTY/mbedtls/library/aes.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/aesni.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/arc4.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/aria.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/asn1parse.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/asn1write.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/base64.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/bignum.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/blowfish.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/camellia.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/ccm.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/certs.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/chacha20.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/chachapoly.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/cipher.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/cipher_wrap.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/cmac.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/ctr_drbg.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/debug.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/des.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/dhm.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/ecdh.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/ecdsa.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/ecjpake.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/ecp.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/ecp_curves.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/entropy.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/entropy_poll.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/error.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/gcm.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/havege.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/hkdf.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/hmac_drbg.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/md.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/md2.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/md4.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/md5.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/md_wrap.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/memory_buffer_alloc.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/net_sockets.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/nist_kw.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/oid.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/padlock.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/pem.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/pk.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/pk_wrap.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/pkcs11.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/pkcs12.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/pkcs5.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/pkparse.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/pkwrite.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/platform.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/platform_util.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/poly1305.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/ripemd160.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/rsa.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/rsa_internal.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/sha1.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/sha256.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/sha512.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/ssl_cache.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/ssl_ciphersuites.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/ssl_cli.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/ssl_cookie.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/ssl_srv.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/ssl_ticket.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/ssl_tls.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/threading.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/timing.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/version.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/version_features.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/x509.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/x509_create.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/x509_crl.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/x509_crt.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/x509_csr.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/x509write_crt.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/x509write_csr.c",
    "$LITEOSTHIRDPARTY/mbedtls/library/xtea.c",
  ]

  public_configs = [ ":public" ]
}

config("public") {
  include_dirs = [ "$LITEOSTHIRDPARTY/mbedtls/include" ]
}
