diff options
Diffstat (limited to 'crypto/CMakeLists.txt')
-rw-r--r-- | crypto/CMakeLists.txt | 117 |
1 files changed, 75 insertions, 42 deletions
diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt index e642b01..f67d2bd 100644 --- a/crypto/CMakeLists.txt +++ b/crypto/CMakeLists.txt | |||
@@ -1,30 +1,28 @@ | |||
1 | add_definitions(-DLIBRESSL_CRYPTO_INTERNAL) | 1 | # |
2 | # Copyright (c) 2014 Brent Cook | ||
3 | # | ||
4 | # Permission to use, copy, modify, and distribute this software for any | ||
5 | # purpose with or without fee is hereby granted, provided that the above | ||
6 | # copyright notice and this permission notice appear in all copies. | ||
7 | # | ||
8 | # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||
9 | # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||
10 | # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||
11 | # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||
12 | # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||
13 | # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||
14 | # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||
2 | 15 | ||
3 | if(HOST_ASM_ELF_ARMV4) | 16 | add_definitions(-DLIBRESSL_CRYPTO_INTERNAL) |
4 | set( | ||
5 | ASM_ARMV4_ELF_SRC | ||
6 | aes/aes-elf-armv4.S | ||
7 | bn/mont-elf-armv4.S | ||
8 | sha/sha1-elf-armv4.S | ||
9 | sha/sha512-elf-armv4.S | ||
10 | sha/sha256-elf-armv4.S | ||
11 | modes/ghash-elf-armv4.S | ||
12 | armv4cpuid.S | ||
13 | armcap.c | ||
14 | ) | ||
15 | add_definitions(-DAES_ASM) | ||
16 | add_definitions(-DOPENSSL_BN_ASM_MONT) | ||
17 | add_definitions(-DGHASH_ASM) | ||
18 | add_definitions(-DOPENSSL_CPUID_OBJ) | ||
19 | set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_ARMV4_ELF_SRC}) | ||
20 | endif() | ||
21 | 17 | ||
22 | if(HOST_ASM_ELF_X86_64) | 18 | if(HOST_ASM_ELF_X86_64) |
19 | set(CRYPTO_SRC ${CRYPTO_SRC} aes/aes_amd64.c) | ||
20 | set(CRYPTO_SRC ${CRYPTO_SRC} bn/arch/amd64/bn_arch.c) | ||
21 | set(CRYPTO_SRC ${CRYPTO_SRC} modes/gcm128_amd64.c) | ||
22 | |||
23 | set( | 23 | set( |
24 | ASM_X86_64_ELF_SRC | 24 | ASM_X86_64_ELF_SRC |
25 | aes/aes-elf-x86_64.S | 25 | aes/aes-elf-x86_64.S |
26 | aes/bsaes-elf-x86_64.S | ||
27 | aes/vpaes-elf-x86_64.S | ||
28 | aes/aesni-elf-x86_64.S | 26 | aes/aesni-elf-x86_64.S |
29 | bn/modexp512-elf-x86_64.S | 27 | bn/modexp512-elf-x86_64.S |
30 | bn/mont-elf-x86_64.S | 28 | bn/mont-elf-x86_64.S |
@@ -35,15 +33,24 @@ if(HOST_ASM_ELF_X86_64) | |||
35 | bn/arch/amd64/bignum_add.S | 33 | bn/arch/amd64/bignum_add.S |
36 | bn/arch/amd64/bignum_cmadd.S | 34 | bn/arch/amd64/bignum_cmadd.S |
37 | bn/arch/amd64/bignum_cmul.S | 35 | bn/arch/amd64/bignum_cmul.S |
36 | bn/arch/amd64/bignum_modadd.S | ||
37 | bn/arch/amd64/bignum_modsub.S | ||
38 | bn/arch/amd64/bignum_mul.S | 38 | bn/arch/amd64/bignum_mul.S |
39 | bn/arch/amd64/bignum_mul_4_8.S | ||
39 | bn/arch/amd64/bignum_mul_4_8_alt.S | 40 | bn/arch/amd64/bignum_mul_4_8_alt.S |
41 | bn/arch/amd64/bignum_mul_6_12.S | ||
42 | bn/arch/amd64/bignum_mul_6_12_alt.S | ||
43 | bn/arch/amd64/bignum_mul_8_16.S | ||
40 | bn/arch/amd64/bignum_mul_8_16_alt.S | 44 | bn/arch/amd64/bignum_mul_8_16_alt.S |
41 | bn/arch/amd64/bignum_sqr.S | 45 | bn/arch/amd64/bignum_sqr.S |
46 | bn/arch/amd64/bignum_sqr_4_8.S | ||
42 | bn/arch/amd64/bignum_sqr_4_8_alt.S | 47 | bn/arch/amd64/bignum_sqr_4_8_alt.S |
48 | bn/arch/amd64/bignum_sqr_6_12.S | ||
49 | bn/arch/amd64/bignum_sqr_6_12_alt.S | ||
50 | bn/arch/amd64/bignum_sqr_8_16.S | ||
43 | bn/arch/amd64/bignum_sqr_8_16_alt.S | 51 | bn/arch/amd64/bignum_sqr_8_16_alt.S |
44 | bn/arch/amd64/bignum_sub.S | 52 | bn/arch/amd64/bignum_sub.S |
45 | bn/arch/amd64/word_clz.S | 53 | bn/arch/amd64/word_clz.S |
46 | bn/arch/amd64/bn_arch.c | ||
47 | ) | 54 | ) |
48 | add_definitions(-DAES_ASM) | 55 | add_definitions(-DAES_ASM) |
49 | add_definitions(-DBSAES_ASM) | 56 | add_definitions(-DBSAES_ASM) |
@@ -57,11 +64,13 @@ if(HOST_ASM_ELF_X86_64) | |||
57 | endif() | 64 | endif() |
58 | 65 | ||
59 | if(HOST_ASM_MACOSX_X86_64) | 66 | if(HOST_ASM_MACOSX_X86_64) |
67 | set(CRYPTO_SRC ${CRYPTO_SRC} aes/aes_amd64.c) | ||
68 | set(CRYPTO_SRC ${CRYPTO_SRC} bn/arch/amd64/bn_arch.c) | ||
69 | set(CRYPTO_SRC ${CRYPTO_SRC} modes/gcm128_amd64.c) | ||
70 | |||
60 | set( | 71 | set( |
61 | ASM_X86_64_MACOSX_SRC | 72 | ASM_X86_64_MACOSX_SRC |
62 | aes/aes-macosx-x86_64.S | 73 | aes/aes-macosx-x86_64.S |
63 | aes/bsaes-macosx-x86_64.S | ||
64 | aes/vpaes-macosx-x86_64.S | ||
65 | aes/aesni-macosx-x86_64.S | 74 | aes/aesni-macosx-x86_64.S |
66 | bn/modexp512-macosx-x86_64.S | 75 | bn/modexp512-macosx-x86_64.S |
67 | bn/mont-macosx-x86_64.S | 76 | bn/mont-macosx-x86_64.S |
@@ -72,15 +81,24 @@ if(HOST_ASM_MACOSX_X86_64) | |||
72 | bn/arch/amd64/bignum_add.S | 81 | bn/arch/amd64/bignum_add.S |
73 | bn/arch/amd64/bignum_cmadd.S | 82 | bn/arch/amd64/bignum_cmadd.S |
74 | bn/arch/amd64/bignum_cmul.S | 83 | bn/arch/amd64/bignum_cmul.S |
84 | bn/arch/amd64/bignum_modadd.S | ||
85 | bn/arch/amd64/bignum_modsub.S | ||
75 | bn/arch/amd64/bignum_mul.S | 86 | bn/arch/amd64/bignum_mul.S |
87 | bn/arch/amd64/bignum_mul_4_8.S | ||
76 | bn/arch/amd64/bignum_mul_4_8_alt.S | 88 | bn/arch/amd64/bignum_mul_4_8_alt.S |
89 | bn/arch/amd64/bignum_mul_6_12.S | ||
90 | bn/arch/amd64/bignum_mul_6_12_alt.S | ||
91 | bn/arch/amd64/bignum_mul_8_16.S | ||
77 | bn/arch/amd64/bignum_mul_8_16_alt.S | 92 | bn/arch/amd64/bignum_mul_8_16_alt.S |
78 | bn/arch/amd64/bignum_sqr.S | 93 | bn/arch/amd64/bignum_sqr.S |
94 | bn/arch/amd64/bignum_sqr_4_8.S | ||
79 | bn/arch/amd64/bignum_sqr_4_8_alt.S | 95 | bn/arch/amd64/bignum_sqr_4_8_alt.S |
96 | bn/arch/amd64/bignum_sqr_6_12.S | ||
97 | bn/arch/amd64/bignum_sqr_6_12_alt.S | ||
98 | bn/arch/amd64/bignum_sqr_8_16.S | ||
80 | bn/arch/amd64/bignum_sqr_8_16_alt.S | 99 | bn/arch/amd64/bignum_sqr_8_16_alt.S |
81 | bn/arch/amd64/bignum_sub.S | 100 | bn/arch/amd64/bignum_sub.S |
82 | bn/arch/amd64/word_clz.S | 101 | bn/arch/amd64/word_clz.S |
83 | bn/arch/amd64/bn_arch.c | ||
84 | ) | 102 | ) |
85 | add_definitions(-DAES_ASM) | 103 | add_definitions(-DAES_ASM) |
86 | add_definitions(-DBSAES_ASM) | 104 | add_definitions(-DBSAES_ASM) |
@@ -95,11 +113,12 @@ if(HOST_ASM_MACOSX_X86_64) | |||
95 | endif() | 113 | endif() |
96 | 114 | ||
97 | if(HOST_ASM_MASM_X86_64) | 115 | if(HOST_ASM_MASM_X86_64) |
116 | set(CRYPTO_SRC ${CRYPTO_SRC} aes/aes_amd64.c) | ||
117 | set(CRYPTO_SRC ${CRYPTO_SRC} modes/gcm128_amd64.c) | ||
118 | |||
98 | set( | 119 | set( |
99 | ASM_X86_64_MASM_SRC | 120 | ASM_X86_64_MASM_SRC |
100 | aes/aes-masm-x86_64.S | 121 | aes/aes-masm-x86_64.S |
101 | aes/bsaes-masm-x86_64.S | ||
102 | aes/vpaes-masm-x86_64.S | ||
103 | aes/aesni-masm-x86_64.S | 122 | aes/aesni-masm-x86_64.S |
104 | #bn/modexp512-masm-x86_64.S | 123 | #bn/modexp512-masm-x86_64.S |
105 | #bn/mont-masm-x86_64.S | 124 | #bn/mont-masm-x86_64.S |
@@ -121,11 +140,12 @@ if(HOST_ASM_MASM_X86_64) | |||
121 | endif() | 140 | endif() |
122 | 141 | ||
123 | if(HOST_ASM_MINGW64_X86_64) | 142 | if(HOST_ASM_MINGW64_X86_64) |
143 | set(CRYPTO_SRC ${CRYPTO_SRC} aes/aes_amd64.c) | ||
144 | set(CRYPTO_SRC ${CRYPTO_SRC} modes/gcm128_amd64.c) | ||
145 | |||
124 | set( | 146 | set( |
125 | ASM_X86_64_MINGW64_SRC | 147 | ASM_X86_64_MINGW64_SRC |
126 | aes/aes-mingw64-x86_64.S | 148 | aes/aes-mingw64-x86_64.S |
127 | aes/bsaes-mingw64-x86_64.S | ||
128 | aes/vpaes-mingw64-x86_64.S | ||
129 | aes/aesni-mingw64-x86_64.S | 149 | aes/aesni-mingw64-x86_64.S |
130 | #bn/modexp512-mingw64-x86_64.S | 150 | #bn/modexp512-mingw64-x86_64.S |
131 | #bn/mont-mingw64-x86_64.S | 151 | #bn/mont-mingw64-x86_64.S |
@@ -146,7 +166,17 @@ if(HOST_ASM_MINGW64_X86_64) | |||
146 | endif() | 166 | endif() |
147 | 167 | ||
148 | if(HOST_AARCH64) | 168 | if(HOST_AARCH64) |
149 | set(CRYPTO_SRC ${CRYPTO_SRC} arch/aarch64/crypto_cpu_caps.c) | 169 | if(APPLE) |
170 | set(CRYPTO_SRC ${CRYPTO_SRC} arch/aarch64/crypto_cpu_caps_darwin.c) | ||
171 | elseif(LINUX) | ||
172 | set(CRYPTO_SRC ${CRYPTO_SRC} arch/aarch64/crypto_cpu_caps_linux.c) | ||
173 | elseif(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD") | ||
174 | set(CRYPTO_SRC ${CRYPTO_SRC} arch/aarch64/crypto_cpu_caps.c) | ||
175 | elseif(WIN32) | ||
176 | set(CRYPTO_SRC ${CRYPTO_SRC} arch/aarch64/crypto_cpu_caps_windows.c) | ||
177 | else() | ||
178 | set(CRYPTO_SRC ${CRYPTO_SRC} arch/aarch64/crypto_cpu_caps_none.c) | ||
179 | endif() | ||
150 | elseif(HOST_X86_64) | 180 | elseif(HOST_X86_64) |
151 | set(CRYPTO_SRC ${CRYPTO_SRC} arch/amd64/crypto_cpu_caps.c) | 181 | set(CRYPTO_SRC ${CRYPTO_SRC} arch/amd64/crypto_cpu_caps.c) |
152 | elseif(HOST_I386) | 182 | elseif(HOST_I386) |
@@ -163,7 +193,6 @@ set( | |||
163 | crypto_memory.c | 193 | crypto_memory.c |
164 | aes/aes.c | 194 | aes/aes.c |
165 | aes/aes_core.c | 195 | aes/aes_core.c |
166 | aes/aes_ige.c | ||
167 | asn1/a_bitstr.c | 196 | asn1/a_bitstr.c |
168 | asn1/a_enum.c | 197 | asn1/a_enum.c |
169 | asn1/a_int.c | 198 | asn1/a_int.c |
@@ -213,10 +242,8 @@ set( | |||
213 | asn1/x_bignum.c | 242 | asn1/x_bignum.c |
214 | asn1/x_crl.c | 243 | asn1/x_crl.c |
215 | asn1/x_exten.c | 244 | asn1/x_exten.c |
216 | asn1/x_info.c | ||
217 | asn1/x_long.c | 245 | asn1/x_long.c |
218 | asn1/x_name.c | 246 | asn1/x_name.c |
219 | asn1/x_pkey.c | ||
220 | asn1/x_pubkey.c | 247 | asn1/x_pubkey.c |
221 | asn1/x_req.c | 248 | asn1/x_req.c |
222 | asn1/x_sig.c | 249 | asn1/x_sig.c |
@@ -245,6 +272,7 @@ set( | |||
245 | bio/bss_null.c | 272 | bio/bss_null.c |
246 | bio/bss_sock.c | 273 | bio/bss_sock.c |
247 | bn/bn_add.c | 274 | bn/bn_add.c |
275 | bn/bn_add_sub.c | ||
248 | bn/bn_bpsw.c | 276 | bn/bn_bpsw.c |
249 | bn/bn_const.c | 277 | bn/bn_const.c |
250 | bn/bn_convert.c | 278 | bn/bn_convert.c |
@@ -258,6 +286,7 @@ set( | |||
258 | bn/bn_lib.c | 286 | bn/bn_lib.c |
259 | bn/bn_mod.c | 287 | bn/bn_mod.c |
260 | bn/bn_mod_sqrt.c | 288 | bn/bn_mod_sqrt.c |
289 | bn/bn_mod_words.c | ||
261 | bn/bn_mont.c | 290 | bn/bn_mont.c |
262 | bn/bn_mul.c | 291 | bn/bn_mul.c |
263 | bn/bn_prime.c | 292 | bn/bn_prime.c |
@@ -339,11 +368,13 @@ set( | |||
339 | ec/ec_convert.c | 368 | ec/ec_convert.c |
340 | ec/ec_curve.c | 369 | ec/ec_curve.c |
341 | ec/ec_err.c | 370 | ec/ec_err.c |
371 | ec/ec_field.c | ||
342 | ec/ec_key.c | 372 | ec/ec_key.c |
343 | ec/ec_lib.c | 373 | ec/ec_lib.c |
344 | ec/ec_mult.c | 374 | ec/ec_mult.c |
345 | ec/ec_pmeth.c | 375 | ec/ec_pmeth.c |
346 | ec/eck_prn.c | 376 | ec/eck_prn.c |
377 | ec/ecp_hp_methods.c | ||
347 | ec/ecp_methods.c | 378 | ec/ecp_methods.c |
348 | ec/ecx_methods.c | 379 | ec/ecx_methods.c |
349 | ecdh/ecdh.c | 380 | ecdh/ecdh.c |
@@ -405,8 +436,10 @@ set( | |||
405 | lhash/lhash.c | 436 | lhash/lhash.c |
406 | md4/md4.c | 437 | md4/md4.c |
407 | md5/md5.c | 438 | md5/md5.c |
408 | mlkem/mlkem768.c | 439 | mlkem/mlkem.c |
409 | mlkem/mlkem1024.c | 440 | mlkem/mlkem1024.c |
441 | mlkem/mlkem768.c | ||
442 | mlkem/mlkem_key.c | ||
410 | modes/cbc128.c | 443 | modes/cbc128.c |
411 | modes/ccm128.c | 444 | modes/ccm128.c |
412 | modes/cfb128.c | 445 | modes/cfb128.c |
@@ -464,11 +497,7 @@ set( | |||
464 | rand/rand_err.c | 497 | rand/rand_err.c |
465 | rand/rand_lib.c | 498 | rand/rand_lib.c |
466 | rand/randfile.c | 499 | rand/randfile.c |
467 | rc2/rc2_cbc.c | 500 | rc2/rc2.c |
468 | rc2/rc2_ecb.c | ||
469 | rc2/rc2_skey.c | ||
470 | rc2/rc2cfb64.c | ||
471 | rc2/rc2ofb64.c | ||
472 | rc4/rc4.c | 501 | rc4/rc4.c |
473 | ripemd/ripemd.c | 502 | ripemd/ripemd.c |
474 | rsa/rsa_ameth.c | 503 | rsa/rsa_ameth.c |
@@ -570,17 +599,17 @@ set( | |||
570 | 599 | ||
571 | set(COMPAT_SRC empty.c) | 600 | set(COMPAT_SRC empty.c) |
572 | 601 | ||
602 | set(CRYPTO_UNEXPORT ${CRYPTO_UNEXPORT} BIO_s_log) | ||
603 | |||
573 | if(UNIX) | 604 | if(UNIX) |
574 | set(CRYPTO_SRC ${CRYPTO_SRC} crypto_lock.c) | 605 | set(CRYPTO_SRC ${CRYPTO_SRC} crypto_lock.c) |
575 | set(CRYPTO_SRC ${CRYPTO_SRC} bio/b_posix.c) | 606 | set(CRYPTO_SRC ${CRYPTO_SRC} bio/b_posix.c) |
576 | set(CRYPTO_SRC ${CRYPTO_SRC} bio/bss_log.c) | ||
577 | set(CRYPTO_SRC ${CRYPTO_SRC} ui/ui_openssl.c) | 607 | set(CRYPTO_SRC ${CRYPTO_SRC} ui/ui_openssl.c) |
578 | endif() | 608 | endif() |
579 | 609 | ||
580 | if(WIN32) | 610 | if(WIN32) |
581 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/crypto_lock_win.c) | 611 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/crypto_lock_win.c) |
582 | set(CRYPTO_SRC ${CRYPTO_SRC} bio/b_win.c) | 612 | set(CRYPTO_SRC ${CRYPTO_SRC} bio/b_win.c) |
583 | set(CRYPTO_UNEXPORT ${CRYPTO_UNEXPORT} BIO_s_log) | ||
584 | set(CRYPTO_SRC ${CRYPTO_SRC} ui/ui_openssl_win.c) | 613 | set(CRYPTO_SRC ${CRYPTO_SRC} ui/ui_openssl_win.c) |
585 | endif() | 614 | endif() |
586 | 615 | ||
@@ -736,6 +765,7 @@ add_library(crypto_obj OBJECT ${CRYPTO_SRC}) | |||
736 | target_include_directories(crypto_obj | 765 | target_include_directories(crypto_obj |
737 | PRIVATE | 766 | PRIVATE |
738 | . | 767 | . |
768 | aes | ||
739 | asn1 | 769 | asn1 |
740 | bio | 770 | bio |
741 | bn | 771 | bn |
@@ -774,11 +804,14 @@ elseif(HOST_ARM) | |||
774 | elseif(HOST_I386) | 804 | elseif(HOST_I386) |
775 | target_include_directories(crypto_obj PRIVATE arch/i386/) | 805 | target_include_directories(crypto_obj PRIVATE arch/i386/) |
776 | target_include_directories(crypto_obj PRIVATE bn/arch/i386/) | 806 | target_include_directories(crypto_obj PRIVATE bn/arch/i386/) |
807 | elseif(HOST_LOONGARCH64) | ||
808 | target_include_directories(crypto_obj PRIVATE arch/loongarch64) | ||
809 | target_include_directories(crypto_obj PRIVATE bn/arch/loongarch64) | ||
777 | elseif(HOST_MIPS64) | 810 | elseif(HOST_MIPS64) |
778 | target_include_directories(crypto_obj PRIVATE arch/mips64) | 811 | target_include_directories(crypto_obj PRIVATE arch/mips64) |
779 | target_include_directories(crypto_obj PRIVATE bn/arch/mips64) | 812 | target_include_directories(crypto_obj PRIVATE bn/arch/mips64) |
780 | elseif(HOST_MIPS) | 813 | elseif(HOST_MIPS) |
781 | # XXX - can this go away? the directory doesn't exist... | 814 | target_include_directories(crypto_obj PRIVATE arch/mips) |
782 | target_include_directories(crypto_obj PRIVATE bn/arch/mips) | 815 | target_include_directories(crypto_obj PRIVATE bn/arch/mips) |
783 | elseif(HOST_POWERPC) | 816 | elseif(HOST_POWERPC) |
784 | target_include_directories(crypto_obj PRIVATE arch/powerpc) | 817 | target_include_directories(crypto_obj PRIVATE arch/powerpc) |