# Copyright 2021 The Pigweed Authors # # 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 # # https://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. import("//build_overrides/pigweed.gni") import("$dir_pw_build/target_types.gni") import("mbedtls.gni") if (dir_pw_third_party_mbedtls != "") { # The list currently includes all source files for build. mbedtls_sources = [ "library/aes.c", "library/aesni.c", "library/arc4.c", "library/aria.c", "library/asn1parse.c", "library/asn1write.c", "library/base64.c", "library/bignum.c", "library/blowfish.c", "library/camellia.c", "library/ccm.c", "library/certs.c", "library/chacha20.c", "library/chachapoly.c", "library/cipher.c", "library/cipher_wrap.c", "library/cmac.c", "library/ctr_drbg.c", "library/debug.c", "library/des.c", "library/dhm.c", "library/ecdh.c", "library/ecdsa.c", "library/ecjpake.c", "library/ecp.c", "library/ecp_curves.c", "library/entropy.c", "library/entropy_poll.c", "library/error.c", "library/gcm.c", "library/havege.c", "library/hkdf.c", "library/hmac_drbg.c", "library/md.c", "library/md2.c", "library/md4.c", "library/md5.c", "library/memory_buffer_alloc.c", "library/net_sockets.c", "library/nist_kw.c", "library/oid.c", "library/padlock.c", "library/pem.c", "library/pk.c", "library/pk_wrap.c", "library/pkcs11.c", "library/pkcs12.c", "library/pkcs5.c", "library/pkparse.c", "library/pkwrite.c", "library/platform.c", "library/platform_util.c", "library/poly1305.c", "library/psa_crypto.c", "library/psa_crypto_driver_wrappers.c", "library/psa_crypto_se.c", "library/psa_crypto_slot_management.c", "library/psa_crypto_storage.c", "library/psa_its_file.c", "library/ripemd160.c", "library/rsa.c", "library/rsa_internal.c", "library/sha1.c", "library/sha256.c", "library/sha512.c", "library/ssl_cache.c", "library/ssl_ciphersuites.c", "library/ssl_cli.c", "library/ssl_cookie.c", "library/ssl_msg.c", "library/ssl_srv.c", "library/ssl_ticket.c", "library/ssl_tls.c", "library/ssl_tls13_keys.c", "library/threading.c", "library/timing.c", "library/version.c", "library/version_features.c", "library/x509.c", "library/x509_create.c", "library/x509_crl.c", "library/x509_crt.c", "library/x509_csr.c", "library/x509write_crt.c", "library/x509write_csr.c", "library/xtea.c", ] config("mbedtls_config") { include_dirs = [ "$dir_pw_third_party_mbedtls", "$dir_pw_third_party_mbedtls/include", "$dir_pw_third_party/mbedtls", ] cflags = [ "-Wno-error=cast-qual", "-Wno-error=redundant-decls", "-w", ] config_header_file = rebase_path(pw_third_party_mbedtls_CONFIG_HEADER) defines = [ "MBEDTLS_CONFIG_FILE=\"$config_header_file\"" ] } pw_source_set("mbedtls") { sources = [] foreach(source, mbedtls_sources) { sources += [ "$dir_pw_third_party_mbedtls/" + source ] } public = [ "configs/config_default.h", "configs/config_pigweed_common.h", ] public_deps = [ "$dir_pw_tls_client:time" ] public_configs = [ ":mbedtls_config" ] } } else { group("mbedtls") { } }