ya.make 35 KB

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