• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2024 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6# http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14cmake_minimum_required(VERSION 3.10)
15
16project(openssl CXX C ASM)
17
18set(TARGET_OUT_DIR ${CMAKE_BINARY_DIR}/third_party/openssl)
19
20set(OPENSSL_INTERNAL_CFLAGS_CC
21    -Wall
22
23    # ../../third_party/openssl/crypto/o_str.c:309:9: error: incompatible integer to pointer conversion assigning to 'char *' from 'int' [-Werror,-Wint-conversion]
24    #     err = strerror_r(errnum, buf, buflen);
25    #         ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26    -Wno-error=int-conversion
27
28    # ../../third_party/openssl/crypto/bn/bn_exp.c:382:38: error: shift count >= width of type [-Werror,-Wshift-count-overflow]
29    #     if (m->d[j - 1] & (((BN_ULONG)1) << (BN_BITS2 - 1))) {
30    #                                      ^  ~~~~~~~~~~~~~~
31    -Wno-error=shift-count-overflow
32
33    -Wno-error=implicit-fallthrough
34    -Wno-error=sign-compare
35
36    # Fix llvm-15 build error
37    -Wno-unused-but-set-variable
38)
39if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
40    list(APPEND OPENSSL_INTERNAL_CFLAGS_CC
41        # ../../third_party/openssl/crypto/bn/bn_conv.c:92:34: error: implicit conversion from 'unsigned long long' to 'unsigned long' changes value from 10000000000000000000 to 2313682944 [-Werror,-Wconstant-conversion]
42        #             *lp = BN_div_word(t, BN_DEC_CONV);
43        #                   ~~~~~~~~~~~    ^~~~~~~~~~~
44        -Wno-error=constant-conversion
45
46        # ../../third_party/openssl/crypto/conf/conf_def.c:31:11: error: 'stat' macro redefined [-Werror,-Wmacro-redefined]
47        # #  define stat    _stat
48        #           ^
49        # ../../prebuilts/mingw-w64/ohos/linux-x86_64/clang-mingw/x86_64-w64-mingw32/include/sys/stat.h:279:9: note: previous definition is here
50        # #define stat _stat64
51        #         ^
52        # 1 error generated.
53        -Wno-error=macro-redefined
54    )
55endif()
56
57set(CRYPTO_CONFIG_COMMON_CFLAGS_CC
58    -Wa,--noexecstack
59)
60
61list(APPEND CRYPTO_CONFIG_COMMON_CFLAGS_CC
62    ${OPENSSL_INTERNAL_CFLAGS_CC}
63)
64
65set(CRYPTO_CONFIG_COMMON_DEFINITIONS
66    "-DNDEBUG"
67    "-DOPENSSL_BUILDING_OPENSSL"
68    "-DOPENSSL_CPUID_OBJ"
69    "-DOPENSSL_PIC"
70    "-DENGINESDIR=\"\""
71    "-DMODULESDIR=\"\""
72    "-DOPENSSLDIR=\"\""
73)
74
75# platform-specific compiler options and definitions
76
77set(CRYPTO_CONFIG_LINUX_ARMV4_CFLAGS_CC
78    "-fPIC"
79    "-pthread"
80)
81set(CRYPTO_CONFIG_LINUX_ARMV4_DEFINITIONS
82    "-DOPENSSL_USE_NODELETE"
83    "-DAES_ASM"
84    "-DBSAES_ASM"
85    "-DECP_NISTZ256_ASM"
86    "-DGHASH_ASM"
87    "-DKECCAK1600_ASM"
88    "-DOPENSSL_BN_ASM_GF2m"
89    "-DOPENSSL_BN_ASM_MONT"
90    "-DPOLY1305_ASM"
91    "-DSHA1_ASM"
92    "-DSHA256_ASM"
93    "-DSHA512_ASM"
94)
95
96set(CRYPTO_CONFIG_LINUX_AARCH64_CFLAGS_CC
97    "-fPIC"
98    "-pthread"
99)
100set(CRYPTO_CONFIG_LINUX_AARCH64_DEFINITIONS
101    "-DOPENSSL_USE_NODELETE"
102    "-DECP_NISTZ256_ASM"
103    "-DKECCAK1600_ASM"
104    "-DOPENSSL_BN_ASM_MONT"
105    "-DPOLY1305_ASM"
106    "-DSHA1_ASM"
107    "-DSHA256_ASM"
108    "-DSHA512_ASM"
109    "-DVPAES_ASM"
110)
111
112set(CRYPTO_CONFIG_DARWIN64_X86_64_CC_CFLAGS_CC
113    "-fPIC"
114)
115set(CRYPTO_CONFIG_DARWIN64_X86_64_CC_DEFINITIONS
116    "-DL_ENDIAN"
117    "-D_REENTRANT"
118    "-DOPENSSL_IA32_SSE2"
119    "-DAES_ASM"
120    "-DBSAES_ASM"
121    "-DCMLL_ASM"
122    "-DECP_NISTZ256_ASM"
123    "-DGHASH_ASM"
124    "-DKECCAK1600_ASM"
125    "-DMD5_ASM"
126    "-DOPENSSL_BN_ASM_GF2m"
127    "-DOPENSSL_BN_ASM_MONT"
128    "-DOPENSSL_BN_ASM_MONT5"
129    "-DPOLY1305_ASM"
130    "-DSHA1_ASM"
131    "-DSHA256_ASM"
132    "-DSHA512_ASM"
133    "-DVPAES_ASM"
134    "-DWHIRLPOOL_ASM"
135    "-DX25519_ASM"
136)
137
138set(CRYPTO_CONFIG_DARWIN64_ARM64_CC_CFLAGS_CC
139    "-fPIC"
140)
141set(CRYPTO_CONFIG_DARWIN64_ARM64_CC_DEFINITIONS
142    "-DL_ENDIAN"
143    "-D_REENTRANT"
144    "-DECP_NISTZ256_ASM"
145    "-DKECCAK1600_ASM"
146    "-DOPENSSL_BN_ASM_MONT"
147    "-DPOLY1305_ASM"
148    "-DSHA1_ASM"
149    "-DSHA256_ASM"
150    "-DSHA512_ASM"
151    "-DVPAES_ASM"
152)
153
154set(CRYPTO_CONFIG_LINUX_X86_64_CFLAGS_CC
155    "-fPIC"
156    "-m64"
157    "-pthread"
158)
159set(CRYPTO_CONFIG_LINUX_X86_64_DEFINITIONS
160    "-DL_ENDIAN"
161    "-DOPENSSL_IA32_SSE2"
162    "-DOPENSSL_USE_NODELETE"
163    "-DAES_ASM"
164    "-DBSAES_ASM"
165    "-DCMLL_ASM"
166    "-DECP_NISTZ256_ASM"
167    "-DGHASH_ASM"
168    "-DKECCAK1600_ASM"
169    "-DMD5_ASM"
170    "-DOPENSSL_BN_ASM_GF2m"
171    "-DOPENSSL_BN_ASM_MONT"
172    "-DOPENSSL_BN_ASM_MONT5"
173    "-DPOLY1305_ASM"
174    "-DSHA1_ASM"
175    "-DSHA256_ASM"
176    "-DSHA512_ASM"
177    "-DVPAES_ASM"
178    "-DWHIRLPOOL_ASM"
179    "-DX25519_ASM"
180)
181
182set(CRYPTO_CONFIG_LINUX_X86_CFLAGS_CC
183    ""
184)
185set(CRYPTO_CONFIG_LINUX_X86_DEFINITIONS
186    ""
187)
188
189set(CRYPTO_CONFIG_MINGW64_CFLAGS_CC
190  "-m64"
191)
192set(CRYPTO_CONFIG_MINGW64_DEFINITIONS
193  "-D_MT"
194  "-D_UNICODE"
195  "-DL_ENDIAN"
196  "-DOPENSSL_IA32_SSE2"
197  "-DUNICODE"
198  "-DWIN32_LEAN_AND_MEAN"
199  "-DAES_ASM"
200  "-DBSAES_ASM"
201  "-DCMLL_ASM"
202  "-DECP_NISTZ256_ASM"
203  "-DGHASH_ASM"
204  "-DKECCAK1600_ASM"
205  "-DMD5_ASM"
206  "-DOPENSSL_BN_ASM_GF2m"
207  "-DOPENSSL_BN_ASM_MONT"
208  "-DOPENSSL_BN_ASM_MONT5"
209  "-DPOLY1305_ASM"
210  "-DSHA1_ASM"
211  "-DSHA256_ASM"
212  "-DSHA512_ASM"
213  "-DVPAES_ASM"
214  "-DWHIRLPOOL_ASM"
215  "-DX25519_ASM"
216)
217
218set(CRYPTO_CONFIG_CURRENT_PLATFORM_CFLAGS_CC "")
219set(CRYPTO_CONFIG_CURRENT_PLATFORM_DEFINITIONS "")
220set(OPENSSL_SELECTED_PLATFORM "")
221
222if (PANDA_TARGET_WINDOWS)
223    set(OPENSSL_SELECTED_PLATFORM "mingw64")
224    list(APPEND CRYPTO_CONFIG_CURRENT_PLATFORM_CFLAGS_CC
225        ${CRYPTO_CONFIG_MINGW64_CFLAGS_CC}
226    )
227    list(APPEND CRYPTO_CONFIG_CURRENT_PLATFORM_DEFINITIONS
228        ${CRYPTO_CONFIG_MINGW64_DEFINITIONS}
229    )
230elseif (PANDA_TARGET_MACOS)
231    if (PANDA_TARGET_AMD64)
232        set(OPENSSL_SELECTED_PLATFORM "darwin64-x86_64-cc")
233        list(APPEND CRYPTO_CONFIG_CURRENT_PLATFORM_CFLAGS_CC
234            ${CRYPTO_CONFIG_DARWIN64_X86_64_CC_CFLAGS_CC}
235        )
236        list(APPEND CRYPTO_CONFIG_CURRENT_PLATFORM_DEFINITIONS
237            ${CRYPTO_CONFIG_DARWIN64_X86_64_CC_DEFINITIONS}
238        )
239    elseif (PANDA_TARGET_ARM64)
240        set(OPENSSL_SELECTED_PLATFORM "darwin64-arm64-cc")
241        list(APPEND CRYPTO_CONFIG_CURRENT_PLATFORM_CFLAGS_CC
242            ${CRYPTO_CONFIG_DARWIN64_ARM64_CC_CFLAGS_CC}
243        )
244        list(APPEND CRYPTO_CONFIG_CURRENT_PLATFORM_DEFINITIONS
245            ${CRYPTO_CONFIG_DARWIN64_ARM64_CC_DEFINITIONS}
246        )
247    endif()
248else()
249    if (PANDA_TARGET_AMD64)
250        set(OPENSSL_SELECTED_PLATFORM "linux-x86_64")
251        list(APPEND CRYPTO_CONFIG_CURRENT_PLATFORM_CFLAGS_CC
252            ${CRYPTO_CONFIG_LINUX_X86_64_CFLAGS_CC}
253        )
254        list(APPEND CRYPTO_CONFIG_CURRENT_PLATFORM_DEFINITIONS
255            ${CRYPTO_CONFIG_LINUX_X86_64_DEFINITIONS}
256        )
257    elseif (PANDA_TARGET_X86)
258        set(OPENSSL_SELECTED_PLATFORM "linux-x86")
259        list(APPEND CRYPTO_CONFIG_CURRENT_PLATFORM_CFLAGS_CC
260            ${CRYPTO_CONFIG_LINUX_X86_CFLAGS_CC}
261        )
262        list(APPEND CRYPTO_CONFIG_CURRENT_PLATFORM_DEFINITIONS
263            ${CRYPTO_CONFIG_LINUX_X86_DEFINITIONS}
264        )
265    elseif (PANDA_TARGET_ARM32)
266        set(OPENSSL_SELECTED_PLATFORM "linux-armv4")
267        list(APPEND CRYPTO_CONFIG_CURRENT_PLATFORM_CFLAGS_CC
268            ${CRYPTO_CONFIG_LINUX_ARMV4_CFLAGS_CC}
269        )
270        list(APPEND CRYPTO_CONFIG_CURRENT_PLATFORM_DEFINITIONS
271            ${CRYPTO_CONFIG_LINUX_ARMV4_DEFINITIONS}
272        )
273    elseif (PANDA_TARGET_ARM64)
274        set(OPENSSL_SELECTED_PLATFORM "linux-aarch64")
275        list(APPEND CRYPTO_CONFIG_CURRENT_PLATFORM_CFLAGS_CC
276            ${CRYPTO_CONFIG_LINUX_AARCH64_CFLAGS_CC}
277        )
278        list(APPEND CRYPTO_CONFIG_CURRENT_PLATFORM_DEFINITIONS
279            ${CRYPTO_CONFIG_LINUX_AARCH64_DEFINITIONS}
280        )
281    endif()
282endif()
283
284set(TARGET_GENERATED_DIR ${TARGET_OUT_DIR}/generated)
285if (NOT IS_DIRECTORY ${TARGET_GENERATED_DIR})
286    # Openssl generate some assembly codes before it is building.
287    # The sources list in include the assembly codes.
288    execute_process(COMMAND python3
289                        ${OPENSSL_ROOT}/run_command.py
290                        ${OPENSSL_ROOT}/make_openssl_build_all_generated.sh
291                        ${OPENSSL_ROOT}
292                        ${TARGET_GENERATED_DIR}
293                        ${OPENSSL_SELECTED_PLATFORM}
294                    WORKING_DIRECTORY ${PANDA_ROOT}
295                    RESULT_VARIABLE OPENSSL_GEN_OK)
296    if (NOT OPENSSL_GEN_OK EQUAL 0)
297        message(FATAL_ERROR "Unable to generate openssl files")
298    endif()
299endif()
300
301set(OPENSSL_CFLAGS_CC "")
302list(APPEND OPENSSL_CFLAGS_CC
303    ${CRYPTO_CONFIG_COMMON_CFLAGS_CC}
304    ${CRYPTO_CONFIG_CURRENT_PLATFORM_CFLAGS_CC}
305)
306
307set(OPENSSL_DEFINITIONS "")
308list(APPEND OPENSSL_DEFINITIONS
309    ${CRYPTO_CONFIG_COMMON_DEFINITIONS}
310    ${CRYPTO_CONFIG_CURRENT_PLATFORM_DEFINITIONS}
311)
312
313set(OPENSSL_SELECTED_PLATFORM_FULL_PATH
314    ${TARGET_GENERATED_DIR}/${OPENSSL_SELECTED_PLATFORM}
315)
316
317set(CRYPTO_CONFIG_COMMON_PRIVATE_INCLUDES
318    ${OPENSSL_ROOT}
319    ${OPENSSL_ROOT}/apps/include
320    ${OPENSSL_ROOT}/crypto
321    ${OPENSSL_ROOT}/crypto/bn
322    ${OPENSSL_ROOT}/crypto/ec
323    ${OPENSSL_ROOT}/crypto/ec/curve448
324    ${OPENSSL_ROOT}/crypto/modes
325    ${OPENSSL_ROOT}/crypto/rsa
326    ${OPENSSL_ROOT}/include
327    ${OPENSSL_ROOT}/providers/common/include
328    ${OPENSSL_ROOT}/providers/common/include/prov
329    ${OPENSSL_ROOT}/providers/implementations/include
330    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/apps
331    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto
332    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/include
333    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/include/crypto
334    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/include/openssl
335    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/providers/common/include
336    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/providers/common/include/prov
337)
338set(CRYPTO_CONFIG_COMMON_PUBLIC_INCLUDES
339    ${OPENSSL_ROOT}/include
340    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/include
341)
342
343set(LIBCRYPTO_BUILD_ALL_GENERATED_LINUX_ARMV4_SOURCES
344    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/aes-armv4.S
345    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/aesv8-armx.S
346    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/bsaes-armv7.S
347    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/armv4cpuid.S
348    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/bn/armv4-gf2m.S
349    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/bn/armv4-mont.S
350    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/chacha/chacha-armv4.S
351    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/ec/ecp_nistz256-armv4.S
352    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/modes/ghash-armv4.S
353    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/modes/ghashv8-armx.S
354    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/poly1305/poly1305-armv4.S
355    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/keccak1600-armv4.S
356    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/sha1-armv4-large.S
357    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/sha256-armv4.S
358    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/sha512-armv4.S
359)
360set(LIBCRYPTO_BUILD_ALL_GENERATED_LINUX_AARCH64_SOURCES
361    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/aesv8-armx.S
362    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/vpaes-armv8.S
363    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/arm64cpuid.S
364    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/bn/armv8-mont.S
365    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/chacha/chacha-armv8.S
366    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/ec/ecp_nistz256-armv8.S
367    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/modes/aes-gcm-armv8_64.S
368    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/modes/ghashv8-armx.S
369    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/poly1305/poly1305-armv8.S
370    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/keccak1600-armv8.S
371    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/sha1-armv8.S
372    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/sha256-armv8.S
373    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/sha512-armv8.S
374)
375set(LIBCRYPTO_BUILD_ALL_GENERATED_DARWIN64_X86_64_CC_SOURCES
376    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/aes-x86_64.s
377    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/aesni-mb-x86_64.s
378    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/aesni-sha1-x86_64.s
379    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/aesni-sha256-x86_64.s
380    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/aesni-x86_64.s
381    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/bsaes-x86_64.s
382    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/vpaes-x86_64.s
383    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/bn/rsaz-avx2.s
384    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/bn/rsaz-avx512.s
385    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/bn/rsaz-x86_64.s
386    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/bn/x86_64-gf2m.s
387    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/bn/x86_64-mont.s
388    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/bn/x86_64-mont5.s
389    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/camellia/cmll-x86_64.s
390    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/chacha/chacha-x86_64.s
391    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/ec/ecp_nistz256-x86_64.s
392    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/ec/x25519-x86_64.s
393    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/md5/md5-x86_64.s
394    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/modes/aesni-gcm-x86_64.s
395    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/modes/ghash-x86_64.s
396    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/poly1305/poly1305-x86_64.s
397    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/rc4/rc4-md5-x86_64.s
398    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/rc4/rc4-x86_64.s
399    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/keccak1600-x86_64.s
400    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/sha1-mb-x86_64.s
401    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/sha1-x86_64.s
402    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/sha256-mb-x86_64.s
403    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/sha256-x86_64.s
404    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/sha512-x86_64.s
405    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/whrlpool/wp-x86_64.s
406    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/x86_64cpuid.s
407)
408set(LIBCRYPTO_BUILD_ALL_GENERATED_DARWIN64_ARM64_CC_SOURCES
409    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/aesv8-armx.S
410    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/vpaes-armv8.S
411    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/arm64cpuid.S
412    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/bn/armv8-mont.S
413    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/chacha/chacha-armv8.S
414    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/ec/ecp_nistz256-armv8.S
415    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/modes/aes-gcm-armv8_64.S
416    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/modes/ghashv8-armx.S
417    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/poly1305/poly1305-armv8.S
418    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/keccak1600-armv8.S
419    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/sha1-armv8.S
420    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/sha256-armv8.S
421    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/sha512-armv8.S
422)
423set(LIBCRYPTO_BUILD_ALL_GENERATED_LINUX_X86_64_SOURCES
424    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/aes-x86_64.s
425    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/aesni-mb-x86_64.s
426    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/aesni-sha1-x86_64.s
427    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/aesni-sha256-x86_64.s
428    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/aesni-x86_64.s
429    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/bsaes-x86_64.s
430    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/vpaes-x86_64.s
431    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/bn/rsaz-avx2.s
432    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/bn/rsaz-avx512.s
433    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/bn/rsaz-x86_64.s
434    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/bn/x86_64-gf2m.s
435    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/bn/x86_64-mont.s
436    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/bn/x86_64-mont5.s
437    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/camellia/cmll-x86_64.s
438    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/chacha/chacha-x86_64.s
439    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/ec/ecp_nistz256-x86_64.s
440    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/ec/x25519-x86_64.s
441    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/md5/md5-x86_64.s
442    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/modes/aesni-gcm-x86_64.s
443    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/modes/ghash-x86_64.s
444    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/poly1305/poly1305-x86_64.s
445    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/rc4/rc4-md5-x86_64.s
446    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/rc4/rc4-x86_64.s
447    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/keccak1600-x86_64.s
448    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/sha1-mb-x86_64.s
449    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/sha1-x86_64.s
450    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/sha256-mb-x86_64.s
451    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/sha256-x86_64.s
452    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/sha512-x86_64.s
453    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/whrlpool/wp-x86_64.s
454    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/x86_64cpuid.s
455)
456set(LIBCRYPTO_BUILD_ALL_GENERATED_LINUX_X86_SOURCES
457    ""
458)
459set(LIBCRYPTO_BUILD_ALL_GENERATED_MINGW64_SOURCES
460    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/aes-x86_64.s
461    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/aesni-mb-x86_64.s
462    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/aesni-sha1-x86_64.s
463    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/aesni-sha256-x86_64.s
464    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/aesni-x86_64.s
465    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/bsaes-x86_64.s
466    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/aes/vpaes-x86_64.s
467    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/bn/rsaz-avx2.s
468    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/bn/rsaz-avx512.s
469    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/bn/rsaz-x86_64.s
470    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/bn/x86_64-gf2m.s
471    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/bn/x86_64-mont.s
472    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/bn/x86_64-mont5.s
473    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/camellia/cmll-x86_64.s
474    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/chacha/chacha-x86_64.s
475    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/ec/ecp_nistz256-x86_64.s
476    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/ec/x25519-x86_64.s
477    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/md5/md5-x86_64.s
478    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/modes/aesni-gcm-x86_64.s
479    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/modes/ghash-x86_64.s
480    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/poly1305/poly1305-x86_64.s
481    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/rc4/rc4-md5-x86_64.s
482    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/rc4/rc4-x86_64.s
483    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/keccak1600-x86_64.s
484    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/sha1-mb-x86_64.s
485    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/sha1-x86_64.s
486    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/sha256-mb-x86_64.s
487    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/sha256-x86_64.s
488    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/sha/sha512-x86_64.s
489    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/whrlpool/wp-x86_64.s
490    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/crypto/x86_64cpuid.s
491)
492
493set(LIBCRYPTO_BUILD_ALL_GENERATED_SELECTED_PLATFORM_SOURCES
494    ""
495)
496if ("${OPENSSL_SELECTED_PLATFORM}" STREQUAL "linux-armv4")
497    list(APPEND LIBCRYPTO_BUILD_ALL_GENERATED_SELECTED_PLATFORM_SOURCES
498        ${LIBCRYPTO_BUILD_ALL_GENERATED_LINUX_ARMV4_SOURCES}
499    )
500elseif ("${OPENSSL_SELECTED_PLATFORM}" STREQUAL "linux-aarch64")
501    list(APPEND LIBCRYPTO_BUILD_ALL_GENERATED_SELECTED_PLATFORM_SOURCES
502        ${LIBCRYPTO_BUILD_ALL_GENERATED_LINUX_AARCH64_SOURCES}
503    )
504elseif ("${OPENSSL_SELECTED_PLATFORM}" STREQUAL "darwin64-x86_64-cc")
505    list(APPEND LIBCRYPTO_BUILD_ALL_GENERATED_SELECTED_PLATFORM_SOURCES
506        ${LIBCRYPTO_BUILD_ALL_GENERATED_DARWIN64_X86_64_CC_SOURCES}
507    )
508elseif ("${OPENSSL_SELECTED_PLATFORM}" STREQUAL "darwin64-arm64-cc")
509    list(APPEND LIBCRYPTO_BUILD_ALL_GENERATED_SELECTED_PLATFORM_SOURCES
510        ${LIBCRYPTO_BUILD_ALL_GENERATED_DARWIN64_ARM64_CC_SOURCES}
511    )
512elseif ("${OPENSSL_SELECTED_PLATFORM}" STREQUAL "linux-x86_64")
513    list(APPEND LIBCRYPTO_BUILD_ALL_GENERATED_SELECTED_PLATFORM_SOURCES
514        ${LIBCRYPTO_BUILD_ALL_GENERATED_LINUX_X86_64_SOURCES}
515    )
516elseif ("${OPENSSL_SELECTED_PLATFORM}" STREQUAL "linux-x86")
517    list(APPEND LIBCRYPTO_BUILD_ALL_GENERATED_SELECTED_PLATFORM_SOURCES
518        ${LIBCRYPTO_BUILD_ALL_GENERATED_LINUX_X86_SOURCES}
519    )
520elseif ("${OPENSSL_SELECTED_PLATFORM}" STREQUAL "mingw64")
521    list(APPEND LIBCRYPTO_BUILD_ALL_GENERATED_SELECTED_PLATFORM_SOURCES
522        ${LIBCRYPTO_BUILD_ALL_GENERATED_MINGW64_SOURCES}
523    )
524endif()
525
526set(LIBCOMMON_BUILD_ALL_GENERATED_SELECTED_PLATFORM_SOURCES
527    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/providers/common/der/der_digests_gen.c
528    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/providers/common/der/der_dsa_gen.c
529    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/providers/common/der/der_ec_gen.c
530    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/providers/common/der/der_ecx_gen.c
531    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/providers/common/der/der_rsa_gen.c
532    ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/providers/common/der/der_wrap_gen.c
533)
534
535set(LIBDEFAULT_BUILD_ALL_GENERATED_SELECTED_PLATFORM_SOURCES
536  ${OPENSSL_SELECTED_PLATFORM_FULL_PATH}/providers/common/der/der_sm2_gen.c
537)
538
539set(LIBCOMMON_COMMON_SOURCES
540    ${OPENSSL_ROOT}/providers/common/der/der_dsa_key.c
541    ${OPENSSL_ROOT}/providers/common/der/der_dsa_sig.c
542    ${OPENSSL_ROOT}/providers/common/der/der_ec_key.c
543    ${OPENSSL_ROOT}/providers/common/der/der_ec_sig.c
544    ${OPENSSL_ROOT}/providers/common/der/der_ecx_key.c
545    ${OPENSSL_ROOT}/providers/common/der/der_rsa_key.c
546    ${OPENSSL_ROOT}/providers/common/provider_ctx.c
547    ${OPENSSL_ROOT}/providers/common/provider_err.c
548    ${OPENSSL_ROOT}/providers/implementations/ciphers/ciphercommon.c
549    ${OPENSSL_ROOT}/providers/implementations/ciphers/ciphercommon_block.c
550    ${OPENSSL_ROOT}/providers/implementations/ciphers/ciphercommon_ccm.c
551    ${OPENSSL_ROOT}/providers/implementations/ciphers/ciphercommon_ccm_hw.c
552    ${OPENSSL_ROOT}/providers/implementations/ciphers/ciphercommon_gcm.c
553    ${OPENSSL_ROOT}/providers/implementations/ciphers/ciphercommon_gcm_hw.c
554    ${OPENSSL_ROOT}/providers/implementations/ciphers/ciphercommon_hw.c
555    ${OPENSSL_ROOT}/providers/implementations/digests/digestcommon.c
556    ${OPENSSL_ROOT}/ssl/record/tls_pad.c
557)
558
559set(LIBDEFAULT_COMMON_SOURCES
560    ${OPENSSL_ROOT}/providers/common/bio_prov.c
561    ${OPENSSL_ROOT}/providers/common/capabilities.c
562    ${OPENSSL_ROOT}/providers/common/der/der_rsa_sig.c
563    ${OPENSSL_ROOT}/providers/common/der/der_sm2_key.c
564    ${OPENSSL_ROOT}/providers/common/der/der_sm2_sig.c
565    ${OPENSSL_ROOT}/providers/common/digest_to_nid.c
566    ${OPENSSL_ROOT}/providers/common/provider_seeding.c
567    ${OPENSSL_ROOT}/providers/common/provider_util.c
568    ${OPENSSL_ROOT}/providers/common/securitycheck.c
569    ${OPENSSL_ROOT}/providers/common/securitycheck_default.c
570    ${OPENSSL_ROOT}/providers/implementations/asymciphers/rsa_enc.c
571    ${OPENSSL_ROOT}/providers/implementations/asymciphers/sm2_enc.c
572    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_aes.c
573    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
574    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
575    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
576    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_aes_ccm.c
577    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_aes_ccm_hw.c
578    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_aes_gcm.c
579    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_aes_gcm_hw.c
580    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_aes_hw.c
581    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_aes_ocb.c
582    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_aes_ocb_hw.c
583    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_aes_siv.c
584    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_aes_siv_hw.c
585    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_aes_wrp.c
586    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_aes_xts.c
587    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_aes_xts_fips.c
588    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_aes_xts_hw.c
589    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_aria.c
590    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_aria_ccm.c
591    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_aria_ccm_hw.c
592    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_aria_gcm.c
593    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_aria_gcm_hw.c
594    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_aria_hw.c
595    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_camellia.c
596    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_camellia_hw.c
597    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_chacha20.c
598    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_chacha20_hw.c
599    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_chacha20_poly1305.c
600    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c
601    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_cts.c
602    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_null.c
603    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_sm4.c
604    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_sm4_hw.c
605    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_tdes.c
606    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_tdes_common.c
607    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_tdes_default.c
608    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_tdes_default_hw.c
609    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_tdes_hw.c
610    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_tdes_wrap.c
611    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_tdes_wrap_hw.c
612    ${OPENSSL_ROOT}/providers/implementations/digests/blake2_prov.c
613    ${OPENSSL_ROOT}/providers/implementations/digests/blake2b_prov.c
614    ${OPENSSL_ROOT}/providers/implementations/digests/blake2s_prov.c
615    ${OPENSSL_ROOT}/providers/implementations/digests/md5_prov.c
616    ${OPENSSL_ROOT}/providers/implementations/digests/md5_sha1_prov.c
617    ${OPENSSL_ROOT}/providers/implementations/digests/null_prov.c
618    ${OPENSSL_ROOT}/providers/implementations/digests/ripemd_prov.c
619    ${OPENSSL_ROOT}/providers/implementations/digests/sha2_prov.c
620    ${OPENSSL_ROOT}/providers/implementations/digests/sha3_prov.c
621    ${OPENSSL_ROOT}/providers/implementations/digests/sm3_prov.c
622    ${OPENSSL_ROOT}/providers/implementations/encode_decode/decode_der2key.c
623    ${OPENSSL_ROOT}/providers/implementations/encode_decode/decode_epki2pki.c
624    ${OPENSSL_ROOT}/providers/implementations/encode_decode/decode_msblob2key.c
625    ${OPENSSL_ROOT}/providers/implementations/encode_decode/decode_pem2der.c
626    ${OPENSSL_ROOT}/providers/implementations/encode_decode/decode_pvk2key.c
627    ${OPENSSL_ROOT}/providers/implementations/encode_decode/decode_spki2typespki.c
628    ${OPENSSL_ROOT}/providers/implementations/encode_decode/encode_key2any.c
629    ${OPENSSL_ROOT}/providers/implementations/encode_decode/encode_key2blob.c
630    ${OPENSSL_ROOT}/providers/implementations/encode_decode/encode_key2ms.c
631    ${OPENSSL_ROOT}/providers/implementations/encode_decode/encode_key2text.c
632    ${OPENSSL_ROOT}/providers/implementations/encode_decode/endecoder_common.c
633    ${OPENSSL_ROOT}/providers/implementations/exchange/dh_exch.c
634    ${OPENSSL_ROOT}/providers/implementations/exchange/ecdh_exch.c
635    ${OPENSSL_ROOT}/providers/implementations/exchange/ecx_exch.c
636    ${OPENSSL_ROOT}/providers/implementations/exchange/kdf_exch.c
637    ${OPENSSL_ROOT}/providers/implementations/kdfs/hkdf.c
638    ${OPENSSL_ROOT}/providers/implementations/kdfs/kbkdf.c
639    ${OPENSSL_ROOT}/providers/implementations/kdfs/krb5kdf.c
640    ${OPENSSL_ROOT}/providers/implementations/kdfs/pbkdf2.c
641    ${OPENSSL_ROOT}/providers/implementations/kdfs/pbkdf2_fips.c
642    ${OPENSSL_ROOT}/providers/implementations/kdfs/pkcs12kdf.c
643    ${OPENSSL_ROOT}/providers/implementations/kdfs/scrypt.c
644    ${OPENSSL_ROOT}/providers/implementations/kdfs/sshkdf.c
645    ${OPENSSL_ROOT}/providers/implementations/kdfs/sskdf.c
646    ${OPENSSL_ROOT}/providers/implementations/kdfs/tls1_prf.c
647    ${OPENSSL_ROOT}/providers/implementations/kdfs/x942kdf.c
648    ${OPENSSL_ROOT}/providers/implementations/kem/rsa_kem.c
649    ${OPENSSL_ROOT}/providers/implementations/keymgmt/dh_kmgmt.c
650    ${OPENSSL_ROOT}/providers/implementations/keymgmt/dsa_kmgmt.c
651    ${OPENSSL_ROOT}/providers/implementations/keymgmt/ec_kmgmt.c
652    ${OPENSSL_ROOT}/providers/implementations/keymgmt/ecx_kmgmt.c
653    ${OPENSSL_ROOT}/providers/implementations/keymgmt/kdf_legacy_kmgmt.c
654    ${OPENSSL_ROOT}/providers/implementations/keymgmt/mac_legacy_kmgmt.c
655    ${OPENSSL_ROOT}/providers/implementations/keymgmt/rsa_kmgmt.c
656    ${OPENSSL_ROOT}/providers/implementations/macs/blake2b_mac.c
657    ${OPENSSL_ROOT}/providers/implementations/macs/blake2s_mac.c
658    ${OPENSSL_ROOT}/providers/implementations/macs/cmac_prov.c
659    ${OPENSSL_ROOT}/providers/implementations/macs/gmac_prov.c
660    ${OPENSSL_ROOT}/providers/implementations/macs/hmac_prov.c
661    ${OPENSSL_ROOT}/providers/implementations/macs/kmac_prov.c
662    ${OPENSSL_ROOT}/providers/implementations/macs/poly1305_prov.c
663    ${OPENSSL_ROOT}/providers/implementations/macs/siphash_prov.c
664    ${OPENSSL_ROOT}/providers/implementations/rands/crngt.c
665    ${OPENSSL_ROOT}/providers/implementations/rands/drbg.c
666    ${OPENSSL_ROOT}/providers/implementations/rands/drbg_ctr.c
667    ${OPENSSL_ROOT}/providers/implementations/rands/drbg_hash.c
668    ${OPENSSL_ROOT}/providers/implementations/rands/drbg_hmac.c
669    ${OPENSSL_ROOT}/providers/implementations/rands/seed_src.c
670    ${OPENSSL_ROOT}/providers/implementations/rands/seeding/rand_cpu_x86.c
671    ${OPENSSL_ROOT}/providers/implementations/rands/seeding/rand_tsc.c
672    ${OPENSSL_ROOT}/providers/implementations/rands/seeding/rand_unix.c
673    ${OPENSSL_ROOT}/providers/implementations/rands/seeding/rand_win.c
674    ${OPENSSL_ROOT}/providers/implementations/rands/test_rng.c
675    ${OPENSSL_ROOT}/providers/implementations/signature/dsa_sig.c
676    ${OPENSSL_ROOT}/providers/implementations/signature/ecdsa_sig.c
677    ${OPENSSL_ROOT}/providers/implementations/signature/eddsa_sig.c
678    ${OPENSSL_ROOT}/providers/implementations/signature/mac_legacy_sig.c
679    ${OPENSSL_ROOT}/providers/implementations/signature/rsa_sig.c
680    ${OPENSSL_ROOT}/providers/implementations/signature/sm2_sig.c
681    ${OPENSSL_ROOT}/providers/implementations/storemgmt/file_store.c
682    ${OPENSSL_ROOT}/providers/implementations/storemgmt/file_store_any2obj.c
683    ${OPENSSL_ROOT}/ssl/s3_cbc.c
684)
685
686set(LIBLEGACY_SOURCES
687    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_blowfish.c
688    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_blowfish_hw.c
689    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_cast5.c
690    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_cast5_hw.c
691    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_des.c
692    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_des_hw.c
693    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_desx.c
694    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_desx_hw.c
695    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_idea.c
696    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_idea_hw.c
697    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_rc2.c
698    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_rc2_hw.c
699    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_rc4.c
700    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
701    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c
702    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_rc4_hw.c
703    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_seed.c
704    ${OPENSSL_ROOT}/providers/implementations/ciphers/cipher_seed_hw.c
705    ${OPENSSL_ROOT}/providers/implementations/digests/md4_prov.c
706    ${OPENSSL_ROOT}/providers/implementations/digests/mdc2_prov.c
707    ${OPENSSL_ROOT}/providers/implementations/digests/wp_prov.c
708    ${OPENSSL_ROOT}/providers/implementations/kdfs/pbkdf1.c
709)
710
711set(CRYPTO_SOURCES
712    ${OPENSSL_ROOT}/crypto/aes/aes_cfb.c
713    ${OPENSSL_ROOT}/crypto/aes/aes_ecb.c
714    ${OPENSSL_ROOT}/crypto/aes/aes_ige.c
715    ${OPENSSL_ROOT}/crypto/aes/aes_misc.c
716    ${OPENSSL_ROOT}/crypto/aes/aes_ofb.c
717    ${OPENSSL_ROOT}/crypto/aes/aes_wrap.c
718    ${OPENSSL_ROOT}/crypto/aria/aria.c
719    ${OPENSSL_ROOT}/crypto/asn1/a_bitstr.c
720    ${OPENSSL_ROOT}/crypto/asn1/a_d2i_fp.c
721    ${OPENSSL_ROOT}/crypto/asn1/a_digest.c
722    ${OPENSSL_ROOT}/crypto/asn1/a_dup.c
723    ${OPENSSL_ROOT}/crypto/asn1/a_gentm.c
724    ${OPENSSL_ROOT}/crypto/asn1/a_i2d_fp.c
725    ${OPENSSL_ROOT}/crypto/asn1/a_int.c
726    ${OPENSSL_ROOT}/crypto/asn1/a_mbstr.c
727    ${OPENSSL_ROOT}/crypto/asn1/a_object.c
728    ${OPENSSL_ROOT}/crypto/asn1/a_octet.c
729    ${OPENSSL_ROOT}/crypto/asn1/a_print.c
730    ${OPENSSL_ROOT}/crypto/asn1/a_sign.c
731    ${OPENSSL_ROOT}/crypto/asn1/a_strex.c
732    ${OPENSSL_ROOT}/crypto/asn1/a_strnid.c
733    ${OPENSSL_ROOT}/crypto/asn1/a_time.c
734    ${OPENSSL_ROOT}/crypto/asn1/a_type.c
735    ${OPENSSL_ROOT}/crypto/asn1/a_utctm.c
736    ${OPENSSL_ROOT}/crypto/asn1/a_utf8.c
737    ${OPENSSL_ROOT}/crypto/asn1/a_verify.c
738    ${OPENSSL_ROOT}/crypto/asn1/ameth_lib.c
739    ${OPENSSL_ROOT}/crypto/asn1/asn1_err.c
740    ${OPENSSL_ROOT}/crypto/asn1/asn1_gen.c
741    ${OPENSSL_ROOT}/crypto/asn1/asn1_item_list.c
742    ${OPENSSL_ROOT}/crypto/asn1/asn1_lib.c
743    ${OPENSSL_ROOT}/crypto/asn1/asn1_parse.c
744    ${OPENSSL_ROOT}/crypto/asn1/asn_mime.c
745    ${OPENSSL_ROOT}/crypto/asn1/asn_moid.c
746    ${OPENSSL_ROOT}/crypto/asn1/asn_mstbl.c
747    ${OPENSSL_ROOT}/crypto/asn1/asn_pack.c
748    ${OPENSSL_ROOT}/crypto/asn1/bio_asn1.c
749    ${OPENSSL_ROOT}/crypto/asn1/bio_ndef.c
750    ${OPENSSL_ROOT}/crypto/asn1/d2i_param.c
751    ${OPENSSL_ROOT}/crypto/asn1/d2i_pr.c
752    ${OPENSSL_ROOT}/crypto/asn1/d2i_pu.c
753    ${OPENSSL_ROOT}/crypto/asn1/evp_asn1.c
754    ${OPENSSL_ROOT}/crypto/asn1/f_int.c
755    ${OPENSSL_ROOT}/crypto/asn1/f_string.c
756    ${OPENSSL_ROOT}/crypto/asn1/i2d_evp.c
757    ${OPENSSL_ROOT}/crypto/asn1/n_pkey.c
758    ${OPENSSL_ROOT}/crypto/asn1/nsseq.c
759    ${OPENSSL_ROOT}/crypto/asn1/p5_pbe.c
760    ${OPENSSL_ROOT}/crypto/asn1/p5_pbev2.c
761    ${OPENSSL_ROOT}/crypto/asn1/p5_scrypt.c
762    ${OPENSSL_ROOT}/crypto/asn1/p8_pkey.c
763    ${OPENSSL_ROOT}/crypto/asn1/t_bitst.c
764    ${OPENSSL_ROOT}/crypto/asn1/t_pkey.c
765    ${OPENSSL_ROOT}/crypto/asn1/t_spki.c
766    ${OPENSSL_ROOT}/crypto/asn1/tasn_dec.c
767    ${OPENSSL_ROOT}/crypto/asn1/tasn_enc.c
768    ${OPENSSL_ROOT}/crypto/asn1/tasn_fre.c
769    ${OPENSSL_ROOT}/crypto/asn1/tasn_new.c
770    ${OPENSSL_ROOT}/crypto/asn1/tasn_prn.c
771    ${OPENSSL_ROOT}/crypto/asn1/tasn_scn.c
772    ${OPENSSL_ROOT}/crypto/asn1/tasn_typ.c
773    ${OPENSSL_ROOT}/crypto/asn1/tasn_utl.c
774    ${OPENSSL_ROOT}/crypto/asn1/x_algor.c
775    ${OPENSSL_ROOT}/crypto/asn1/x_bignum.c
776    ${OPENSSL_ROOT}/crypto/asn1/x_info.c
777    ${OPENSSL_ROOT}/crypto/asn1/x_int64.c
778    ${OPENSSL_ROOT}/crypto/asn1/x_long.c
779    ${OPENSSL_ROOT}/crypto/asn1/x_pkey.c
780    ${OPENSSL_ROOT}/crypto/asn1/x_sig.c
781    ${OPENSSL_ROOT}/crypto/asn1/x_spki.c
782    ${OPENSSL_ROOT}/crypto/asn1/x_val.c
783    ${OPENSSL_ROOT}/crypto/asn1_dsa.c
784    ${OPENSSL_ROOT}/crypto/async/arch/async_null.c
785    ${OPENSSL_ROOT}/crypto/async/arch/async_posix.c
786    ${OPENSSL_ROOT}/crypto/async/arch/async_win.c
787    ${OPENSSL_ROOT}/crypto/async/async.c
788    ${OPENSSL_ROOT}/crypto/async/async_err.c
789    ${OPENSSL_ROOT}/crypto/async/async_wait.c
790    ${OPENSSL_ROOT}/crypto/bf/bf_cfb64.c
791    ${OPENSSL_ROOT}/crypto/bf/bf_ecb.c
792    ${OPENSSL_ROOT}/crypto/bf/bf_enc.c
793    ${OPENSSL_ROOT}/crypto/bf/bf_ofb64.c
794    ${OPENSSL_ROOT}/crypto/bf/bf_skey.c
795    ${OPENSSL_ROOT}/crypto/bio/bf_buff.c
796    ${OPENSSL_ROOT}/crypto/bio/bf_lbuf.c
797    ${OPENSSL_ROOT}/crypto/bio/bf_nbio.c
798    ${OPENSSL_ROOT}/crypto/bio/bf_null.c
799    ${OPENSSL_ROOT}/crypto/bio/bf_prefix.c
800    ${OPENSSL_ROOT}/crypto/bio/bf_readbuff.c
801    ${OPENSSL_ROOT}/crypto/bio/bio_addr.c
802    ${OPENSSL_ROOT}/crypto/bio/bio_cb.c
803    ${OPENSSL_ROOT}/crypto/bio/bio_dump.c
804    ${OPENSSL_ROOT}/crypto/bio/bio_err.c
805    ${OPENSSL_ROOT}/crypto/bio/bio_lib.c
806    ${OPENSSL_ROOT}/crypto/bio/bio_meth.c
807    ${OPENSSL_ROOT}/crypto/bio/bio_print.c
808    ${OPENSSL_ROOT}/crypto/bio/bio_sock.c
809    ${OPENSSL_ROOT}/crypto/bio/bio_sock2.c
810    ${OPENSSL_ROOT}/crypto/bio/bss_acpt.c
811    ${OPENSSL_ROOT}/crypto/bio/bss_bio.c
812    ${OPENSSL_ROOT}/crypto/bio/bss_conn.c
813    ${OPENSSL_ROOT}/crypto/bio/bss_core.c
814    ${OPENSSL_ROOT}/crypto/bio/bss_dgram.c
815    ${OPENSSL_ROOT}/crypto/bio/bss_fd.c
816    ${OPENSSL_ROOT}/crypto/bio/bss_file.c
817    ${OPENSSL_ROOT}/crypto/bio/bss_log.c
818    ${OPENSSL_ROOT}/crypto/bio/bss_mem.c
819    ${OPENSSL_ROOT}/crypto/bio/bss_null.c
820    ${OPENSSL_ROOT}/crypto/bio/bss_sock.c
821    ${OPENSSL_ROOT}/crypto/bio/ossl_core_bio.c
822    ${OPENSSL_ROOT}/crypto/bn/bn_add.c
823    ${OPENSSL_ROOT}/crypto/bn/bn_blind.c
824    ${OPENSSL_ROOT}/crypto/bn/bn_const.c
825    ${OPENSSL_ROOT}/crypto/bn/bn_conv.c
826    ${OPENSSL_ROOT}/crypto/bn/bn_ctx.c
827    ${OPENSSL_ROOT}/crypto/bn/bn_depr.c
828    ${OPENSSL_ROOT}/crypto/bn/bn_dh.c
829    ${OPENSSL_ROOT}/crypto/bn/bn_div.c
830    ${OPENSSL_ROOT}/crypto/bn/bn_err.c
831    ${OPENSSL_ROOT}/crypto/bn/bn_exp.c
832    ${OPENSSL_ROOT}/crypto/bn/bn_exp2.c
833    ${OPENSSL_ROOT}/crypto/bn/bn_gcd.c
834    ${OPENSSL_ROOT}/crypto/bn/bn_gf2m.c
835    ${OPENSSL_ROOT}/crypto/bn/bn_intern.c
836    ${OPENSSL_ROOT}/crypto/bn/bn_kron.c
837    ${OPENSSL_ROOT}/crypto/bn/bn_lib.c
838    ${OPENSSL_ROOT}/crypto/bn/bn_mod.c
839    ${OPENSSL_ROOT}/crypto/bn/bn_mont.c
840    ${OPENSSL_ROOT}/crypto/bn/bn_mpi.c
841    ${OPENSSL_ROOT}/crypto/bn/bn_mul.c
842    ${OPENSSL_ROOT}/crypto/bn/bn_nist.c
843    ${OPENSSL_ROOT}/crypto/bn/bn_prime.c
844    ${OPENSSL_ROOT}/crypto/bn/bn_print.c
845    ${OPENSSL_ROOT}/crypto/bn/bn_rand.c
846    ${OPENSSL_ROOT}/crypto/bn/bn_recp.c
847    ${OPENSSL_ROOT}/crypto/bn/bn_rsa_fips186_4.c
848    ${OPENSSL_ROOT}/crypto/bn/bn_shift.c
849    ${OPENSSL_ROOT}/crypto/bn/bn_sqr.c
850    ${OPENSSL_ROOT}/crypto/bn/bn_sqrt.c
851    ${OPENSSL_ROOT}/crypto/bn/bn_srp.c
852    ${OPENSSL_ROOT}/crypto/bn/bn_word.c
853    ${OPENSSL_ROOT}/crypto/bn/bn_x931p.c
854    ${OPENSSL_ROOT}/crypto/bn/rsa_sup_mul.c
855    ${OPENSSL_ROOT}/crypto/bsearch.c
856    ${OPENSSL_ROOT}/crypto/buffer/buf_err.c
857    ${OPENSSL_ROOT}/crypto/buffer/buffer.c
858    ${OPENSSL_ROOT}/crypto/camellia/cmll_cfb.c
859    ${OPENSSL_ROOT}/crypto/camellia/cmll_ctr.c
860    ${OPENSSL_ROOT}/crypto/camellia/cmll_ecb.c
861    ${OPENSSL_ROOT}/crypto/camellia/cmll_misc.c
862    ${OPENSSL_ROOT}/crypto/camellia/cmll_ofb.c
863    ${OPENSSL_ROOT}/crypto/cast/c_cfb64.c
864    ${OPENSSL_ROOT}/crypto/cast/c_ecb.c
865    ${OPENSSL_ROOT}/crypto/cast/c_enc.c
866    ${OPENSSL_ROOT}/crypto/cast/c_ofb64.c
867    ${OPENSSL_ROOT}/crypto/cast/c_skey.c
868    ${OPENSSL_ROOT}/crypto/cmac/cmac.c
869    ${OPENSSL_ROOT}/crypto/cmp/cmp_asn.c
870    ${OPENSSL_ROOT}/crypto/cmp/cmp_client.c
871    ${OPENSSL_ROOT}/crypto/cmp/cmp_ctx.c
872    ${OPENSSL_ROOT}/crypto/cmp/cmp_err.c
873    ${OPENSSL_ROOT}/crypto/cmp/cmp_hdr.c
874    ${OPENSSL_ROOT}/crypto/cmp/cmp_http.c
875    ${OPENSSL_ROOT}/crypto/cmp/cmp_msg.c
876    ${OPENSSL_ROOT}/crypto/cmp/cmp_protect.c
877    ${OPENSSL_ROOT}/crypto/cmp/cmp_server.c
878    ${OPENSSL_ROOT}/crypto/cmp/cmp_status.c
879    ${OPENSSL_ROOT}/crypto/cmp/cmp_util.c
880    ${OPENSSL_ROOT}/crypto/cmp/cmp_vfy.c
881    ${OPENSSL_ROOT}/crypto/cms/cms_asn1.c
882    ${OPENSSL_ROOT}/crypto/cms/cms_att.c
883    ${OPENSSL_ROOT}/crypto/cms/cms_cd.c
884    ${OPENSSL_ROOT}/crypto/cms/cms_dd.c
885    ${OPENSSL_ROOT}/crypto/cms/cms_dh.c
886    ${OPENSSL_ROOT}/crypto/cms/cms_ec.c
887    ${OPENSSL_ROOT}/crypto/cms/cms_enc.c
888    ${OPENSSL_ROOT}/crypto/cms/cms_env.c
889    ${OPENSSL_ROOT}/crypto/cms/cms_err.c
890    ${OPENSSL_ROOT}/crypto/cms/cms_ess.c
891    ${OPENSSL_ROOT}/crypto/cms/cms_io.c
892    ${OPENSSL_ROOT}/crypto/cms/cms_kari.c
893    ${OPENSSL_ROOT}/crypto/cms/cms_lib.c
894    ${OPENSSL_ROOT}/crypto/cms/cms_pwri.c
895    ${OPENSSL_ROOT}/crypto/cms/cms_rsa.c
896    ${OPENSSL_ROOT}/crypto/cms/cms_sd.c
897    ${OPENSSL_ROOT}/crypto/cms/cms_smime.c
898    ${OPENSSL_ROOT}/crypto/comp/c_zlib.c
899    ${OPENSSL_ROOT}/crypto/comp/comp_err.c
900    ${OPENSSL_ROOT}/crypto/comp/comp_lib.c
901    ${OPENSSL_ROOT}/crypto/conf/conf_api.c
902    ${OPENSSL_ROOT}/crypto/conf/conf_def.c
903    ${OPENSSL_ROOT}/crypto/conf/conf_err.c
904    ${OPENSSL_ROOT}/crypto/conf/conf_lib.c
905    ${OPENSSL_ROOT}/crypto/conf/conf_mall.c
906    ${OPENSSL_ROOT}/crypto/conf/conf_mod.c
907    ${OPENSSL_ROOT}/crypto/conf/conf_sap.c
908    ${OPENSSL_ROOT}/crypto/conf/conf_ssl.c
909    ${OPENSSL_ROOT}/crypto/context.c
910    ${OPENSSL_ROOT}/crypto/core_algorithm.c
911    ${OPENSSL_ROOT}/crypto/core_fetch.c
912    ${OPENSSL_ROOT}/crypto/core_namemap.c
913    ${OPENSSL_ROOT}/crypto/cpt_err.c
914    ${OPENSSL_ROOT}/crypto/cpuid.c
915    ${OPENSSL_ROOT}/crypto/crmf/crmf_asn.c
916    ${OPENSSL_ROOT}/crypto/crmf/crmf_err.c
917    ${OPENSSL_ROOT}/crypto/crmf/crmf_lib.c
918    ${OPENSSL_ROOT}/crypto/crmf/crmf_pbm.c
919    ${OPENSSL_ROOT}/crypto/cryptlib.c
920    ${OPENSSL_ROOT}/crypto/ct/ct_b64.c
921    ${OPENSSL_ROOT}/crypto/ct/ct_err.c
922    ${OPENSSL_ROOT}/crypto/ct/ct_log.c
923    ${OPENSSL_ROOT}/crypto/ct/ct_oct.c
924    ${OPENSSL_ROOT}/crypto/ct/ct_policy.c
925    ${OPENSSL_ROOT}/crypto/ct/ct_prn.c
926    ${OPENSSL_ROOT}/crypto/ct/ct_sct.c
927    ${OPENSSL_ROOT}/crypto/ct/ct_sct_ctx.c
928    ${OPENSSL_ROOT}/crypto/ct/ct_vfy.c
929    ${OPENSSL_ROOT}/crypto/ct/ct_x509v3.c
930    ${OPENSSL_ROOT}/crypto/ctype.c
931    ${OPENSSL_ROOT}/crypto/cversion.c
932    ${OPENSSL_ROOT}/crypto/der_writer.c
933    ${OPENSSL_ROOT}/crypto/des/cbc_cksm.c
934    ${OPENSSL_ROOT}/crypto/des/cbc_enc.c
935    ${OPENSSL_ROOT}/crypto/des/cfb64ede.c
936    ${OPENSSL_ROOT}/crypto/des/cfb64enc.c
937    ${OPENSSL_ROOT}/crypto/des/cfb_enc.c
938    ${OPENSSL_ROOT}/crypto/des/des_enc.c
939    ${OPENSSL_ROOT}/crypto/des/ecb3_enc.c
940    ${OPENSSL_ROOT}/crypto/des/ecb_enc.c
941    ${OPENSSL_ROOT}/crypto/des/fcrypt.c
942    ${OPENSSL_ROOT}/crypto/des/fcrypt_b.c
943    ${OPENSSL_ROOT}/crypto/des/ofb64ede.c
944    ${OPENSSL_ROOT}/crypto/des/ofb64enc.c
945    ${OPENSSL_ROOT}/crypto/des/ofb_enc.c
946    ${OPENSSL_ROOT}/crypto/des/pcbc_enc.c
947    ${OPENSSL_ROOT}/crypto/des/qud_cksm.c
948    ${OPENSSL_ROOT}/crypto/des/rand_key.c
949    ${OPENSSL_ROOT}/crypto/des/set_key.c
950    ${OPENSSL_ROOT}/crypto/des/str2key.c
951    ${OPENSSL_ROOT}/crypto/des/xcbc_enc.c
952    ${OPENSSL_ROOT}/crypto/dh/dh_ameth.c
953    ${OPENSSL_ROOT}/crypto/dh/dh_asn1.c
954    ${OPENSSL_ROOT}/crypto/dh/dh_backend.c
955    ${OPENSSL_ROOT}/crypto/dh/dh_check.c
956    ${OPENSSL_ROOT}/crypto/dh/dh_depr.c
957    ${OPENSSL_ROOT}/crypto/dh/dh_err.c
958    ${OPENSSL_ROOT}/crypto/dh/dh_gen.c
959    ${OPENSSL_ROOT}/crypto/dh/dh_group_params.c
960    ${OPENSSL_ROOT}/crypto/dh/dh_kdf.c
961    ${OPENSSL_ROOT}/crypto/dh/dh_key.c
962    ${OPENSSL_ROOT}/crypto/dh/dh_lib.c
963    ${OPENSSL_ROOT}/crypto/dh/dh_meth.c
964    ${OPENSSL_ROOT}/crypto/dh/dh_pmeth.c
965    ${OPENSSL_ROOT}/crypto/dh/dh_prn.c
966    ${OPENSSL_ROOT}/crypto/dh/dh_rfc5114.c
967    ${OPENSSL_ROOT}/crypto/dsa/dsa_ameth.c
968    ${OPENSSL_ROOT}/crypto/dsa/dsa_asn1.c
969    ${OPENSSL_ROOT}/crypto/dsa/dsa_backend.c
970    ${OPENSSL_ROOT}/crypto/dsa/dsa_check.c
971    ${OPENSSL_ROOT}/crypto/dsa/dsa_depr.c
972    ${OPENSSL_ROOT}/crypto/dsa/dsa_err.c
973    ${OPENSSL_ROOT}/crypto/dsa/dsa_gen.c
974    ${OPENSSL_ROOT}/crypto/dsa/dsa_key.c
975    ${OPENSSL_ROOT}/crypto/dsa/dsa_lib.c
976    ${OPENSSL_ROOT}/crypto/dsa/dsa_meth.c
977    ${OPENSSL_ROOT}/crypto/dsa/dsa_ossl.c
978    ${OPENSSL_ROOT}/crypto/dsa/dsa_pmeth.c
979    ${OPENSSL_ROOT}/crypto/dsa/dsa_prn.c
980    ${OPENSSL_ROOT}/crypto/dsa/dsa_sign.c
981    ${OPENSSL_ROOT}/crypto/dsa/dsa_vrf.c
982    ${OPENSSL_ROOT}/crypto/dso/dso_dl.c
983    ${OPENSSL_ROOT}/crypto/dso/dso_dlfcn.c
984    ${OPENSSL_ROOT}/crypto/dso/dso_err.c
985    ${OPENSSL_ROOT}/crypto/dso/dso_lib.c
986    ${OPENSSL_ROOT}/crypto/dso/dso_openssl.c
987    ${OPENSSL_ROOT}/crypto/dso/dso_vms.c
988    ${OPENSSL_ROOT}/crypto/dso/dso_win32.c
989    ${OPENSSL_ROOT}/crypto/ebcdic.c
990    ${OPENSSL_ROOT}/crypto/ec/curve25519.c
991    ${OPENSSL_ROOT}/crypto/ec/curve448/arch_32/f_impl32.c
992    ${OPENSSL_ROOT}/crypto/ec/curve448/arch_64/f_impl64.c
993    ${OPENSSL_ROOT}/crypto/ec/curve448/curve448.c
994    ${OPENSSL_ROOT}/crypto/ec/curve448/curve448_tables.c
995    ${OPENSSL_ROOT}/crypto/ec/curve448/eddsa.c
996    ${OPENSSL_ROOT}/crypto/ec/curve448/f_generic.c
997    ${OPENSSL_ROOT}/crypto/ec/curve448/scalar.c
998    ${OPENSSL_ROOT}/crypto/ec/ec2_oct.c
999    ${OPENSSL_ROOT}/crypto/ec/ec2_smpl.c
1000    ${OPENSSL_ROOT}/crypto/ec/ec_ameth.c
1001    ${OPENSSL_ROOT}/crypto/ec/ec_asn1.c
1002    ${OPENSSL_ROOT}/crypto/ec/ec_backend.c
1003    ${OPENSSL_ROOT}/crypto/ec/ec_check.c
1004    ${OPENSSL_ROOT}/crypto/ec/ec_curve.c
1005    ${OPENSSL_ROOT}/crypto/ec/ec_cvt.c
1006    ${OPENSSL_ROOT}/crypto/ec/ec_deprecated.c
1007    ${OPENSSL_ROOT}/crypto/ec/ec_err.c
1008    ${OPENSSL_ROOT}/crypto/ec/ec_key.c
1009    ${OPENSSL_ROOT}/crypto/ec/ec_kmeth.c
1010    ${OPENSSL_ROOT}/crypto/ec/ec_lib.c
1011    ${OPENSSL_ROOT}/crypto/ec/ec_mult.c
1012    ${OPENSSL_ROOT}/crypto/ec/ec_oct.c
1013    ${OPENSSL_ROOT}/crypto/ec/ec_pmeth.c
1014    ${OPENSSL_ROOT}/crypto/ec/ec_print.c
1015    ${OPENSSL_ROOT}/crypto/ec/ecdh_kdf.c
1016    ${OPENSSL_ROOT}/crypto/ec/ecdh_ossl.c
1017    ${OPENSSL_ROOT}/crypto/ec/ecdsa_ossl.c
1018    ${OPENSSL_ROOT}/crypto/ec/ecdsa_sign.c
1019    ${OPENSSL_ROOT}/crypto/ec/ecdsa_vrf.c
1020    ${OPENSSL_ROOT}/crypto/ec/eck_prn.c
1021    ${OPENSSL_ROOT}/crypto/ec/ecp_mont.c
1022    ${OPENSSL_ROOT}/crypto/ec/ecp_nist.c
1023    ${OPENSSL_ROOT}/crypto/ec/ecp_nistz256.c
1024    ${OPENSSL_ROOT}/crypto/ec/ecp_oct.c
1025    ${OPENSSL_ROOT}/crypto/ec/ecp_smpl.c
1026    ${OPENSSL_ROOT}/crypto/ec/ecx_backend.c
1027    ${OPENSSL_ROOT}/crypto/ec/ecx_key.c
1028    ${OPENSSL_ROOT}/crypto/ec/ecx_meth.c
1029    ${OPENSSL_ROOT}/crypto/encode_decode/decoder_err.c
1030    ${OPENSSL_ROOT}/crypto/encode_decode/decoder_lib.c
1031    ${OPENSSL_ROOT}/crypto/encode_decode/decoder_meth.c
1032    ${OPENSSL_ROOT}/crypto/encode_decode/decoder_pkey.c
1033    ${OPENSSL_ROOT}/crypto/encode_decode/encoder_err.c
1034    ${OPENSSL_ROOT}/crypto/encode_decode/encoder_lib.c
1035    ${OPENSSL_ROOT}/crypto/encode_decode/encoder_meth.c
1036    ${OPENSSL_ROOT}/crypto/encode_decode/encoder_pkey.c
1037    ${OPENSSL_ROOT}/crypto/engine/eng_all.c
1038    ${OPENSSL_ROOT}/crypto/engine/eng_cnf.c
1039    ${OPENSSL_ROOT}/crypto/engine/eng_ctrl.c
1040    ${OPENSSL_ROOT}/crypto/engine/eng_dyn.c
1041    ${OPENSSL_ROOT}/crypto/engine/eng_err.c
1042    ${OPENSSL_ROOT}/crypto/engine/eng_fat.c
1043    ${OPENSSL_ROOT}/crypto/engine/eng_init.c
1044    ${OPENSSL_ROOT}/crypto/engine/eng_lib.c
1045    ${OPENSSL_ROOT}/crypto/engine/eng_list.c
1046    ${OPENSSL_ROOT}/crypto/engine/eng_openssl.c
1047    ${OPENSSL_ROOT}/crypto/engine/eng_pkey.c
1048    ${OPENSSL_ROOT}/crypto/engine/eng_rdrand.c
1049    ${OPENSSL_ROOT}/crypto/engine/eng_table.c
1050    ${OPENSSL_ROOT}/crypto/engine/tb_asnmth.c
1051    ${OPENSSL_ROOT}/crypto/engine/tb_cipher.c
1052    ${OPENSSL_ROOT}/crypto/engine/tb_dh.c
1053    ${OPENSSL_ROOT}/crypto/engine/tb_digest.c
1054    ${OPENSSL_ROOT}/crypto/engine/tb_dsa.c
1055    ${OPENSSL_ROOT}/crypto/engine/tb_eckey.c
1056    ${OPENSSL_ROOT}/crypto/engine/tb_pkmeth.c
1057    ${OPENSSL_ROOT}/crypto/engine/tb_rand.c
1058    ${OPENSSL_ROOT}/crypto/engine/tb_rsa.c
1059    ${OPENSSL_ROOT}/crypto/err/err.c
1060    ${OPENSSL_ROOT}/crypto/err/err_all.c
1061    ${OPENSSL_ROOT}/crypto/err/err_all_legacy.c
1062    ${OPENSSL_ROOT}/crypto/err/err_blocks.c
1063    ${OPENSSL_ROOT}/crypto/err/err_prn.c
1064    ${OPENSSL_ROOT}/crypto/ess/ess_asn1.c
1065    ${OPENSSL_ROOT}/crypto/ess/ess_err.c
1066    ${OPENSSL_ROOT}/crypto/ess/ess_lib.c
1067    ${OPENSSL_ROOT}/crypto/evp/asymcipher.c
1068    ${OPENSSL_ROOT}/crypto/evp/bio_b64.c
1069    ${OPENSSL_ROOT}/crypto/evp/bio_enc.c
1070    ${OPENSSL_ROOT}/crypto/evp/bio_md.c
1071    ${OPENSSL_ROOT}/crypto/evp/bio_ok.c
1072    ${OPENSSL_ROOT}/crypto/evp/c_allc.c
1073    ${OPENSSL_ROOT}/crypto/evp/c_alld.c
1074    ${OPENSSL_ROOT}/crypto/evp/cmeth_lib.c
1075    ${OPENSSL_ROOT}/crypto/evp/ctrl_params_translate.c
1076    ${OPENSSL_ROOT}/crypto/evp/dh_ctrl.c
1077    ${OPENSSL_ROOT}/crypto/evp/dh_support.c
1078    ${OPENSSL_ROOT}/crypto/evp/digest.c
1079    ${OPENSSL_ROOT}/crypto/evp/dsa_ctrl.c
1080    ${OPENSSL_ROOT}/crypto/evp/e_aes.c
1081    ${OPENSSL_ROOT}/crypto/evp/e_aes_cbc_hmac_sha1.c
1082    ${OPENSSL_ROOT}/crypto/evp/e_aes_cbc_hmac_sha256.c
1083    ${OPENSSL_ROOT}/crypto/evp/e_aria.c
1084    ${OPENSSL_ROOT}/crypto/evp/e_bf.c
1085    ${OPENSSL_ROOT}/crypto/evp/e_camellia.c
1086    ${OPENSSL_ROOT}/crypto/evp/e_cast.c
1087    ${OPENSSL_ROOT}/crypto/evp/e_chacha20_poly1305.c
1088    ${OPENSSL_ROOT}/crypto/evp/e_des.c
1089    ${OPENSSL_ROOT}/crypto/evp/e_des3.c
1090    ${OPENSSL_ROOT}/crypto/evp/e_idea.c
1091    ${OPENSSL_ROOT}/crypto/evp/e_null.c
1092    ${OPENSSL_ROOT}/crypto/evp/e_old.c
1093    ${OPENSSL_ROOT}/crypto/evp/e_rc2.c
1094    ${OPENSSL_ROOT}/crypto/evp/e_rc4.c
1095    ${OPENSSL_ROOT}/crypto/evp/e_rc4_hmac_md5.c
1096    ${OPENSSL_ROOT}/crypto/evp/e_rc5.c
1097    ${OPENSSL_ROOT}/crypto/evp/e_seed.c
1098    ${OPENSSL_ROOT}/crypto/evp/e_sm4.c
1099    ${OPENSSL_ROOT}/crypto/evp/e_xcbc_d.c
1100    ${OPENSSL_ROOT}/crypto/evp/ec_ctrl.c
1101    ${OPENSSL_ROOT}/crypto/evp/ec_support.c
1102    ${OPENSSL_ROOT}/crypto/evp/encode.c
1103    ${OPENSSL_ROOT}/crypto/evp/evp_cnf.c
1104    ${OPENSSL_ROOT}/crypto/evp/evp_enc.c
1105    ${OPENSSL_ROOT}/crypto/evp/evp_err.c
1106    ${OPENSSL_ROOT}/crypto/evp/evp_fetch.c
1107    ${OPENSSL_ROOT}/crypto/evp/evp_key.c
1108    ${OPENSSL_ROOT}/crypto/evp/evp_lib.c
1109    ${OPENSSL_ROOT}/crypto/evp/evp_pbe.c
1110    ${OPENSSL_ROOT}/crypto/evp/evp_pkey.c
1111    ${OPENSSL_ROOT}/crypto/evp/evp_rand.c
1112    ${OPENSSL_ROOT}/crypto/evp/evp_utils.c
1113    ${OPENSSL_ROOT}/crypto/evp/exchange.c
1114    ${OPENSSL_ROOT}/crypto/evp/kdf_lib.c
1115    ${OPENSSL_ROOT}/crypto/evp/kdf_meth.c
1116    ${OPENSSL_ROOT}/crypto/evp/kem.c
1117    ${OPENSSL_ROOT}/crypto/evp/keymgmt_lib.c
1118    ${OPENSSL_ROOT}/crypto/evp/keymgmt_meth.c
1119    ${OPENSSL_ROOT}/crypto/evp/legacy_blake2.c
1120    ${OPENSSL_ROOT}/crypto/evp/legacy_md4.c
1121    ${OPENSSL_ROOT}/crypto/evp/legacy_md5.c
1122    ${OPENSSL_ROOT}/crypto/evp/legacy_md5_sha1.c
1123    ${OPENSSL_ROOT}/crypto/evp/legacy_mdc2.c
1124    ${OPENSSL_ROOT}/crypto/evp/legacy_ripemd.c
1125    ${OPENSSL_ROOT}/crypto/evp/legacy_sha.c
1126    ${OPENSSL_ROOT}/crypto/evp/legacy_wp.c
1127    ${OPENSSL_ROOT}/crypto/evp/m_null.c
1128    ${OPENSSL_ROOT}/crypto/evp/m_sigver.c
1129    ${OPENSSL_ROOT}/crypto/evp/mac_lib.c
1130    ${OPENSSL_ROOT}/crypto/evp/mac_meth.c
1131    ${OPENSSL_ROOT}/crypto/evp/names.c
1132    ${OPENSSL_ROOT}/crypto/evp/p5_crpt.c
1133    ${OPENSSL_ROOT}/crypto/evp/p5_crpt2.c
1134    ${OPENSSL_ROOT}/crypto/evp/p_dec.c
1135    ${OPENSSL_ROOT}/crypto/evp/p_enc.c
1136    ${OPENSSL_ROOT}/crypto/evp/p_legacy.c
1137    ${OPENSSL_ROOT}/crypto/evp/p_lib.c
1138    ${OPENSSL_ROOT}/crypto/evp/p_open.c
1139    ${OPENSSL_ROOT}/crypto/evp/p_seal.c
1140    ${OPENSSL_ROOT}/crypto/evp/p_sign.c
1141    ${OPENSSL_ROOT}/crypto/evp/p_verify.c
1142    ${OPENSSL_ROOT}/crypto/evp/pbe_scrypt.c
1143    ${OPENSSL_ROOT}/crypto/evp/pmeth_check.c
1144    ${OPENSSL_ROOT}/crypto/evp/pmeth_gn.c
1145    ${OPENSSL_ROOT}/crypto/evp/pmeth_lib.c
1146    ${OPENSSL_ROOT}/crypto/evp/signature.c
1147    ${OPENSSL_ROOT}/crypto/ex_data.c
1148    ${OPENSSL_ROOT}/crypto/ffc/ffc_backend.c
1149    ${OPENSSL_ROOT}/crypto/ffc/ffc_dh.c
1150    ${OPENSSL_ROOT}/crypto/ffc/ffc_key_generate.c
1151    ${OPENSSL_ROOT}/crypto/ffc/ffc_key_validate.c
1152    ${OPENSSL_ROOT}/crypto/ffc/ffc_params.c
1153    ${OPENSSL_ROOT}/crypto/ffc/ffc_params_generate.c
1154    ${OPENSSL_ROOT}/crypto/ffc/ffc_params_validate.c
1155    ${OPENSSL_ROOT}/crypto/getenv.c
1156    ${OPENSSL_ROOT}/crypto/hmac/hmac.c
1157    ${OPENSSL_ROOT}/crypto/http/http_client.c
1158    ${OPENSSL_ROOT}/crypto/http/http_err.c
1159    ${OPENSSL_ROOT}/crypto/http/http_lib.c
1160    ${OPENSSL_ROOT}/crypto/idea/i_cbc.c
1161    ${OPENSSL_ROOT}/crypto/idea/i_cfb64.c
1162    ${OPENSSL_ROOT}/crypto/idea/i_ecb.c
1163    ${OPENSSL_ROOT}/crypto/idea/i_ofb64.c
1164    ${OPENSSL_ROOT}/crypto/idea/i_skey.c
1165    ${OPENSSL_ROOT}/crypto/info.c
1166    ${OPENSSL_ROOT}/crypto/init.c
1167    ${OPENSSL_ROOT}/crypto/initthread.c
1168    ${OPENSSL_ROOT}/crypto/kdf/kdf_err.c
1169    ${OPENSSL_ROOT}/crypto/lhash/lh_stats.c
1170    ${OPENSSL_ROOT}/crypto/lhash/lhash.c
1171    ${OPENSSL_ROOT}/crypto/md4/md4_dgst.c
1172    ${OPENSSL_ROOT}/crypto/md4/md4_one.c
1173    ${OPENSSL_ROOT}/crypto/md5/md5_dgst.c
1174    ${OPENSSL_ROOT}/crypto/md5/md5_one.c
1175    ${OPENSSL_ROOT}/crypto/md5/md5_sha1.c
1176    ${OPENSSL_ROOT}/crypto/mdc2/mdc2_one.c
1177    ${OPENSSL_ROOT}/crypto/mdc2/mdc2dgst.c
1178    ${OPENSSL_ROOT}/crypto/mem.c
1179    ${OPENSSL_ROOT}/crypto/mem_sec.c
1180    ${OPENSSL_ROOT}/crypto/modes/cbc128.c
1181    ${OPENSSL_ROOT}/crypto/modes/ccm128.c
1182    ${OPENSSL_ROOT}/crypto/modes/cfb128.c
1183    ${OPENSSL_ROOT}/crypto/modes/ctr128.c
1184    ${OPENSSL_ROOT}/crypto/modes/cts128.c
1185    ${OPENSSL_ROOT}/crypto/modes/gcm128.c
1186    ${OPENSSL_ROOT}/crypto/modes/ocb128.c
1187    ${OPENSSL_ROOT}/crypto/modes/ofb128.c
1188    ${OPENSSL_ROOT}/crypto/modes/siv128.c
1189    ${OPENSSL_ROOT}/crypto/modes/wrap128.c
1190    ${OPENSSL_ROOT}/crypto/modes/xts128.c
1191    ${OPENSSL_ROOT}/crypto/o_dir.c
1192    ${OPENSSL_ROOT}/crypto/o_fopen.c
1193    ${OPENSSL_ROOT}/crypto/o_init.c
1194    ${OPENSSL_ROOT}/crypto/o_str.c
1195    ${OPENSSL_ROOT}/crypto/o_time.c
1196    ${OPENSSL_ROOT}/crypto/objects/o_names.c
1197    ${OPENSSL_ROOT}/crypto/objects/obj_dat.c
1198    ${OPENSSL_ROOT}/crypto/objects/obj_err.c
1199    ${OPENSSL_ROOT}/crypto/objects/obj_lib.c
1200    ${OPENSSL_ROOT}/crypto/objects/obj_xref.c
1201    ${OPENSSL_ROOT}/crypto/ocsp/ocsp_asn.c
1202    ${OPENSSL_ROOT}/crypto/ocsp/ocsp_cl.c
1203    ${OPENSSL_ROOT}/crypto/ocsp/ocsp_err.c
1204    ${OPENSSL_ROOT}/crypto/ocsp/ocsp_ext.c
1205    ${OPENSSL_ROOT}/crypto/ocsp/ocsp_http.c
1206    ${OPENSSL_ROOT}/crypto/ocsp/ocsp_lib.c
1207    ${OPENSSL_ROOT}/crypto/ocsp/ocsp_prn.c
1208    ${OPENSSL_ROOT}/crypto/ocsp/ocsp_srv.c
1209    ${OPENSSL_ROOT}/crypto/ocsp/ocsp_vfy.c
1210    ${OPENSSL_ROOT}/crypto/ocsp/v3_ocsp.c
1211    ${OPENSSL_ROOT}/crypto/packet.c
1212    ${OPENSSL_ROOT}/crypto/param_build.c
1213    ${OPENSSL_ROOT}/crypto/param_build_set.c
1214    ${OPENSSL_ROOT}/crypto/params.c
1215    ${OPENSSL_ROOT}/crypto/params_dup.c
1216    ${OPENSSL_ROOT}/crypto/params_from_text.c
1217    ${OPENSSL_ROOT}/crypto/passphrase.c
1218    ${OPENSSL_ROOT}/crypto/pem/pem_all.c
1219    ${OPENSSL_ROOT}/crypto/pem/pem_err.c
1220    ${OPENSSL_ROOT}/crypto/pem/pem_info.c
1221    ${OPENSSL_ROOT}/crypto/pem/pem_lib.c
1222    ${OPENSSL_ROOT}/crypto/pem/pem_oth.c
1223    ${OPENSSL_ROOT}/crypto/pem/pem_pk8.c
1224    ${OPENSSL_ROOT}/crypto/pem/pem_pkey.c
1225    ${OPENSSL_ROOT}/crypto/pem/pem_sign.c
1226    ${OPENSSL_ROOT}/crypto/pem/pem_x509.c
1227    ${OPENSSL_ROOT}/crypto/pem/pem_xaux.c
1228    ${OPENSSL_ROOT}/crypto/pem/pvkfmt.c
1229    ${OPENSSL_ROOT}/crypto/pkcs12/p12_add.c
1230    ${OPENSSL_ROOT}/crypto/pkcs12/p12_asn.c
1231    ${OPENSSL_ROOT}/crypto/pkcs12/p12_attr.c
1232    ${OPENSSL_ROOT}/crypto/pkcs12/p12_crpt.c
1233    ${OPENSSL_ROOT}/crypto/pkcs12/p12_crt.c
1234    ${OPENSSL_ROOT}/crypto/pkcs12/p12_decr.c
1235    ${OPENSSL_ROOT}/crypto/pkcs12/p12_init.c
1236    ${OPENSSL_ROOT}/crypto/pkcs12/p12_key.c
1237    ${OPENSSL_ROOT}/crypto/pkcs12/p12_kiss.c
1238    ${OPENSSL_ROOT}/crypto/pkcs12/p12_mutl.c
1239    ${OPENSSL_ROOT}/crypto/pkcs12/p12_npas.c
1240    ${OPENSSL_ROOT}/crypto/pkcs12/p12_p8d.c
1241    ${OPENSSL_ROOT}/crypto/pkcs12/p12_p8e.c
1242    ${OPENSSL_ROOT}/crypto/pkcs12/p12_sbag.c
1243    ${OPENSSL_ROOT}/crypto/pkcs12/p12_utl.c
1244    ${OPENSSL_ROOT}/crypto/pkcs12/pk12err.c
1245    ${OPENSSL_ROOT}/crypto/pkcs7/bio_pk7.c
1246    ${OPENSSL_ROOT}/crypto/pkcs7/pk7_asn1.c
1247    ${OPENSSL_ROOT}/crypto/pkcs7/pk7_attr.c
1248    ${OPENSSL_ROOT}/crypto/pkcs7/pk7_doit.c
1249    ${OPENSSL_ROOT}/crypto/pkcs7/pk7_lib.c
1250    ${OPENSSL_ROOT}/crypto/pkcs7/pk7_mime.c
1251    ${OPENSSL_ROOT}/crypto/pkcs7/pk7_smime.c
1252    ${OPENSSL_ROOT}/crypto/pkcs7/pkcs7err.c
1253    ${OPENSSL_ROOT}/crypto/poly1305/poly1305.c
1254    ${OPENSSL_ROOT}/crypto/property/defn_cache.c
1255    ${OPENSSL_ROOT}/crypto/property/property.c
1256    ${OPENSSL_ROOT}/crypto/property/property_err.c
1257    ${OPENSSL_ROOT}/crypto/property/property_parse.c
1258    ${OPENSSL_ROOT}/crypto/property/property_query.c
1259    ${OPENSSL_ROOT}/crypto/property/property_string.c
1260    ${OPENSSL_ROOT}/crypto/provider.c
1261    ${OPENSSL_ROOT}/crypto/provider_child.c
1262    ${OPENSSL_ROOT}/crypto/provider_conf.c
1263    ${OPENSSL_ROOT}/crypto/provider_core.c
1264    ${OPENSSL_ROOT}/crypto/provider_predefined.c
1265    ${OPENSSL_ROOT}/crypto/punycode.c
1266    ${OPENSSL_ROOT}/crypto/rand/prov_seed.c
1267    ${OPENSSL_ROOT}/crypto/rand/rand_deprecated.c
1268    ${OPENSSL_ROOT}/crypto/rand/rand_err.c
1269    ${OPENSSL_ROOT}/crypto/rand/rand_lib.c
1270    ${OPENSSL_ROOT}/crypto/rand/rand_meth.c
1271    ${OPENSSL_ROOT}/crypto/rand/rand_pool.c
1272    ${OPENSSL_ROOT}/crypto/rand/randfile.c
1273    ${OPENSSL_ROOT}/crypto/rc2/rc2_cbc.c
1274    ${OPENSSL_ROOT}/crypto/rc2/rc2_ecb.c
1275    ${OPENSSL_ROOT}/crypto/rc2/rc2_skey.c
1276    ${OPENSSL_ROOT}/crypto/rc2/rc2cfb64.c
1277    ${OPENSSL_ROOT}/crypto/rc2/rc2ofb64.c
1278    ${OPENSSL_ROOT}/crypto/ripemd/rmd_dgst.c
1279    ${OPENSSL_ROOT}/crypto/ripemd/rmd_one.c
1280    ${OPENSSL_ROOT}/crypto/rsa/rsa_ameth.c
1281    ${OPENSSL_ROOT}/crypto/rsa/rsa_asn1.c
1282    ${OPENSSL_ROOT}/crypto/rsa/rsa_backend.c
1283    ${OPENSSL_ROOT}/crypto/rsa/rsa_chk.c
1284    ${OPENSSL_ROOT}/crypto/rsa/rsa_crpt.c
1285    ${OPENSSL_ROOT}/crypto/rsa/rsa_depr.c
1286    ${OPENSSL_ROOT}/crypto/rsa/rsa_err.c
1287    ${OPENSSL_ROOT}/crypto/rsa/rsa_gen.c
1288    ${OPENSSL_ROOT}/crypto/rsa/rsa_lib.c
1289    ${OPENSSL_ROOT}/crypto/rsa/rsa_meth.c
1290    ${OPENSSL_ROOT}/crypto/rsa/rsa_mp.c
1291    ${OPENSSL_ROOT}/crypto/rsa/rsa_mp_names.c
1292    ${OPENSSL_ROOT}/crypto/rsa/rsa_none.c
1293    ${OPENSSL_ROOT}/crypto/rsa/rsa_oaep.c
1294    ${OPENSSL_ROOT}/crypto/rsa/rsa_ossl.c
1295    ${OPENSSL_ROOT}/crypto/rsa/rsa_pk1.c
1296    ${OPENSSL_ROOT}/crypto/rsa/rsa_pmeth.c
1297    ${OPENSSL_ROOT}/crypto/rsa/rsa_prn.c
1298    ${OPENSSL_ROOT}/crypto/rsa/rsa_pss.c
1299    ${OPENSSL_ROOT}/crypto/rsa/rsa_saos.c
1300    ${OPENSSL_ROOT}/crypto/rsa/rsa_schemes.c
1301    ${OPENSSL_ROOT}/crypto/rsa/rsa_sign.c
1302    ${OPENSSL_ROOT}/crypto/rsa/rsa_sp800_56b_check.c
1303    ${OPENSSL_ROOT}/crypto/rsa/rsa_sp800_56b_gen.c
1304    ${OPENSSL_ROOT}/crypto/rsa/rsa_x931.c
1305    ${OPENSSL_ROOT}/crypto/rsa/rsa_x931g.c
1306    ${OPENSSL_ROOT}/crypto/seed/seed.c
1307    ${OPENSSL_ROOT}/crypto/seed/seed_cbc.c
1308    ${OPENSSL_ROOT}/crypto/seed/seed_cfb.c
1309    ${OPENSSL_ROOT}/crypto/seed/seed_ecb.c
1310    ${OPENSSL_ROOT}/crypto/seed/seed_ofb.c
1311    ${OPENSSL_ROOT}/crypto/self_test_core.c
1312    ${OPENSSL_ROOT}/crypto/sha/sha1_one.c
1313    ${OPENSSL_ROOT}/crypto/sha/sha1dgst.c
1314    ${OPENSSL_ROOT}/crypto/sha/sha256.c
1315    ${OPENSSL_ROOT}/crypto/sha/sha3.c
1316    ${OPENSSL_ROOT}/crypto/sha/sha512.c
1317    ${OPENSSL_ROOT}/crypto/siphash/siphash.c
1318    ${OPENSSL_ROOT}/crypto/sm2/sm2_crypt.c
1319    ${OPENSSL_ROOT}/crypto/sm2/sm2_err.c
1320    ${OPENSSL_ROOT}/crypto/sm2/sm2_key.c
1321    ${OPENSSL_ROOT}/crypto/sm2/sm2_sign.c
1322    ${OPENSSL_ROOT}/crypto/sm3/legacy_sm3.c
1323    ${OPENSSL_ROOT}/crypto/sm3/sm3.c
1324    ${OPENSSL_ROOT}/crypto/sm4/sm4.c
1325    ${OPENSSL_ROOT}/crypto/sparse_array.c
1326    ${OPENSSL_ROOT}/crypto/srp/srp_lib.c
1327    ${OPENSSL_ROOT}/crypto/srp/srp_vfy.c
1328    ${OPENSSL_ROOT}/crypto/stack/stack.c
1329    ${OPENSSL_ROOT}/crypto/store/store_err.c
1330    ${OPENSSL_ROOT}/crypto/store/store_init.c
1331    ${OPENSSL_ROOT}/crypto/store/store_lib.c
1332    ${OPENSSL_ROOT}/crypto/store/store_meth.c
1333    ${OPENSSL_ROOT}/crypto/store/store_register.c
1334    ${OPENSSL_ROOT}/crypto/store/store_result.c
1335    ${OPENSSL_ROOT}/crypto/store/store_strings.c
1336    ${OPENSSL_ROOT}/crypto/threads_lib.c
1337    ${OPENSSL_ROOT}/crypto/threads_none.c
1338    ${OPENSSL_ROOT}/crypto/threads_pthread.c
1339    ${OPENSSL_ROOT}/crypto/threads_win.c
1340    ${OPENSSL_ROOT}/crypto/trace.c
1341    ${OPENSSL_ROOT}/crypto/ts/ts_asn1.c
1342    ${OPENSSL_ROOT}/crypto/ts/ts_conf.c
1343    ${OPENSSL_ROOT}/crypto/ts/ts_err.c
1344    ${OPENSSL_ROOT}/crypto/ts/ts_lib.c
1345    ${OPENSSL_ROOT}/crypto/ts/ts_req_print.c
1346    ${OPENSSL_ROOT}/crypto/ts/ts_req_utils.c
1347    ${OPENSSL_ROOT}/crypto/ts/ts_rsp_print.c
1348    ${OPENSSL_ROOT}/crypto/ts/ts_rsp_sign.c
1349    ${OPENSSL_ROOT}/crypto/ts/ts_rsp_utils.c
1350    ${OPENSSL_ROOT}/crypto/ts/ts_rsp_verify.c
1351    ${OPENSSL_ROOT}/crypto/ts/ts_verify_ctx.c
1352    ${OPENSSL_ROOT}/crypto/txt_db/txt_db.c
1353    ${OPENSSL_ROOT}/crypto/ui/ui_err.c
1354    ${OPENSSL_ROOT}/crypto/ui/ui_lib.c
1355    ${OPENSSL_ROOT}/crypto/ui/ui_null.c
1356    ${OPENSSL_ROOT}/crypto/ui/ui_openssl.c
1357    ${OPENSSL_ROOT}/crypto/ui/ui_util.c
1358    ${OPENSSL_ROOT}/crypto/uid.c
1359    ${OPENSSL_ROOT}/crypto/whrlpool/wp_dgst.c
1360    ${OPENSSL_ROOT}/crypto/x509/by_dir.c
1361    ${OPENSSL_ROOT}/crypto/x509/by_file.c
1362    ${OPENSSL_ROOT}/crypto/x509/by_store.c
1363    ${OPENSSL_ROOT}/crypto/x509/pcy_cache.c
1364    ${OPENSSL_ROOT}/crypto/x509/pcy_data.c
1365    ${OPENSSL_ROOT}/crypto/x509/pcy_lib.c
1366    ${OPENSSL_ROOT}/crypto/x509/pcy_map.c
1367    ${OPENSSL_ROOT}/crypto/x509/pcy_node.c
1368    ${OPENSSL_ROOT}/crypto/x509/pcy_tree.c
1369    ${OPENSSL_ROOT}/crypto/x509/t_crl.c
1370    ${OPENSSL_ROOT}/crypto/x509/t_req.c
1371    ${OPENSSL_ROOT}/crypto/x509/t_x509.c
1372    ${OPENSSL_ROOT}/crypto/x509/v3_addr.c
1373    ${OPENSSL_ROOT}/crypto/x509/v3_admis.c
1374    ${OPENSSL_ROOT}/crypto/x509/v3_akeya.c
1375    ${OPENSSL_ROOT}/crypto/x509/v3_akid.c
1376    ${OPENSSL_ROOT}/crypto/x509/v3_asid.c
1377    ${OPENSSL_ROOT}/crypto/x509/v3_bcons.c
1378    ${OPENSSL_ROOT}/crypto/x509/v3_bitst.c
1379    ${OPENSSL_ROOT}/crypto/x509/v3_conf.c
1380    ${OPENSSL_ROOT}/crypto/x509/v3_cpols.c
1381    ${OPENSSL_ROOT}/crypto/x509/v3_crld.c
1382    ${OPENSSL_ROOT}/crypto/x509/v3_enum.c
1383    ${OPENSSL_ROOT}/crypto/x509/v3_extku.c
1384    ${OPENSSL_ROOT}/crypto/x509/v3_genn.c
1385    ${OPENSSL_ROOT}/crypto/x509/v3_ia5.c
1386    ${OPENSSL_ROOT}/crypto/x509/v3_info.c
1387    ${OPENSSL_ROOT}/crypto/x509/v3_int.c
1388    ${OPENSSL_ROOT}/crypto/x509/v3_ist.c
1389    ${OPENSSL_ROOT}/crypto/x509/v3_lib.c
1390    ${OPENSSL_ROOT}/crypto/x509/v3_ncons.c
1391    ${OPENSSL_ROOT}/crypto/x509/v3_pci.c
1392    ${OPENSSL_ROOT}/crypto/x509/v3_pcia.c
1393    ${OPENSSL_ROOT}/crypto/x509/v3_pcons.c
1394    ${OPENSSL_ROOT}/crypto/x509/v3_pku.c
1395    ${OPENSSL_ROOT}/crypto/x509/v3_pmaps.c
1396    ${OPENSSL_ROOT}/crypto/x509/v3_prn.c
1397    ${OPENSSL_ROOT}/crypto/x509/v3_purp.c
1398    ${OPENSSL_ROOT}/crypto/x509/v3_san.c
1399    ${OPENSSL_ROOT}/crypto/x509/v3_skid.c
1400    ${OPENSSL_ROOT}/crypto/x509/v3_sxnet.c
1401    ${OPENSSL_ROOT}/crypto/x509/v3_tlsf.c
1402    ${OPENSSL_ROOT}/crypto/x509/v3_utf8.c
1403    ${OPENSSL_ROOT}/crypto/x509/v3_utl.c
1404    ${OPENSSL_ROOT}/crypto/x509/v3err.c
1405    ${OPENSSL_ROOT}/crypto/x509/x509_att.c
1406    ${OPENSSL_ROOT}/crypto/x509/x509_cmp.c
1407    ${OPENSSL_ROOT}/crypto/x509/x509_d2.c
1408    ${OPENSSL_ROOT}/crypto/x509/x509_def.c
1409    ${OPENSSL_ROOT}/crypto/x509/x509_err.c
1410    ${OPENSSL_ROOT}/crypto/x509/x509_ext.c
1411    ${OPENSSL_ROOT}/crypto/x509/x509_lu.c
1412    ${OPENSSL_ROOT}/crypto/x509/x509_meth.c
1413    ${OPENSSL_ROOT}/crypto/x509/x509_obj.c
1414    ${OPENSSL_ROOT}/crypto/x509/x509_r2x.c
1415    ${OPENSSL_ROOT}/crypto/x509/x509_req.c
1416    ${OPENSSL_ROOT}/crypto/x509/x509_set.c
1417    ${OPENSSL_ROOT}/crypto/x509/x509_trust.c
1418    ${OPENSSL_ROOT}/crypto/x509/x509_txt.c
1419    ${OPENSSL_ROOT}/crypto/x509/x509_v3.c
1420    ${OPENSSL_ROOT}/crypto/x509/x509_vfy.c
1421    ${OPENSSL_ROOT}/crypto/x509/x509_vpm.c
1422    ${OPENSSL_ROOT}/crypto/x509/x509cset.c
1423    ${OPENSSL_ROOT}/crypto/x509/x509name.c
1424    ${OPENSSL_ROOT}/crypto/x509/x509rset.c
1425    ${OPENSSL_ROOT}/crypto/x509/x509spki.c
1426    ${OPENSSL_ROOT}/crypto/x509/x509type.c
1427    ${OPENSSL_ROOT}/crypto/x509/x_all.c
1428    ${OPENSSL_ROOT}/crypto/x509/x_attrib.c
1429    ${OPENSSL_ROOT}/crypto/x509/x_crl.c
1430    ${OPENSSL_ROOT}/crypto/x509/x_exten.c
1431    ${OPENSSL_ROOT}/crypto/x509/x_name.c
1432    ${OPENSSL_ROOT}/crypto/x509/x_pubkey.c
1433    ${OPENSSL_ROOT}/crypto/x509/x_req.c
1434    ${OPENSSL_ROOT}/crypto/x509/x_x509.c
1435    ${OPENSSL_ROOT}/crypto/x509/x_x509a.c
1436    ${OPENSSL_ROOT}/engines/e_capi.c
1437    ${OPENSSL_ROOT}/engines/e_padlock.c
1438    ${OPENSSL_ROOT}/providers/baseprov.c
1439    ${OPENSSL_ROOT}/providers/defltprov.c
1440    ${OPENSSL_ROOT}/providers/legacyprov.c
1441    ${OPENSSL_ROOT}/providers/nullprov.c
1442    ${OPENSSL_ROOT}/providers/prov_running.c
1443)
1444
1445list(APPEND CRYPTO_SOURCES ${LIBCOMMON_COMMON_SOURCES})
1446list(APPEND CRYPTO_SOURCES ${LIBCOMMON_BUILD_ALL_GENERATED_SELECTED_PLATFORM_SOURCES})
1447list(APPEND CRYPTO_SOURCES ${LIBDEFAULT_COMMON_SOURCES})
1448list(APPEND CRYPTO_SOURCES ${LIBDEFAULT_BUILD_ALL_GENERATED_SELECTED_PLATFORM_SOURCES})
1449list(APPEND CRYPTO_SOURCES ${LIBCRYPTO_BUILD_ALL_GENERATED_SELECTED_PLATFORM_SOURCES})
1450list(APPEND CRYPTO_SOURCES ${LIBLEGACY_SOURCES})
1451
1452if ("${OPENSSL_SELECTED_PLATFORM}" STREQUAL "linux-armv4")
1453    list(APPEND CRYPTO_SOURCES
1454        ${OPENSSL_ROOT}/crypto/aes/aes_cbc.c
1455        ${OPENSSL_ROOT}/crypto/armcap.c
1456        ${OPENSSL_ROOT}/crypto/bn/bn_asm.c
1457        ${OPENSSL_ROOT}/crypto/camellia/camellia.c
1458        ${OPENSSL_ROOT}/crypto/camellia/cmll_cbc.c
1459        ${OPENSSL_ROOT}/crypto/rc4/rc4_enc.c
1460        ${OPENSSL_ROOT}/crypto/rc4/rc4_skey.c
1461        ${OPENSSL_ROOT}/crypto/whrlpool/wp_block.c
1462        ${OPENSSL_ROOT}/engines/e_afalg.c
1463    )
1464elseif ("${OPENSSL_SELECTED_PLATFORM}" STREQUAL "linux-aarch64")
1465    list(APPEND CRYPTO_SOURCES
1466        ${OPENSSL_ROOT}/crypto/aes/aes_cbc.c
1467        ${OPENSSL_ROOT}/crypto/aes/aes_core.c
1468        ${OPENSSL_ROOT}/crypto/armcap.c
1469        ${OPENSSL_ROOT}/crypto/bn/bn_asm.c
1470        ${OPENSSL_ROOT}/crypto/camellia/camellia.c
1471        ${OPENSSL_ROOT}/crypto/camellia/cmll_cbc.c
1472        ${OPENSSL_ROOT}/crypto/rc4/rc4_enc.c
1473        ${OPENSSL_ROOT}/crypto/rc4/rc4_skey.c
1474        ${OPENSSL_ROOT}/crypto/whrlpool/wp_block.c
1475        ${OPENSSL_ROOT}/engines/e_afalg.c
1476    )
1477elseif ("${OPENSSL_SELECTED_PLATFORM}" STREQUAL "darwin64-x86_64-cc")
1478    list(APPEND CRYPTO_SOURCES
1479        ${OPENSSL_ROOT}/crypto/bn/asm/x86_64-gcc.c
1480        ${OPENSSL_ROOT}/crypto/bn/rsaz_exp.c
1481        ${OPENSSL_ROOT}/crypto/bn/rsaz_exp_x2.c
1482    )
1483elseif ("${OPENSSL_SELECTED_PLATFORM}" STREQUAL "darwin64-arm64-cc")
1484    list(APPEND CRYPTO_SOURCES
1485        ${OPENSSL_ROOT}/crypto/aes/aes_cbc.c
1486        ${OPENSSL_ROOT}/crypto/aes/aes_core.c
1487        ${OPENSSL_ROOT}/crypto/armcap.c
1488        ${OPENSSL_ROOT}/crypto/bn/bn_asm.c
1489        ${OPENSSL_ROOT}/crypto/camellia/camellia.c
1490        ${OPENSSL_ROOT}/crypto/camellia/cmll_cbc.c
1491        ${OPENSSL_ROOT}/crypto/rc4/rc4_enc.c
1492        ${OPENSSL_ROOT}/crypto/rc4/rc4_skey.c
1493        ${OPENSSL_ROOT}/crypto/whrlpool/wp_block.c
1494    )
1495elseif ("${OPENSSL_SELECTED_PLATFORM}" STREQUAL "linux-x86_64")
1496    list(APPEND CRYPTO_SOURCES
1497        ${OPENSSL_ROOT}/crypto/bn/asm/x86_64-gcc.c
1498        ${OPENSSL_ROOT}/crypto/bn/rsaz_exp.c
1499        ${OPENSSL_ROOT}/crypto/bn/rsaz_exp_x2.c
1500        ${OPENSSL_ROOT}/engines/e_afalg.c
1501    )
1502# elseif ("${OPENSSL_SELECTED_PLATFORM}" STREQUAL "linux-x86")
1503elseif ("${OPENSSL_SELECTED_PLATFORM}" STREQUAL "mingw64")
1504    list(APPEND CRYPTO_SOURCES
1505        ${OPENSSL_ROOT}/crypto/bn/asm/x86_64-gcc.c
1506        ${OPENSSL_ROOT}/crypto/bn/rsaz_exp.c
1507        ${OPENSSL_ROOT}/crypto/bn/rsaz_exp_x2.c
1508        ${OPENSSL_ROOT}/crypto/dllmain.c
1509    )
1510endif()
1511
1512panda_add_library(crypto_shared ${PANDA_DEFAULT_LIB_TYPE} ${CRYPTO_SOURCES})
1513panda_target_include_directories(crypto_shared SYSTEM
1514    PUBLIC ${CRYPTO_CONFIG_COMMON_PUBLIC_INCLUDES}
1515    PRIVATE ${CRYPTO_CONFIG_COMMON_PRIVATE_INCLUDES}
1516)
1517panda_target_compile_options(crypto_shared PRIVATE ${OPENSSL_CFLAGS_CC})
1518panda_target_compile_definitions(crypto_shared PRIVATE ${OPENSSL_DEFINITIONS})
1519