1060ff233Sopenharmony_ci#
2060ff233Sopenharmony_ci# Copyright (c) 2021 Huawei Device Co., Ltd.
3060ff233Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
4060ff233Sopenharmony_ci# you may not use this file except in compliance with the License.
5060ff233Sopenharmony_ci# You may obtain a copy of the License at
6060ff233Sopenharmony_ci#
7060ff233Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
8060ff233Sopenharmony_ci#
9060ff233Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
10060ff233Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
11060ff233Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12060ff233Sopenharmony_ci# See the License for the specific language governing permissions and
13060ff233Sopenharmony_ci# limitations under the License.
14060ff233Sopenharmony_ci#
15060ff233Sopenharmony_ci
16060ff233Sopenharmony_ciimport("//build/ohos.gni")
17060ff233Sopenharmony_cilibrary = "//third_party/mbedtls/library"
18060ff233Sopenharmony_ci
19060ff233Sopenharmony_cimbedtls_sources = []
20060ff233Sopenharmony_cimbedtls_sources += [
21060ff233Sopenharmony_ci  "$library/aes.c",
22060ff233Sopenharmony_ci  "$library/aesni.c",
23060ff233Sopenharmony_ci  "$library/arc4.c",
24060ff233Sopenharmony_ci  "$library/aria.c",
25060ff233Sopenharmony_ci  "$library/asn1parse.c",
26060ff233Sopenharmony_ci  "$library/asn1write.c",
27060ff233Sopenharmony_ci  "$library/base64.c",
28060ff233Sopenharmony_ci  "$library/bignum.c",
29060ff233Sopenharmony_ci  "$library/blowfish.c",
30060ff233Sopenharmony_ci  "$library/camellia.c",
31060ff233Sopenharmony_ci  "$library/ccm.c",
32060ff233Sopenharmony_ci  "$library/chacha20.c",
33060ff233Sopenharmony_ci  "$library/chachapoly.c",
34060ff233Sopenharmony_ci  "$library/cipher.c",
35060ff233Sopenharmony_ci  "$library/cipher_wrap.c",
36060ff233Sopenharmony_ci  "$library/cmac.c",
37060ff233Sopenharmony_ci  "$library/ctr_drbg.c",
38060ff233Sopenharmony_ci  "$library/des.c",
39060ff233Sopenharmony_ci  "$library/dhm.c",
40060ff233Sopenharmony_ci  "$library/ecdh.c",
41060ff233Sopenharmony_ci  "$library/ecdsa.c",
42060ff233Sopenharmony_ci  "$library/ecjpake.c",
43060ff233Sopenharmony_ci  "$library/ecp.c",
44060ff233Sopenharmony_ci  "$library/ecp_curves.c",
45060ff233Sopenharmony_ci  "$library/entropy.c",
46060ff233Sopenharmony_ci  "$library/entropy_poll.c",
47060ff233Sopenharmony_ci  "$library/error.c",
48060ff233Sopenharmony_ci  "$library/gcm.c",
49060ff233Sopenharmony_ci  "$library/havege.c",
50060ff233Sopenharmony_ci  "$library/hkdf.c",
51060ff233Sopenharmony_ci  "$library/hmac_drbg.c",
52060ff233Sopenharmony_ci  "$library/md.c",
53060ff233Sopenharmony_ci  "$library/md2.c",
54060ff233Sopenharmony_ci  "$library/md4.c",
55060ff233Sopenharmony_ci  "$library/md5.c",
56060ff233Sopenharmony_ci  "$library/md_wrap.c",
57060ff233Sopenharmony_ci  "$library/memory_buffer_alloc.c",
58060ff233Sopenharmony_ci  "$library/net_sockets.c",
59060ff233Sopenharmony_ci  "$library/nist_kw.c",
60060ff233Sopenharmony_ci  "$library/oid.c",
61060ff233Sopenharmony_ci  "$library/padlock.c",
62060ff233Sopenharmony_ci  "$library/pem.c",
63060ff233Sopenharmony_ci  "$library/pk.c",
64060ff233Sopenharmony_ci  "$library/pk_wrap.c",
65060ff233Sopenharmony_ci  "$library/pkcs12.c",
66060ff233Sopenharmony_ci  "$library/pkcs5.c",
67060ff233Sopenharmony_ci  "$library/pkparse.c",
68060ff233Sopenharmony_ci  "$library/pkwrite.c",
69060ff233Sopenharmony_ci  "$library/platform.c",
70060ff233Sopenharmony_ci  "$library/platform_util.c",
71060ff233Sopenharmony_ci  "$library/poly1305.c",
72060ff233Sopenharmony_ci  "$library/ripemd160.c",
73060ff233Sopenharmony_ci  "$library/rsa.c",
74060ff233Sopenharmony_ci  "$library/rsa_internal.c",
75060ff233Sopenharmony_ci  "$library/sha1.c",
76060ff233Sopenharmony_ci  "$library/sha256.c",
77060ff233Sopenharmony_ci  "$library/sha512.c",
78060ff233Sopenharmony_ci  "$library/ssl_ciphersuites.c",
79060ff233Sopenharmony_ci  "$library/ssl_cli.c",
80060ff233Sopenharmony_ci  "$library/ssl_tls.c",
81060ff233Sopenharmony_ci  "$library/threading.c",
82060ff233Sopenharmony_ci  "$library/timing.c",
83060ff233Sopenharmony_ci  "$library/version.c",
84060ff233Sopenharmony_ci  "$library/version_features.c",
85060ff233Sopenharmony_ci  "$library/x509.c",
86060ff233Sopenharmony_ci  "$library/x509_crl.c",
87060ff233Sopenharmony_ci  "$library/x509_crt.c",
88060ff233Sopenharmony_ci  "$library/xtea.c",
89060ff233Sopenharmony_ci]
90060ff233Sopenharmony_ci
91060ff233Sopenharmony_ciconfig("mbedtls_config") {
92060ff233Sopenharmony_ci  include_dirs = [ "//third_party/mbedtls/include" ]
93060ff233Sopenharmony_ci}
94060ff233Sopenharmony_ci
95060ff233Sopenharmony_ciohos_shared_library("mbedtls_shared") {
96060ff233Sopenharmony_ci  sanitize = {
97060ff233Sopenharmony_ci    ubsan = true
98060ff233Sopenharmony_ci    integer_overflow = true
99060ff233Sopenharmony_ci    boundary_sanitize = true
100060ff233Sopenharmony_ci    cfi = true
101060ff233Sopenharmony_ci    cfi_cross_dso = true
102060ff233Sopenharmony_ci    debug = false
103060ff233Sopenharmony_ci  }
104060ff233Sopenharmony_ci  branch_protector_ret = "pac_ret"
105060ff233Sopenharmony_ci
106060ff233Sopenharmony_ci  sources = mbedtls_sources
107060ff233Sopenharmony_ci  output_name = "mbedtls"
108060ff233Sopenharmony_ci  public_configs = [ ":mbedtls_config" ]
109060ff233Sopenharmony_ci
110060ff233Sopenharmony_ci  part_name = "dsoftbus"
111060ff233Sopenharmony_ci  subsystem_name = "communication"
112060ff233Sopenharmony_ci}
113060ff233Sopenharmony_ci
114060ff233Sopenharmony_cistatic_library("mbedtls_static") {
115060ff233Sopenharmony_ci  sources = mbedtls_sources
116060ff233Sopenharmony_ci  output_name = "mbedtls"
117060ff233Sopenharmony_ci  public_configs = [ ":mbedtls_config" ]
118060ff233Sopenharmony_ci}
119060ff233Sopenharmony_ci
120060ff233Sopenharmony_cigroup("mbedtls") {
121060ff233Sopenharmony_ci  deps = [ ":mbedtls_shared" ]
122060ff233Sopenharmony_ci}
123