ya.make 34 KB

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