ya.make.inc 34 KB

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