• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2022 Huawei Technologies Co., Ltd.
2# Licensed under the Mulan PSL v2.
3# You can use this software according to the terms and conditions of the Mulan PSL v2.
4# You may obtain a copy of Mulan PSL v2 at:
5#     http://license.coscl.org.cn/MulanPSL2
6# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
7# IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
8# PURPOSE.
9# See the Mulan PSL v2 for more details.
10
11OPENSSL_CRYPTO_PATH := $(TEELIB)/libopenssl/openssl/crypto
12
13LOCAL_SRC_FILES := \
14	$(wildcard $(OPENSSL_CRYPTO_PATH)/aes/*.c) \
15	$(wildcard $(OPENSSL_CRYPTO_PATH)/asn1/*.c) \
16	$(wildcard $(OPENSSL_CRYPTO_PATH)/bn/*.c) \
17	$(wildcard $(OPENSSL_CRYPTO_PATH)/cmac/*.c) \
18	$(wildcard $(OPENSSL_CRYPTO_PATH)/ec/*.c) \
19	$(wildcard $(OPENSSL_CRYPTO_PATH)/evp/*.c) \
20	$(wildcard $(OPENSSL_CRYPTO_PATH)/hmac/*.c) \
21	$(wildcard $(OPENSSL_CRYPTO_PATH)/md5/*.c) \
22	$(wildcard $(OPENSSL_CRYPTO_PATH)/modes/*.c) \
23	$(wildcard $(OPENSSL_CRYPTO_PATH)/objects/*.c) \
24	$(wildcard $(OPENSSL_CRYPTO_PATH)/pem/*.c) \
25	$(wildcard $(OPENSSL_CRYPTO_PATH)/rsa/*.c) \
26	$(wildcard $(OPENSSL_CRYPTO_PATH)/sha/*.c) \
27	$(wildcard $(OPENSSL_CRYPTO_PATH)/x509/x509_set.c) \
28	$(wildcard $(OPENSSL_CRYPTO_PATH)/x509/t_x509.c) \
29	$(wildcard $(OPENSSL_CRYPTO_PATH)/x509/x_attrib.c) \
30	$(wildcard $(OPENSSL_CRYPTO_PATH)/x509/x_pubkey.c) \
31	$(wildcard $(OPENSSL_CRYPTO_PATH)/pkcs7/*.c) \
32	$(wildcard $(OPENSSL_CRYPTO_PATH)/pkcs12/*.c) \
33	$(wildcard $(OPENSSL_CRYPTO_PATH)/bio/*.c) \
34	$(wildcard $(OPENSSL_CRYPTO_PATH)/stack/*.c) \
35	$(wildcard $(OPENSSL_CRYPTO_PATH)/buffer/*.c) \
36	$(wildcard $(OPENSSL_CRYPTO_PATH)/lhash/lhash.c) \
37	$(wildcard $(OPENSSL_CRYPTO_PATH)/conf/*.c)  \
38	$(wildcard $(OPENSSL_CRYPTO_PATH)/kdf/*.c) \
39	$(wildcard $(TEELIB)/libopenssl/src/openssl_stub.c)
40
41LOCAL_SRC_FILES += \
42	$(wildcard $(OPENSSL_CRYPTO_PATH)/des/*.c)
43
44LOCAL_SRC_FILES += \
45	$(wildcard $(OPENSSL_CRYPTO_PATH)/x509/*.c) \
46	$(wildcard $(OPENSSL_CRYPTO_PATH)/x509v3/*.c)
47LOCAL_SRC_FILES += \
48	$(wildcard $(OPENSSL_CRYPTO_PATH)/siphash/*.c)
49
50LOCAL_SRC_FILES += \
51	$(wildcard $(OPENSSL_CRYPTO_PATH)/sm2/*.c) \
52	$(wildcard $(OPENSSL_CRYPTO_PATH)/sm3/*.c) \
53	$(wildcard $(OPENSSL_CRYPTO_PATH)/sm4/*.c)
54
55LOCAL_SRC_FILES += \
56	$(OPENSSL_CRYPTO_PATH)/cryptlib.c \
57	$(OPENSSL_CRYPTO_PATH)/mem.c \
58	$(OPENSSL_CRYPTO_PATH)/mem_sec.c \
59	$(OPENSSL_CRYPTO_PATH)/mem_dbg.c \
60	$(OPENSSL_CRYPTO_PATH)/ex_data.c \
61
62LOCAL_SRC_FILES := $(filter-out $(OPENSSL_CRYPTO_PATH)/ec/ecp_nistz256_table.c \
63	$(OPENSSL_CRYPTO_PATH)/aes/aes_ige.c \
64	$(OPENSSL_CRYPTO_PATH)/aes/aes_x86core.c \
65	$(OPENSSL_CRYPTO_PATH)/x509/x509_def.c \
66	$(OPENSSL_CRYPTO_PATH)/evp/e_camellia.c \
67	$(OPENSSL_CRYPTO_PATH)/evp/e_bf.c \
68	$(OPENSSL_CRYPTO_PATH)/evp/e_cast.c \
69	$(OPENSSL_CRYPTO_PATH)/evp/e_chacha20_poly1305.c \
70	$(OPENSSL_CRYPTO_PATH)/evp/e_idea.c \
71	$(OPENSSL_CRYPTO_PATH)/evp/e_rc2.c \
72	$(OPENSSL_CRYPTO_PATH)/evp/e_rc4.c \
73	$(OPENSSL_CRYPTO_PATH)/evp/e_rc4_hmac_md5.c \
74	$(OPENSSL_CRYPTO_PATH)/evp/m_md4.c \
75	$(OPENSSL_CRYPTO_PATH)/evp/m_mdc2.c \
76	$(OPENSSL_CRYPTO_PATH)/evp/m_ripemd.c \
77	$(OPENSSL_CRYPTO_PATH)/conf/conf_sap.c \
78	$(OPENSSL_CRYPTO_PATH)/evp/m_wp.c, $(LOCAL_SRC_FILES))
79
80CFILES :=  $(patsubst $(TEELIB)/libopenssl/%,%,$(LOCAL_SRC_FILES))
81
82ifeq ($(CONFIG_OPENSSL_NO_ASM),true)
83A32_CFLAGS += -DCONFIG_OPENSSL_NO_ASM
84CFLAGS += -DCONFIG_OPENSSL_NO_ASM
85endif
86
87ifneq ($(CONFIG_OPENSSL_NO_ASM),true)
88A32_CFLAGS += -DOPENSSL_BN_ASM_MONT -DOPENSSL_CPUID_OBJ -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DBSAES_ASM -DOPENSSL_BN_ASM_GF2m
89CFLAGS += -DOPENSSL_BN_ASM_MONT -DOPENSSL_CPUID_OBJ -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DECP_NISTZ256_ASM
90endif
91
92ifeq ($(CONFIG_CRYPTO_GET_ENTROPY),true)
93CFLAGS += -DOPENSSL_THREADS -DPTHREAD_RWLOCK_INITIALIZER
94endif
95CFLAGS += -DOPENSSL_NO_UI_CONSOLE -DOPENSSL_NO_EC448 -DOPENSSL_NO_KECCAK1600
96CFLAGS += -DCC_DRIVER -O3
97CFLAGS += -DOPENSSL_RAND_SEED_ENTROPY_CUSTOMER=crypto_driver_get_entropy
98