ya.make 34 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367
  1. LIBRARY()
  2. LICENSE(
  3. Apache-2.0 AND
  4. BSD-2-Clause AND
  5. BSD-3-Clause AND
  6. BSD-Source-Code AND
  7. CC0-1.0 AND
  8. OpenSSL AND
  9. Public-Domain AND
  10. Snprintf
  11. )
  12. LICENSE_TEXTS(.yandex_meta/licenses.list.txt)
  13. IF (OPENSOURCE_REPLACE_OPENSSL)
  14. OPENSOURCE_EXPORT_REPLACEMENT(
  15. CMAKE OpenSSL
  16. CMAKE_PACKAGE_COMPONENT Crypto
  17. CMAKE_TARGET OpenSSL::Crypto
  18. CONAN openssl/${OPENSOURCE_REPLACE_OPENSSL}
  19. )
  20. ENDIF() # IF (OPENSOURCE_REPLACE_OPENSSL)
  21. PEERDIR(
  22. contrib/libs/zlib
  23. library/cpp/sanitizer/include
  24. )
  25. ADDINCL(
  26. contrib/libs/openssl
  27. contrib/libs/openssl/crypto
  28. contrib/libs/openssl/crypto/ec/curve448
  29. contrib/libs/openssl/crypto/ec/curve448/arch_32
  30. contrib/libs/openssl/crypto/modes
  31. contrib/libs/openssl/include
  32. )
  33. IF (NOT EXPORT_CMAKE OR NOT OPENSOURCE_REPLACE_OPENSSL)
  34. IF (OS_LINUX)
  35. IF (ARCH_ARM64)
  36. SET(LINUX_ARM64 yes)
  37. ELSEIF (ARCH_ARM7)
  38. SET(LINUX_ARMV7 yes)
  39. ELSEIF (ARCH_X86_64)
  40. SET(LINUX_X86_64 yes)
  41. ENDIF()
  42. ENDIF()
  43. IF (OS_IOS)
  44. IF (ARCH_ARM64)
  45. SET(IOS_ARM64 yes)
  46. ELSEIF (ARCH_ARM7)
  47. SET(IOS_ARMV7 yes)
  48. ELSEIF (ARCH_X86_64)
  49. SET(IOS_X86_64 yes)
  50. ELSEIF (ARCH_I386)
  51. SET(IOS_I386 yes)
  52. ENDIF()
  53. ENDIF()
  54. IF (OS_ANDROID)
  55. IF (ARCH_ARM64)
  56. SET(ANDROID_ARM64 yes)
  57. ELSEIF (ARCH_ARM7)
  58. SET(ANDROID_ARMV7 yes)
  59. ELSEIF (ARCH_X86_64)
  60. SET(ANDROID_X86_64 yes)
  61. ELSEIF (ARCH_I686)
  62. SET(ANDROID_I686 yes)
  63. ENDIF()
  64. ENDIF()
  65. IF (OS_WINDOWS)
  66. IF (ARCH_X86_64)
  67. SET(WINDOWS_X86_64 yes)
  68. ELSEIF (ARCH_I686)
  69. SET(WINDOWS_I686 yes)
  70. ENDIF()
  71. ENDIF()
  72. IF (OS_DARWIN AND ARCH_ARM64)
  73. SET(DARWIN_ARM64 yes)
  74. ENDIF()
  75. NO_COMPILER_WARNINGS()
  76. NO_RUNTIME()
  77. CFLAGS(
  78. -DOPENSSL_BN_ASM_MONT
  79. -DOPENSSL_CPUID_OBJ
  80. -DSHA1_ASM
  81. -DSHA256_ASM
  82. -DSHA512_ASM
  83. -DZLIB
  84. )
  85. IF (NOT OS_IOS AND NOT DARWIN_ARM64)
  86. CFLAGS(
  87. -DDSO_NONE
  88. -DAESNI_ASM
  89. )
  90. ENDIF()
  91. IF (NOT WINDOWS_I686)
  92. CFLAGS(
  93. -DECP_NISTZ256_ASM
  94. -DPOLY1305_ASM
  95. )
  96. ENDIF()
  97. IF (NOT IOS_I386 AND NOT ANDROID_I686 AND NOT WINDOWS_I686)
  98. CFLAGS(
  99. -DKECCAK1600_ASM
  100. )
  101. ENDIF()
  102. IF (NOT IOS_ARMV7 AND NOT ANDROID_ARMV7 AND NOT LINUX_ARMV7)
  103. CFLAGS(
  104. -DVPAES_ASM
  105. )
  106. ENDIF()
  107. IF (NOT OS_WINDOWS)
  108. CFLAGS(
  109. -DENGINESDIR=\"/usr/local/lib/engines-1.1\"
  110. -DOPENSSLDIR=\"/usr/local/ssl\"
  111. )
  112. ENDIF()
  113. IF (OS_DARWIN AND ARCH_X86_64 OR OS_LINUX AND ARCH_X86_64 OR OS_WINDOWS AND ARCH_X86_64)
  114. CFLAGS(
  115. -DGHASH_ASM
  116. -DL_ENDIAN
  117. -DMD5_ASM
  118. -DOPENSSL_BN_ASM_GF2m
  119. -DOPENSSL_BN_ASM_MONT5
  120. -DOPENSSL_IA32_SSE2
  121. -DRC4_ASM
  122. -DX25519_ASM
  123. )
  124. ENDIF()
  125. IF (OS_LINUX AND ARCH_AARCH64 OR OS_LINUX AND ARCH_X86_64)
  126. CFLAGS(
  127. -DOPENSSL_USE_NODELETE
  128. )
  129. ENDIF()
  130. IF (OS_DARWIN AND ARCH_ARM64)
  131. CFLAGS(
  132. -DL_ENDIAN
  133. -DOPENSSL_PIC
  134. )
  135. ENDIF()
  136. IF (OS_WINDOWS)
  137. IF (ARCH_X86_64)
  138. CFLAGS(
  139. -DENGINESDIR="\"C:\\\\Program\ Files\\\\OpenSSL\\\\lib\\\\engines-1_1\""
  140. -DOPENSSLDIR="\"C:\\\\Program\ Files\\\\Common\ Files\\\\SSL\""
  141. )
  142. ELSEIF (ARCH_I386)
  143. CFLAGS(
  144. -DENGINESDIR="\"C:\\\\Program\ Files\ \(x86\)\\\\OpenSSL\\\\lib\\\\engines-1_1\""
  145. -DOPENSSLDIR="\"C:\\\\Program\ Files\ \(x86\)\\\\Common\ Files\\\\SSL\""
  146. )
  147. ENDIF()
  148. CFLAGS(
  149. -DOPENSSL_SYS_WIN32
  150. /GF
  151. )
  152. ENDIF()
  153. IF (SANITIZER_TYPE == memory)
  154. CFLAGS(
  155. -DPURIFY
  156. )
  157. ENDIF()
  158. IF (MUSL)
  159. CFLAGS(
  160. -DOPENSSL_NO_ASYNC
  161. )
  162. ENDIF()
  163. IF (ARCH_TYPE_32)
  164. CFLAGS(
  165. -DOPENSSL_NO_EC_NISTP_64_GCC_128
  166. )
  167. ENDIF()
  168. IF (ARCH_X86_64 AND NOT MSVC)
  169. SET_APPEND(
  170. SFLAGS
  171. -mavx512bw
  172. -mavx512ifma
  173. -mavx512vl
  174. )
  175. ENDIF()
  176. SRCS(
  177. aes/aes_cbc.c
  178. aes/aes_cfb.c
  179. aes/aes_ecb.c
  180. aes/aes_ige.c
  181. aes/aes_misc.c
  182. aes/aes_ofb.c
  183. aes/aes_wrap.c
  184. aria/aria.c
  185. asn1/a_bitstr.c
  186. asn1/a_d2i_fp.c
  187. asn1/a_digest.c
  188. asn1/a_dup.c
  189. asn1/a_gentm.c
  190. asn1/a_i2d_fp.c
  191. asn1/a_int.c
  192. asn1/a_mbstr.c
  193. asn1/a_object.c
  194. asn1/a_octet.c
  195. asn1/a_print.c
  196. asn1/a_sign.c
  197. asn1/a_strex.c
  198. asn1/a_strnid.c
  199. asn1/a_time.c
  200. asn1/a_type.c
  201. asn1/a_utctm.c
  202. asn1/a_utf8.c
  203. asn1/a_verify.c
  204. asn1/ameth_lib.c
  205. asn1/asn1_err.c
  206. asn1/asn1_gen.c
  207. asn1/asn1_item_list.c
  208. asn1/asn1_lib.c
  209. asn1/asn1_par.c
  210. asn1/asn_mime.c
  211. asn1/asn_moid.c
  212. asn1/asn_mstbl.c
  213. asn1/asn_pack.c
  214. asn1/bio_asn1.c
  215. asn1/bio_ndef.c
  216. asn1/d2i_pr.c
  217. asn1/d2i_pu.c
  218. asn1/evp_asn1.c
  219. asn1/f_int.c
  220. asn1/f_string.c
  221. asn1/i2d_pr.c
  222. asn1/i2d_pu.c
  223. asn1/n_pkey.c
  224. asn1/nsseq.c
  225. asn1/p5_pbe.c
  226. asn1/p5_pbev2.c
  227. asn1/p5_scrypt.c
  228. asn1/p8_pkey.c
  229. asn1/t_bitst.c
  230. asn1/t_pkey.c
  231. asn1/t_spki.c
  232. asn1/tasn_dec.c
  233. asn1/tasn_enc.c
  234. asn1/tasn_fre.c
  235. asn1/tasn_new.c
  236. asn1/tasn_prn.c
  237. asn1/tasn_scn.c
  238. asn1/tasn_typ.c
  239. asn1/tasn_utl.c
  240. asn1/x_algor.c
  241. asn1/x_bignum.c
  242. asn1/x_info.c
  243. asn1/x_int64.c
  244. asn1/x_long.c
  245. asn1/x_pkey.c
  246. asn1/x_sig.c
  247. asn1/x_spki.c
  248. asn1/x_val.c
  249. async/arch/async_null.c
  250. async/arch/async_posix.c
  251. async/arch/async_win.c
  252. async/async.c
  253. async/async_err.c
  254. async/async_wait.c
  255. bf/bf_cfb64.c
  256. bf/bf_ecb.c
  257. bf/bf_ofb64.c
  258. bf/bf_skey.c
  259. bio/b_addr.c
  260. bio/b_dump.c
  261. bio/b_print.c
  262. bio/b_sock.c
  263. bio/b_sock2.c
  264. bio/bf_buff.c
  265. bio/bf_lbuf.c
  266. bio/bf_nbio.c
  267. bio/bf_null.c
  268. bio/bio_cb.c
  269. bio/bio_err.c
  270. bio/bio_lib.c
  271. bio/bio_meth.c
  272. bio/bss_acpt.c
  273. bio/bss_bio.c
  274. bio/bss_conn.c
  275. bio/bss_dgram.c
  276. bio/bss_fd.c
  277. bio/bss_file.c
  278. bio/bss_log.c
  279. bio/bss_mem.c
  280. bio/bss_null.c
  281. bio/bss_sock.c
  282. blake2/blake2b.c
  283. blake2/blake2s.c
  284. blake2/m_blake2b.c
  285. blake2/m_blake2s.c
  286. bn/bn_add.c
  287. bn/bn_blind.c
  288. bn/bn_const.c
  289. bn/bn_ctx.c
  290. bn/bn_depr.c
  291. bn/bn_dh.c
  292. bn/bn_div.c
  293. bn/bn_err.c
  294. bn/bn_exp.c
  295. bn/bn_exp2.c
  296. bn/bn_gcd.c
  297. bn/bn_gf2m.c
  298. bn/bn_intern.c
  299. bn/bn_kron.c
  300. bn/bn_lib.c
  301. bn/bn_mod.c
  302. bn/bn_mont.c
  303. bn/bn_mpi.c
  304. bn/bn_mul.c
  305. bn/bn_nist.c
  306. bn/bn_prime.c
  307. bn/bn_print.c
  308. bn/bn_rand.c
  309. bn/bn_recp.c
  310. bn/bn_shift.c
  311. bn/bn_sqr.c
  312. bn/bn_sqrt.c
  313. bn/bn_srp.c
  314. bn/bn_word.c
  315. bn/bn_x931p.c
  316. buffer/buf_err.c
  317. buffer/buffer.c
  318. camellia/cmll_cfb.c
  319. camellia/cmll_ctr.c
  320. camellia/cmll_ecb.c
  321. camellia/cmll_ofb.c
  322. cast/c_cfb64.c
  323. cast/c_ecb.c
  324. cast/c_enc.c
  325. cast/c_ofb64.c
  326. cast/c_skey.c
  327. cmac/cm_ameth.c
  328. cmac/cm_pmeth.c
  329. cmac/cmac.c
  330. cms/cms_asn1.c
  331. cms/cms_att.c
  332. cms/cms_cd.c
  333. cms/cms_dd.c
  334. cms/cms_enc.c
  335. cms/cms_env.c
  336. cms/cms_err.c
  337. cms/cms_ess.c
  338. cms/cms_io.c
  339. cms/cms_kari.c
  340. cms/cms_lib.c
  341. cms/cms_pwri.c
  342. cms/cms_sd.c
  343. cms/cms_smime.c
  344. comp/c_zlib.c
  345. comp/comp_err.c
  346. comp/comp_lib.c
  347. conf/conf_api.c
  348. conf/conf_def.c
  349. conf/conf_err.c
  350. conf/conf_lib.c
  351. conf/conf_mall.c
  352. conf/conf_mod.c
  353. conf/conf_sap.c
  354. conf/conf_ssl.c
  355. cpt_err.c
  356. cryptlib.c
  357. ct/ct_b64.c
  358. ct/ct_err.c
  359. ct/ct_log.c
  360. ct/ct_oct.c
  361. ct/ct_policy.c
  362. ct/ct_prn.c
  363. ct/ct_sct.c
  364. ct/ct_sct_ctx.c
  365. ct/ct_vfy.c
  366. ct/ct_x509v3.c
  367. ctype.c
  368. cversion.c
  369. des/cbc_cksm.c
  370. des/cbc_enc.c
  371. des/cfb64ede.c
  372. des/cfb64enc.c
  373. des/cfb_enc.c
  374. des/ecb3_enc.c
  375. des/ecb_enc.c
  376. des/fcrypt.c
  377. des/ofb64ede.c
  378. des/ofb64enc.c
  379. des/ofb_enc.c
  380. des/pcbc_enc.c
  381. des/qud_cksm.c
  382. des/rand_key.c
  383. des/set_key.c
  384. des/str2key.c
  385. des/xcbc_enc.c
  386. dh/dh_ameth.c
  387. dh/dh_asn1.c
  388. dh/dh_check.c
  389. dh/dh_depr.c
  390. dh/dh_err.c
  391. dh/dh_gen.c
  392. dh/dh_kdf.c
  393. dh/dh_key.c
  394. dh/dh_lib.c
  395. dh/dh_meth.c
  396. dh/dh_pmeth.c
  397. dh/dh_prn.c
  398. dh/dh_rfc5114.c
  399. dh/dh_rfc7919.c
  400. dsa/dsa_ameth.c
  401. dsa/dsa_asn1.c
  402. dsa/dsa_depr.c
  403. dsa/dsa_err.c
  404. dsa/dsa_gen.c
  405. dsa/dsa_key.c
  406. dsa/dsa_lib.c
  407. dsa/dsa_meth.c
  408. dsa/dsa_ossl.c
  409. dsa/dsa_pmeth.c
  410. dsa/dsa_prn.c
  411. dsa/dsa_sign.c
  412. dsa/dsa_vrf.c
  413. dso/dso_dl.c
  414. dso/dso_err.c
  415. dso/dso_lib.c
  416. dso/dso_openssl.c
  417. dso/dso_vms.c
  418. dso/dso_win32.c
  419. ebcdic.c
  420. ec/curve25519.c
  421. ec/curve448/arch_32/f_impl.c
  422. ec/curve448/curve448.c
  423. ec/curve448/curve448_tables.c
  424. ec/curve448/eddsa.c
  425. ec/curve448/f_generic.c
  426. ec/curve448/scalar.c
  427. ec/ec2_oct.c
  428. ec/ec2_smpl.c
  429. ec/ec_ameth.c
  430. ec/ec_asn1.c
  431. ec/ec_check.c
  432. ec/ec_curve.c
  433. ec/ec_cvt.c
  434. ec/ec_err.c
  435. ec/ec_key.c
  436. ec/ec_kmeth.c
  437. ec/ec_lib.c
  438. ec/ec_mult.c
  439. ec/ec_oct.c
  440. ec/ec_pmeth.c
  441. ec/ec_print.c
  442. ec/ecdh_kdf.c
  443. ec/ecdh_ossl.c
  444. ec/ecdsa_ossl.c
  445. ec/ecdsa_sign.c
  446. ec/ecdsa_vrf.c
  447. ec/eck_prn.c
  448. ec/ecp_mont.c
  449. ec/ecp_nist.c
  450. ec/ecp_nistp224.c
  451. ec/ecp_nistp256.c
  452. ec/ecp_nistp521.c
  453. ec/ecp_nistputil.c
  454. ec/ecp_oct.c
  455. ec/ecp_smpl.c
  456. ec/ecx_meth.c
  457. engine/eng_all.c
  458. engine/eng_cnf.c
  459. engine/eng_ctrl.c
  460. engine/eng_dyn.c
  461. engine/eng_err.c
  462. engine/eng_fat.c
  463. engine/eng_init.c
  464. engine/eng_lib.c
  465. engine/eng_list.c
  466. engine/eng_openssl.c
  467. engine/eng_pkey.c
  468. engine/eng_rdrand.c
  469. engine/eng_table.c
  470. engine/tb_asnmth.c
  471. engine/tb_cipher.c
  472. engine/tb_dh.c
  473. engine/tb_digest.c
  474. engine/tb_dsa.c
  475. engine/tb_eckey.c
  476. engine/tb_pkmeth.c
  477. engine/tb_rand.c
  478. engine/tb_rsa.c
  479. err/err.c
  480. err/err_all.c
  481. err/err_prn.c
  482. evp/bio_b64.c
  483. evp/bio_enc.c
  484. evp/bio_md.c
  485. evp/bio_ok.c
  486. evp/c_allc.c
  487. evp/c_alld.c
  488. evp/cmeth_lib.c
  489. evp/digest.c
  490. evp/e_aes.c
  491. evp/e_aes_cbc_hmac_sha1.c
  492. evp/e_aes_cbc_hmac_sha256.c
  493. evp/e_aria.c
  494. evp/e_bf.c
  495. evp/e_camellia.c
  496. evp/e_cast.c
  497. evp/e_chacha20_poly1305.c
  498. evp/e_des.c
  499. evp/e_des3.c
  500. evp/e_idea.c
  501. evp/e_null.c
  502. evp/e_old.c
  503. evp/e_rc2.c
  504. evp/e_rc4.c
  505. evp/e_rc4_hmac_md5.c
  506. evp/e_rc5.c
  507. evp/e_seed.c
  508. evp/e_sm4.c
  509. evp/e_xcbc_d.c
  510. evp/encode.c
  511. evp/evp_cnf.c
  512. evp/evp_enc.c
  513. evp/evp_err.c
  514. evp/evp_key.c
  515. evp/evp_lib.c
  516. evp/evp_pbe.c
  517. evp/evp_pkey.c
  518. evp/m_md2.c
  519. evp/m_md4.c
  520. evp/m_md5.c
  521. evp/m_md5_sha1.c
  522. evp/m_mdc2.c
  523. evp/m_null.c
  524. evp/m_ripemd.c
  525. evp/m_sha1.c
  526. evp/m_sha3.c
  527. evp/m_sigver.c
  528. evp/m_wp.c
  529. evp/names.c
  530. evp/p5_crpt.c
  531. evp/p5_crpt2.c
  532. evp/p_dec.c
  533. evp/p_enc.c
  534. evp/p_lib.c
  535. evp/p_open.c
  536. evp/p_seal.c
  537. evp/p_sign.c
  538. evp/p_verify.c
  539. evp/pbe_scrypt.c
  540. evp/pmeth_fn.c
  541. evp/pmeth_gn.c
  542. evp/pmeth_lib.c
  543. ex_data.c
  544. getenv.c
  545. hmac/hm_ameth.c
  546. hmac/hm_pmeth.c
  547. hmac/hmac.c
  548. idea/i_cbc.c
  549. idea/i_cfb64.c
  550. idea/i_ecb.c
  551. idea/i_ofb64.c
  552. idea/i_skey.c
  553. init.c
  554. kdf/hkdf.c
  555. kdf/kdf_err.c
  556. kdf/scrypt.c
  557. kdf/tls1_prf.c
  558. lhash/lh_stats.c
  559. lhash/lhash.c
  560. md4/md4_dgst.c
  561. md4/md4_one.c
  562. md5/md5_dgst.c
  563. md5/md5_one.c
  564. mdc2/mdc2_one.c
  565. mdc2/mdc2dgst.c
  566. mem.c
  567. mem_dbg.c
  568. mem_sec.c
  569. modes/cbc128.c
  570. modes/ccm128.c
  571. modes/cfb128.c
  572. modes/ctr128.c
  573. modes/cts128.c
  574. modes/gcm128.c
  575. modes/ocb128.c
  576. modes/ofb128.c
  577. modes/wrap128.c
  578. modes/xts128.c
  579. o_dir.c
  580. o_fips.c
  581. o_fopen.c
  582. o_init.c
  583. o_str.c
  584. o_time.c
  585. objects/o_names.c
  586. objects/obj_dat.c
  587. objects/obj_err.c
  588. objects/obj_lib.c
  589. objects/obj_xref.c
  590. ocsp/ocsp_asn.c
  591. ocsp/ocsp_cl.c
  592. ocsp/ocsp_err.c
  593. ocsp/ocsp_ext.c
  594. ocsp/ocsp_ht.c
  595. ocsp/ocsp_lib.c
  596. ocsp/ocsp_prn.c
  597. ocsp/ocsp_srv.c
  598. ocsp/ocsp_vfy.c
  599. ocsp/v3_ocsp.c
  600. pem/pem_all.c
  601. pem/pem_err.c
  602. pem/pem_info.c
  603. pem/pem_lib.c
  604. pem/pem_oth.c
  605. pem/pem_pk8.c
  606. pem/pem_pkey.c
  607. pem/pem_sign.c
  608. pem/pem_x509.c
  609. pem/pem_xaux.c
  610. pem/pvkfmt.c
  611. pkcs12/p12_add.c
  612. pkcs12/p12_asn.c
  613. pkcs12/p12_attr.c
  614. pkcs12/p12_crpt.c
  615. pkcs12/p12_crt.c
  616. pkcs12/p12_decr.c
  617. pkcs12/p12_init.c
  618. pkcs12/p12_key.c
  619. pkcs12/p12_kiss.c
  620. pkcs12/p12_mutl.c
  621. pkcs12/p12_npas.c
  622. pkcs12/p12_p8d.c
  623. pkcs12/p12_p8e.c
  624. pkcs12/p12_sbag.c
  625. pkcs12/p12_utl.c
  626. pkcs12/pk12err.c
  627. pkcs7/bio_pk7.c
  628. pkcs7/pk7_asn1.c
  629. pkcs7/pk7_attr.c
  630. pkcs7/pk7_doit.c
  631. pkcs7/pk7_lib.c
  632. pkcs7/pk7_mime.c
  633. pkcs7/pk7_smime.c
  634. pkcs7/pkcs7err.c
  635. poly1305/poly1305.c
  636. poly1305/poly1305_ameth.c
  637. poly1305/poly1305_pmeth.c
  638. rand/drbg_ctr.c
  639. rand/drbg_lib.c
  640. rand/rand_egd.c
  641. rand/rand_err.c
  642. rand/rand_lib.c
  643. rand/rand_unix.c
  644. rand/rand_win.c
  645. rand/randfile.c
  646. rc2/rc2_cbc.c
  647. rc2/rc2_ecb.c
  648. rc2/rc2_skey.c
  649. rc2/rc2cfb64.c
  650. rc2/rc2ofb64.c
  651. ripemd/rmd_dgst.c
  652. ripemd/rmd_one.c
  653. rsa/rsa_ameth.c
  654. rsa/rsa_asn1.c
  655. rsa/rsa_chk.c
  656. rsa/rsa_crpt.c
  657. rsa/rsa_depr.c
  658. rsa/rsa_err.c
  659. rsa/rsa_gen.c
  660. rsa/rsa_lib.c
  661. rsa/rsa_meth.c
  662. rsa/rsa_mp.c
  663. rsa/rsa_none.c
  664. rsa/rsa_oaep.c
  665. rsa/rsa_ossl.c
  666. rsa/rsa_pk1.c
  667. rsa/rsa_pmeth.c
  668. rsa/rsa_prn.c
  669. rsa/rsa_pss.c
  670. rsa/rsa_saos.c
  671. rsa/rsa_sign.c
  672. rsa/rsa_ssl.c
  673. rsa/rsa_x931.c
  674. rsa/rsa_x931g.c
  675. seed/seed.c
  676. seed/seed_cbc.c
  677. seed/seed_cfb.c
  678. seed/seed_ecb.c
  679. seed/seed_ofb.c
  680. sha/sha1_one.c
  681. sha/sha1dgst.c
  682. sha/sha256.c
  683. sha/sha512.c
  684. siphash/siphash.c
  685. siphash/siphash_ameth.c
  686. siphash/siphash_pmeth.c
  687. sm2/sm2_crypt.c
  688. sm2/sm2_err.c
  689. sm2/sm2_pmeth.c
  690. sm2/sm2_sign.c
  691. sm3/m_sm3.c
  692. sm3/sm3.c
  693. sm4/sm4.c
  694. srp/srp_lib.c
  695. srp/srp_vfy.c
  696. stack/stack.c
  697. store/loader_file.c
  698. store/store_err.c
  699. store/store_init.c
  700. store/store_lib.c
  701. store/store_register.c
  702. store/store_strings.c
  703. threads_none.c
  704. threads_pthread.c
  705. threads_win.c
  706. ts/ts_asn1.c
  707. ts/ts_conf.c
  708. ts/ts_err.c
  709. ts/ts_lib.c
  710. ts/ts_req_print.c
  711. ts/ts_req_utils.c
  712. ts/ts_rsp_print.c
  713. ts/ts_rsp_sign.c
  714. ts/ts_rsp_utils.c
  715. ts/ts_rsp_verify.c
  716. ts/ts_verify_ctx.c
  717. txt_db/txt_db.c
  718. ui/ui_err.c
  719. ui/ui_lib.c
  720. ui/ui_null.c
  721. ui/ui_openssl.c
  722. ui/ui_util.c
  723. uid.c
  724. whrlpool/wp_dgst.c
  725. x509/by_dir.c
  726. x509/by_file.c
  727. x509/t_crl.c
  728. x509/t_req.c
  729. x509/t_x509.c
  730. x509/x509_att.c
  731. x509/x509_cmp.c
  732. x509/x509_d2.c
  733. x509/x509_def.c
  734. x509/x509_err.c
  735. x509/x509_ext.c
  736. x509/x509_lu.c
  737. x509/x509_meth.c
  738. x509/x509_obj.c
  739. x509/x509_r2x.c
  740. x509/x509_req.c
  741. x509/x509_set.c
  742. x509/x509_trs.c
  743. x509/x509_txt.c
  744. x509/x509_v3.c
  745. x509/x509_vfy.c
  746. x509/x509_vpm.c
  747. x509/x509cset.c
  748. x509/x509name.c
  749. x509/x509rset.c
  750. x509/x509spki.c
  751. x509/x509type.c
  752. x509/x_all.c
  753. x509/x_attrib.c
  754. x509/x_crl.c
  755. x509/x_exten.c
  756. x509/x_name.c
  757. x509/x_pubkey.c
  758. x509/x_req.c
  759. x509/x_x509.c
  760. x509/x_x509a.c
  761. x509v3/pcy_cache.c
  762. x509v3/pcy_data.c
  763. x509v3/pcy_lib.c
  764. x509v3/pcy_map.c
  765. x509v3/pcy_node.c
  766. x509v3/pcy_tree.c
  767. x509v3/v3_addr.c
  768. x509v3/v3_admis.c
  769. x509v3/v3_akey.c
  770. x509v3/v3_akeya.c
  771. x509v3/v3_alt.c
  772. x509v3/v3_asid.c
  773. x509v3/v3_bcons.c
  774. x509v3/v3_bitst.c
  775. x509v3/v3_conf.c
  776. x509v3/v3_cpols.c
  777. x509v3/v3_crld.c
  778. x509v3/v3_enum.c
  779. x509v3/v3_extku.c
  780. x509v3/v3_genn.c
  781. x509v3/v3_ia5.c
  782. x509v3/v3_info.c
  783. x509v3/v3_int.c
  784. x509v3/v3_lib.c
  785. x509v3/v3_ncons.c
  786. x509v3/v3_pci.c
  787. x509v3/v3_pcia.c
  788. x509v3/v3_pcons.c
  789. x509v3/v3_pku.c
  790. x509v3/v3_pmaps.c
  791. x509v3/v3_prn.c
  792. x509v3/v3_purp.c
  793. x509v3/v3_skey.c
  794. x509v3/v3_sxnet.c
  795. x509v3/v3_tlsf.c
  796. x509v3/v3_utl.c
  797. x509v3/v3err.c
  798. )
  799. IF (NOT WINDOWS_I686)
  800. SRCS(
  801. ec/ecp_nistz256.c
  802. )
  803. ENDIF()
  804. IF (NOT IOS_ARMV7 AND NOT ANDROID_ARMV7 AND NOT LINUX_ARMV7)
  805. SRCS(
  806. aes/aes_core.c
  807. )
  808. ENDIF()
  809. IF (NOT IOS_I386 AND NOT ANDROID_I686 AND NOT WINDOWS_I686)
  810. SRCS(
  811. bf/bf_enc.c
  812. camellia/cmll_misc.c
  813. des/des_enc.c
  814. des/fcrypt_b.c
  815. )
  816. ENDIF()
  817. IF (OS_DARWIN AND ARCH_X86_64 OR OS_LINUX AND ARCH_X86_64 OR OS_WINDOWS AND ARCH_X86_64)
  818. SRCS(
  819. bn/rsaz_exp.c
  820. )
  821. ENDIF()
  822. IF (OS_DARWIN AND ARCH_X86_64 OR OS_LINUX AND ARCH_X86_64)
  823. SRCS(
  824. bn/asm/x86_64-gcc.c
  825. )
  826. ENDIF()
  827. IF (OS_LINUX AND ARCH_AARCH64 OR OS_WINDOWS AND ARCH_X86_64 OR OS_LINUX AND ARCH_PPC64LE)
  828. SRCS(
  829. bn/bn_asm.c
  830. )
  831. ENDIF()
  832. IF (OS_DARWIN AND ARCH_X86_64)
  833. SRCS(
  834. ../asm/darwin/crypto/aes/aesni-mb-x86_64.s
  835. ../asm/darwin/crypto/aes/aesni-sha1-x86_64.s
  836. ../asm/darwin/crypto/aes/aesni-sha256-x86_64.s
  837. ../asm/darwin/crypto/aes/aesni-x86_64.s
  838. ../asm/darwin/crypto/aes/vpaes-x86_64.s
  839. ../asm/darwin/crypto/bn/rsaz-avx2.s
  840. ../asm/darwin/crypto/bn/rsaz-x86_64.s
  841. ../asm/darwin/crypto/bn/x86_64-gf2m.s
  842. ../asm/darwin/crypto/bn/x86_64-mont.s
  843. ../asm/darwin/crypto/bn/x86_64-mont5.s
  844. ../asm/darwin/crypto/camellia/cmll-x86_64.s
  845. ../asm/darwin/crypto/chacha/chacha-x86_64.s
  846. ../asm/darwin/crypto/ec/ecp_nistz256-x86_64.s
  847. ../asm/darwin/crypto/ec/x25519-x86_64.s
  848. ../asm/darwin/crypto/md5/md5-x86_64.s
  849. ../asm/darwin/crypto/modes/aesni-gcm-x86_64.s
  850. ../asm/darwin/crypto/modes/ghash-x86_64.s
  851. ../asm/darwin/crypto/poly1305/poly1305-x86_64.s
  852. ../asm/darwin/crypto/rc4/rc4-md5-x86_64.s
  853. ../asm/darwin/crypto/rc4/rc4-x86_64.s
  854. ../asm/darwin/crypto/sha/keccak1600-x86_64.s
  855. ../asm/darwin/crypto/sha/sha1-mb-x86_64.s
  856. ../asm/darwin/crypto/sha/sha1-x86_64.s
  857. ../asm/darwin/crypto/sha/sha256-mb-x86_64.s
  858. ../asm/darwin/crypto/sha/sha256-x86_64.s
  859. ../asm/darwin/crypto/sha/sha512-x86_64.s
  860. ../asm/darwin/crypto/whrlpool/wp-x86_64.s
  861. ../asm/darwin/crypto/x86_64cpuid.s
  862. )
  863. ENDIF()
  864. IF (OS_DARWIN AND ARCH_ARM64)
  865. SRCS(
  866. ../asm/darwin-arm64/crypto/sha/keccak1600-armv8.S
  867. ../asm/darwin-arm64/crypto/sha/sha512-armv8.S
  868. ../asm/darwin-arm64/crypto/sha/sha1-armv8.S
  869. ../asm/darwin-arm64/crypto/sha/sha256-armv8.S
  870. ../asm/darwin-arm64/crypto/poly1305/poly1305-armv8.S
  871. ../asm/darwin-arm64/crypto/ec/ecp_nistz256-armv8.S
  872. ../asm/darwin-arm64/crypto/chacha/chacha-armv8.S
  873. ../asm/darwin-arm64/crypto/bn/armv8-mont.S
  874. ../asm/darwin-arm64/crypto/arm64cpuid.S
  875. ../asm/darwin-arm64/crypto/aes/aesv8-armx.S
  876. ../asm/darwin-arm64/crypto/aes/vpaes-armv8.S
  877. ../asm/darwin-arm64/crypto/modes/ghashv8-armx.S
  878. armcap.c
  879. bn/bn_asm.c
  880. camellia/camellia.c
  881. camellia/cmll_cbc.c
  882. dso/dso_dlfcn.c
  883. rc4/rc4_enc.c
  884. rc4/rc4_skey.c
  885. whrlpool/wp_block.c
  886. )
  887. ENDIF()
  888. IF (OS_LINUX AND ARCH_ARM7)
  889. CFLAGS(
  890. -DOPENSSL_PIC
  891. -DOPENSSL_BN_ASM_GF2m
  892. -DAES_ASM
  893. -DBSAES_ASM
  894. -DGHASH_ASM
  895. )
  896. SRCS(
  897. ../asm/android/arm/crypto/ec/ecp_nistz256-armv4.S
  898. ../asm/android/arm/crypto/poly1305/poly1305-armv4.S
  899. ../asm/android/arm/crypto/armv4cpuid.S
  900. ../asm/android/arm/crypto/bn/armv4-mont.S
  901. ../asm/android/arm/crypto/bn/armv4-gf2m.S
  902. ../asm/android/arm/crypto/aes/aes-armv4.S
  903. ../asm/android/arm/crypto/aes/bsaes-armv7.S
  904. ../asm/android/arm/crypto/aes/aesv8-armx.S
  905. ../asm/android/arm/crypto/sha/keccak1600-armv4.S
  906. ../asm/android/arm/crypto/sha/sha256-armv4.S
  907. ../asm/android/arm/crypto/sha/sha512-armv4.S
  908. ../asm/android/arm/crypto/sha/sha1-armv4-large.S
  909. ../asm/android/arm/crypto/chacha/chacha-armv4.S
  910. ../asm/android/arm/crypto/modes/ghashv8-armx.S
  911. ../asm/android/arm/crypto/modes/ghash-armv4.S
  912. armcap.c
  913. bn/bn_asm.c
  914. camellia/camellia.c
  915. camellia/cmll_cbc.c
  916. dso/dso_dlfcn.c
  917. rand/rand_vms.c
  918. rc4/rc4_enc.c
  919. rc4/rc4_skey.c
  920. whrlpool/wp_block.c
  921. )
  922. ENDIF()
  923. IF (OS_LINUX AND ARCH_AARCH64)
  924. SRCS(
  925. ../asm/aarch64/crypto/aes/aesv8-armx.S
  926. ../asm/aarch64/crypto/aes/vpaes-armv8.S
  927. ../asm/aarch64/crypto/arm64cpuid.S
  928. ../asm/aarch64/crypto/bn/armv8-mont.S
  929. ../asm/aarch64/crypto/chacha/chacha-armv8.S
  930. ../asm/aarch64/crypto/ec/ecp_nistz256-armv8.S
  931. ../asm/aarch64/crypto/modes/ghashv8-armx.S
  932. ../asm/aarch64/crypto/poly1305/poly1305-armv8.S
  933. ../asm/aarch64/crypto/sha/keccak1600-armv8.S
  934. ../asm/aarch64/crypto/sha/sha1-armv8.S
  935. ../asm/aarch64/crypto/sha/sha256-armv8.S
  936. ../asm/aarch64/crypto/sha/sha512-armv8.S
  937. armcap.c
  938. camellia/camellia.c
  939. camellia/cmll_cbc.c
  940. rc4/rc4_enc.c
  941. rc4/rc4_skey.c
  942. whrlpool/wp_block.c
  943. )
  944. ENDIF()
  945. IF (OS_LINUX AND ARCH_PPC64LE)
  946. SRCS(
  947. ../asm/ppc64le/crypto/aes/aesp8-ppc.s
  948. ../asm/ppc64le/crypto/aes/vpaes-ppc.s
  949. ../asm/ppc64le/crypto/bn/bn-ppc.s
  950. ../asm/ppc64le/crypto/bn/ppc-mont.s
  951. ../asm/ppc64le/crypto/chacha/chacha-ppc.s
  952. ../asm/ppc64le/crypto/ec/ecp_nistz256-ppc64.s
  953. ../asm/ppc64le/crypto/ec/x25519-ppc64.s
  954. ../asm/ppc64le/crypto/modes/ghashp8-ppc.s
  955. ../asm/ppc64le/crypto/poly1305/poly1305-ppc.s
  956. ../asm/ppc64le/crypto/poly1305/poly1305-ppcfp.s
  957. ../asm/ppc64le/crypto/ppccpuid.s
  958. ../asm/ppc64le/crypto/sha/keccak1600-ppc64.s
  959. ../asm/ppc64le/crypto/sha/sha1-ppc.s
  960. ../asm/ppc64le/crypto/sha/sha256-ppc.s
  961. ../asm/ppc64le/crypto/sha/sha256p8-ppc.s
  962. ../asm/ppc64le/crypto/sha/sha512-ppc.s
  963. ../asm/ppc64le/crypto/sha/sha512p8-ppc.s
  964. ppccap.c
  965. camellia/camellia.c
  966. camellia/cmll_cbc.c
  967. rc4/rc4_enc.c
  968. rc4/rc4_skey.c
  969. whrlpool/wp_block.c
  970. )
  971. ENDIF()
  972. IF (OS_LINUX AND ARCH_X86_64)
  973. SRCS(
  974. ../asm/linux/crypto/aes/aesni-mb-x86_64.s
  975. ../asm/linux/crypto/aes/aesni-sha1-x86_64.s
  976. ../asm/linux/crypto/aes/aesni-sha256-x86_64.s
  977. ../asm/linux/crypto/aes/aesni-x86_64.s
  978. ../asm/linux/crypto/aes/vpaes-x86_64.s
  979. ../asm/linux/crypto/bn/rsaz-avx2.s
  980. ../asm/linux/crypto/bn/rsaz-x86_64.s
  981. ../asm/linux/crypto/bn/x86_64-gf2m.s
  982. ../asm/linux/crypto/bn/x86_64-mont.s
  983. ../asm/linux/crypto/bn/x86_64-mont5.s
  984. ../asm/linux/crypto/camellia/cmll-x86_64.s
  985. ../asm/linux/crypto/chacha/chacha-x86_64.s
  986. ../asm/linux/crypto/ec/ecp_nistz256-x86_64.s
  987. ../asm/linux/crypto/ec/x25519-x86_64.s
  988. ../asm/linux/crypto/md5/md5-x86_64.s
  989. ../asm/linux/crypto/modes/aesni-gcm-x86_64.s
  990. ../asm/linux/crypto/modes/ghash-x86_64.s
  991. ../asm/linux/crypto/poly1305/poly1305-x86_64.s
  992. ../asm/linux/crypto/rc4/rc4-md5-x86_64.s
  993. ../asm/linux/crypto/rc4/rc4-x86_64.s
  994. ../asm/linux/crypto/sha/keccak1600-x86_64.s
  995. ../asm/linux/crypto/sha/sha1-mb-x86_64.s
  996. ../asm/linux/crypto/sha/sha1-x86_64.s
  997. ../asm/linux/crypto/sha/sha256-mb-x86_64.s
  998. ../asm/linux/crypto/sha/sha256-x86_64.s
  999. ../asm/linux/crypto/sha/sha512-x86_64.s
  1000. ../asm/linux/crypto/whrlpool/wp-x86_64.s
  1001. ../asm/linux/crypto/x86_64cpuid.s
  1002. )
  1003. ENDIF()
  1004. IF (OS_WINDOWS AND ARCH_X86_64)
  1005. SRCS(
  1006. ../asm/windows/crypto/aes/aesni-mb-x86_64.masm
  1007. ../asm/windows/crypto/aes/aesni-sha1-x86_64.masm
  1008. ../asm/windows/crypto/aes/aesni-sha256-x86_64.masm
  1009. ../asm/windows/crypto/aes/aesni-x86_64.masm
  1010. ../asm/windows/crypto/aes/vpaes-x86_64.masm
  1011. ../asm/windows/crypto/bn/rsaz-avx2.masm
  1012. ../asm/windows/crypto/bn/rsaz-x86_64.masm
  1013. ../asm/windows/crypto/bn/x86_64-gf2m.masm
  1014. ../asm/windows/crypto/bn/x86_64-mont.masm
  1015. ../asm/windows/crypto/bn/x86_64-mont5.masm
  1016. ../asm/windows/crypto/camellia/cmll-x86_64.masm
  1017. ../asm/windows/crypto/chacha/chacha-x86_64.masm
  1018. ../asm/windows/crypto/ec/ecp_nistz256-x86_64.masm
  1019. ../asm/windows/crypto/ec/x25519-x86_64.masm
  1020. ../asm/windows/crypto/md5/md5-x86_64.masm
  1021. ../asm/windows/crypto/modes/aesni-gcm-x86_64.masm
  1022. ../asm/windows/crypto/modes/ghash-x86_64.masm
  1023. ../asm/windows/crypto/poly1305/poly1305-x86_64.masm
  1024. ../asm/windows/crypto/rc4/rc4-md5-x86_64.masm
  1025. ../asm/windows/crypto/rc4/rc4-x86_64.masm
  1026. ../asm/windows/crypto/sha/keccak1600-x86_64.masm
  1027. ../asm/windows/crypto/sha/sha1-mb-x86_64.masm
  1028. ../asm/windows/crypto/sha/sha1-x86_64.masm
  1029. ../asm/windows/crypto/sha/sha256-mb-x86_64.masm
  1030. ../asm/windows/crypto/sha/sha256-x86_64.masm
  1031. ../asm/windows/crypto/sha/sha512-x86_64.masm
  1032. ../asm/windows/crypto/whrlpool/wp-x86_64.masm
  1033. ../asm/windows/crypto/uplink-x86_64.masm
  1034. ../asm/windows/crypto/x86_64cpuid.masm
  1035. )
  1036. ENDIF()
  1037. IF (OS_WINDOWS AND ARCH_I386)
  1038. CFLAGS(
  1039. -DGHASH_ASM
  1040. -DOPENSSL_BN_ASM_GF2m
  1041. -DRC4_ASM
  1042. -DMD5_ASM
  1043. )
  1044. MASMFLAGS(
  1045. /safeseh
  1046. )
  1047. SRCS(
  1048. ../asm/windows/crypto/aes/aesni-x86.masm
  1049. ../asm/windows/crypto/aes/vpaes-x86.masm
  1050. ../asm/windows/crypto/bn/x86-gf2m.masm
  1051. ../asm/windows/crypto/bn/x86-mont.masm
  1052. ../asm/windows/crypto/camellia/cmll-x86.masm
  1053. ../asm/windows/crypto/chacha/chacha-x86.masm
  1054. ../asm/windows/crypto/md5/md5-586.masm
  1055. ../asm/windows/crypto/modes/ghash-x86.masm
  1056. ../asm/windows/crypto/rc4/rc4-586.masm
  1057. ../asm/windows/crypto/sha/sha1-586.masm
  1058. ../asm/windows/crypto/sha/sha256-586.masm
  1059. ../asm/windows/crypto/sha/sha512-586.masm
  1060. ../asm/windows/crypto/x86cpuid.masm
  1061. bf/bf_enc.c
  1062. bn/bn_asm.c
  1063. des/des_enc.c
  1064. des/fcrypt_b.c
  1065. sha/keccak1600.c
  1066. whrlpool/wp_block.c
  1067. )
  1068. ENDIF()
  1069. IF (OS_IOS AND ARCH_ARM64)
  1070. CFLAGS(
  1071. -DOPENSSL_PIC
  1072. -D_REENTRANT
  1073. )
  1074. SRCS(
  1075. ../asm/ios/arm64/crypto/aes/aesv8-armx.S
  1076. ../asm/ios/arm64/crypto/aes/vpaes-armv8.S
  1077. ../asm/ios/arm64/crypto/arm64cpuid.S
  1078. ../asm/ios/arm64/crypto/bn/armv8-mont.S
  1079. ../asm/ios/arm64/crypto/chacha/chacha-armv8.S
  1080. ../asm/ios/arm64/crypto/ec/ecp_nistz256-armv8.S
  1081. ../asm/ios/arm64/crypto/modes/ghashv8-armx.S
  1082. ../asm/ios/arm64/crypto/poly1305/poly1305-armv8.S
  1083. ../asm/ios/arm64/crypto/sha/keccak1600-armv8.S
  1084. ../asm/ios/arm64/crypto/sha/sha1-armv8.S
  1085. ../asm/ios/arm64/crypto/sha/sha256-armv8.S
  1086. ../asm/ios/arm64/crypto/sha/sha512-armv8.S
  1087. armcap.c
  1088. bn/bn_asm.c
  1089. camellia/camellia.c
  1090. camellia/cmll_cbc.c
  1091. dso/dso_dlfcn.c
  1092. rand/rand_vms.c
  1093. rc4/rc4_enc.c
  1094. rc4/rc4_skey.c
  1095. whrlpool/wp_block.c
  1096. )
  1097. ENDIF()
  1098. IF (OS_IOS AND ARCH_X86_64)
  1099. CFLAGS(
  1100. -DL_ENDIAN
  1101. -DOPENSSL_PIC
  1102. -DOPENSSL_IA32_SSE2
  1103. -DOPENSSL_BN_ASM_MONT5
  1104. -DOPENSSL_BN_ASM_GF2m
  1105. -DRC4_ASM
  1106. -DMD5_ASM
  1107. -DGHASH_ASM
  1108. -DECP_NISTZ256_ASM
  1109. -DX25519_ASM
  1110. -D_REENTRANT
  1111. )
  1112. SRCS(
  1113. ../asm/ios/x86_64/crypto/md5/md5-x86_64.s
  1114. ../asm/ios/x86_64/crypto/rc4/rc4-md5-x86_64.s
  1115. ../asm/ios/x86_64/crypto/rc4/rc4-x86_64.s
  1116. ../asm/ios/x86_64/crypto/modes/ghash-x86_64.s
  1117. ../asm/ios/x86_64/crypto/modes/aesni-gcm-x86_64.s
  1118. ../asm/ios/x86_64/crypto/chacha/chacha-x86_64.s
  1119. ../asm/ios/x86_64/crypto/ec/ecp_nistz256-x86_64.s
  1120. ../asm/ios/x86_64/crypto/ec/x25519-x86_64.s
  1121. ../asm/ios/x86_64/crypto/x86_64cpuid.s
  1122. ../asm/ios/x86_64/crypto/poly1305/poly1305-x86_64.s
  1123. ../asm/ios/x86_64/crypto/bn/rsaz-x86_64.s
  1124. ../asm/ios/x86_64/crypto/bn/x86_64-mont.s
  1125. ../asm/ios/x86_64/crypto/bn/x86_64-gf2m.s
  1126. ../asm/ios/x86_64/crypto/bn/x86_64-mont5.s
  1127. ../asm/ios/x86_64/crypto/bn/rsaz-avx2.s
  1128. ../asm/ios/x86_64/crypto/sha/sha512-x86_64.s
  1129. ../asm/ios/x86_64/crypto/sha/sha256-x86_64.s
  1130. ../asm/ios/x86_64/crypto/sha/keccak1600-x86_64.s
  1131. ../asm/ios/x86_64/crypto/sha/sha1-x86_64.s
  1132. ../asm/ios/x86_64/crypto/sha/sha1-mb-x86_64.s
  1133. ../asm/ios/x86_64/crypto/sha/sha256-mb-x86_64.s
  1134. ../asm/ios/x86_64/crypto/camellia/cmll-x86_64.s
  1135. ../asm/ios/x86_64/crypto/whrlpool/wp-x86_64.s
  1136. ../asm/ios/x86_64/crypto/aes/vpaes-x86_64.s
  1137. ../asm/ios/x86_64/crypto/aes/aesni-sha1-x86_64.s
  1138. ../asm/ios/x86_64/crypto/aes/aesni-sha256-x86_64.s
  1139. ../asm/ios/x86_64/crypto/aes/aesni-x86_64.s
  1140. ../asm/ios/x86_64/crypto/aes/aesni-mb-x86_64.s
  1141. bn/asm/x86_64-gcc.c
  1142. bn/rsaz_exp.c
  1143. dso/dso_dlfcn.c
  1144. rand/rand_vms.c
  1145. )
  1146. ENDIF()
  1147. IF (OS_ANDROID AND ARCH_X86_64)
  1148. CFLAGS(
  1149. -DOPENSSL_USE_NODELETE
  1150. -DOPENSSL_PIC
  1151. -DOPENSSL_IA32_SSE2
  1152. -DOPENSSL_BN_ASM_MONT5
  1153. -DOPENSSL_BN_ASM_GF2m
  1154. -DRC4_ASM
  1155. -DMD5_ASM
  1156. -DGHASH_ASM
  1157. -DX25519_ASM
  1158. )
  1159. SRCS(
  1160. ../asm/android/x86_64/crypto/ec/x25519-x86_64.s
  1161. ../asm/android/x86_64/crypto/ec/ecp_nistz256-x86_64.s
  1162. ../asm/android/x86_64/crypto/md5/md5-x86_64.s
  1163. ../asm/android/x86_64/crypto/rc4/rc4-x86_64.s
  1164. ../asm/android/x86_64/crypto/rc4/rc4-md5-x86_64.s
  1165. ../asm/android/x86_64/crypto/whrlpool/wp-x86_64.s
  1166. ../asm/android/x86_64/crypto/poly1305/poly1305-x86_64.s
  1167. ../asm/android/x86_64/crypto/x86_64cpuid.s
  1168. ../asm/android/x86_64/crypto/camellia/cmll-x86_64.s
  1169. ../asm/android/x86_64/crypto/bn/x86_64-mont5.s
  1170. ../asm/android/x86_64/crypto/bn/rsaz-avx2.s
  1171. ../asm/android/x86_64/crypto/bn/rsaz-x86_64.s
  1172. ../asm/android/x86_64/crypto/bn/x86_64-mont.s
  1173. ../asm/android/x86_64/crypto/bn/x86_64-gf2m.s
  1174. ../asm/android/x86_64/crypto/aes/aesni-sha256-x86_64.s
  1175. ../asm/android/x86_64/crypto/aes/aesni-mb-x86_64.s
  1176. ../asm/android/x86_64/crypto/aes/aesni-x86_64.s
  1177. ../asm/android/x86_64/crypto/aes/vpaes-x86_64.s
  1178. ../asm/android/x86_64/crypto/aes/aesni-sha1-x86_64.s
  1179. ../asm/android/x86_64/crypto/sha/sha256-x86_64.s
  1180. ../asm/android/x86_64/crypto/sha/sha1-mb-x86_64.s
  1181. ../asm/android/x86_64/crypto/sha/sha1-x86_64.s
  1182. ../asm/android/x86_64/crypto/sha/sha256-mb-x86_64.s
  1183. ../asm/android/x86_64/crypto/sha/sha512-x86_64.s
  1184. ../asm/android/x86_64/crypto/sha/keccak1600-x86_64.s
  1185. ../asm/android/x86_64/crypto/chacha/chacha-x86_64.s
  1186. ../asm/android/x86_64/crypto/modes/ghash-x86_64.s
  1187. ../asm/android/x86_64/crypto/modes/aesni-gcm-x86_64.s
  1188. bn/asm/x86_64-gcc.c
  1189. bn/rsaz_exp.c
  1190. dso/dso_dlfcn.c
  1191. rand/rand_vms.c
  1192. )
  1193. ENDIF()
  1194. IF (OS_ANDROID AND ARCH_I686)
  1195. CFLAGS(
  1196. -DOPENSSL_PIC
  1197. -DOPENSSL_BN_ASM_PART_WORDS
  1198. -DOPENSSL_IA32_SSE2
  1199. -DOPENSSL_BN_ASM_GF2m
  1200. -DRC4_ASM
  1201. -DMD5_ASM
  1202. -DRMD160_ASM
  1203. -DWHIRLPOOL_ASM
  1204. -DGHASH_ASM
  1205. )
  1206. SRCS(
  1207. ../asm/android/i686/crypto/ec/ecp_nistz256-x86.s
  1208. ../asm/android/i686/crypto/bf/bf-586.s
  1209. ../asm/android/i686/crypto/md5/md5-586.s
  1210. ../asm/android/i686/crypto/rc4/rc4-586.s
  1211. ../asm/android/i686/crypto/whrlpool/wp-mmx.s
  1212. ../asm/android/i686/crypto/x86cpuid.s
  1213. ../asm/android/i686/crypto/des/crypt586.s
  1214. ../asm/android/i686/crypto/des/des-586.s
  1215. ../asm/android/i686/crypto/poly1305/poly1305-x86.s
  1216. ../asm/android/i686/crypto/ripemd/rmd-586.s
  1217. ../asm/android/i686/crypto/camellia/cmll-x86.s
  1218. ../asm/android/i686/crypto/bn/bn-586.s
  1219. ../asm/android/i686/crypto/bn/co-586.s
  1220. ../asm/android/i686/crypto/bn/x86-gf2m.s
  1221. ../asm/android/i686/crypto/bn/x86-mont.s
  1222. ../asm/android/i686/crypto/aes/aesni-x86.s
  1223. ../asm/android/i686/crypto/aes/vpaes-x86.s
  1224. ../asm/android/i686/crypto/sha/sha512-586.s
  1225. ../asm/android/i686/crypto/sha/sha256-586.s
  1226. ../asm/android/i686/crypto/sha/sha1-586.s
  1227. ../asm/android/i686/crypto/chacha/chacha-x86.s
  1228. ../asm/android/i686/crypto/modes/ghash-x86.s
  1229. dso/dso_dlfcn.c
  1230. rand/rand_vms.c
  1231. sha/keccak1600.c
  1232. whrlpool/wp_block.c
  1233. )
  1234. ENDIF()
  1235. IF (OS_ANDROID AND ARCH_ARM7)
  1236. IF (CLANG)
  1237. # XXX: This is a workarond for 'out of range immediate fixup value'
  1238. # error with clang integrated assembler:
  1239. # https://github.com/openssl/openssl/issues/7878
  1240. CFLAGS(
  1241. -mno-thumb
  1242. )
  1243. ENDIF()
  1244. CFLAGS(
  1245. -DOPENSSL_PIC
  1246. -DOPENSSL_BN_ASM_GF2m
  1247. -DAES_ASM
  1248. -DBSAES_ASM
  1249. -DGHASH_ASM
  1250. )
  1251. SRCS(
  1252. ../asm/android/arm/crypto/ec/ecp_nistz256-armv4.S
  1253. ../asm/android/arm/crypto/poly1305/poly1305-armv4.S
  1254. ../asm/android/arm/crypto/armv4cpuid.S
  1255. ../asm/android/arm/crypto/bn/armv4-mont.S
  1256. ../asm/android/arm/crypto/bn/armv4-gf2m.S
  1257. ../asm/android/arm/crypto/aes/aes-armv4.S
  1258. ../asm/android/arm/crypto/aes/bsaes-armv7.S
  1259. ../asm/android/arm/crypto/aes/aesv8-armx.S
  1260. ../asm/android/arm/crypto/sha/keccak1600-armv4.S
  1261. ../asm/android/arm/crypto/sha/sha256-armv4.S
  1262. ../asm/android/arm/crypto/sha/sha512-armv4.S
  1263. ../asm/android/arm/crypto/sha/sha1-armv4-large.S
  1264. ../asm/android/arm/crypto/chacha/chacha-armv4.S
  1265. ../asm/android/arm/crypto/modes/ghashv8-armx.S
  1266. ../asm/android/arm/crypto/modes/ghash-armv4.S
  1267. armcap.c
  1268. bn/bn_asm.c
  1269. camellia/camellia.c
  1270. camellia/cmll_cbc.c
  1271. dso/dso_dlfcn.c
  1272. rand/rand_vms.c
  1273. rc4/rc4_enc.c
  1274. rc4/rc4_skey.c
  1275. whrlpool/wp_block.c
  1276. )
  1277. ENDIF()
  1278. IF (OS_ANDROID AND ARCH_ARM64)
  1279. CFLAGS(
  1280. -DOPENSSL_PIC
  1281. )
  1282. SRCS(
  1283. ../asm/android/arm64/crypto/ec/ecp_nistz256-armv8.S
  1284. ../asm/android/arm64/crypto/poly1305/poly1305-armv8.S
  1285. ../asm/android/arm64/crypto/bn/armv8-mont.S
  1286. ../asm/android/arm64/crypto/aes/vpaes-armv8.S
  1287. ../asm/android/arm64/crypto/aes/aesv8-armx.S
  1288. ../asm/android/arm64/crypto/sha/sha512-armv8.S
  1289. ../asm/android/arm64/crypto/sha/keccak1600-armv8.S
  1290. ../asm/android/arm64/crypto/sha/sha1-armv8.S
  1291. ../asm/android/arm64/crypto/sha/sha256-armv8.S
  1292. ../asm/android/arm64/crypto/arm64cpuid.S
  1293. ../asm/android/arm64/crypto/chacha/chacha-armv8.S
  1294. ../asm/android/arm64/crypto/modes/ghashv8-armx.S
  1295. armcap.c
  1296. bn/bn_asm.c
  1297. camellia/camellia.c
  1298. camellia/cmll_cbc.c
  1299. dso/dso_dlfcn.c
  1300. rand/rand_vms.c
  1301. rc4/rc4_enc.c
  1302. rc4/rc4_skey.c
  1303. whrlpool/wp_block.c
  1304. )
  1305. ENDIF()
  1306. # mitigate SIGILL on some armv7 platforms
  1307. # https://github.com/openssl/openssl/issues/17009
  1308. IF (ARCADIA_OPENSSL_DISABLE_ARMV7_TICK)
  1309. CFLAGS(
  1310. -DARCADIA_OPENSSL_DISABLE_ARMV7_TICK
  1311. )
  1312. ENDIF()
  1313. ENDIF() # IF (NOT EXPORT_CMAKE OR NOT OPENSOURCE_REPLACE_OPENSSL)
  1314. END()