ya.make 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352
  1. # Generated by devtools/yamaker from nixpkgs 22.05.
  2. LIBRARY()
  3. VERSION(1.1.1t)
  4. ORIGINAL_SOURCE(https://github.com/openssl/openssl/archive/OpenSSL_1_1_1t.tar.gz)
  5. IF (OPENSOURCE_REPLACE_OPENSSL AND EXPORT_CMAKE)
  6. OPENSOURCE_EXPORT_REPLACEMENT(
  7. CMAKE OpenSSL
  8. CMAKE_TARGET OpenSSL::OpenSSL
  9. CONAN openssl/${OPENSOURCE_REPLACE_OPENSSL}
  10. )
  11. ELSE()
  12. ADDINCL(
  13. GLOBAL contrib/libs/openssl/include
  14. )
  15. ENDIF()
  16. LICENSE(
  17. Apache-2.0 AND
  18. BSD-2-Clause AND
  19. BSD-3-Clause AND
  20. BSD-Source-Code AND
  21. OpenSSL AND
  22. Public-Domain
  23. )
  24. LICENSE_TEXTS(.yandex_meta/licenses.list.txt)
  25. PROVIDES(openssl)
  26. PEERDIR(
  27. contrib/libs/openssl/crypto
  28. )
  29. ADDINCL(
  30. contrib/libs/openssl
  31. )
  32. IF (NOT EXPORT_CMAKE OR NOT OPENSOURCE_REPLACE_OPENSSL)
  33. IF (OS_LINUX)
  34. IF (ARCH_ARM64)
  35. SET(LINUX_ARM64 yes)
  36. ELSEIF (ARCH_ARM7)
  37. SET(LINUX_ARMV7 yes)
  38. ELSEIF (ARCH_X86_64)
  39. SET(LINUX_X86_64 yes)
  40. ENDIF()
  41. ENDIF()
  42. IF (OS_IOS)
  43. IF (ARCH_ARM64)
  44. SET(IOS_ARM64 yes)
  45. ELSEIF (ARCH_ARM7)
  46. SET(IOS_ARMV7 yes)
  47. ELSEIF (ARCH_X86_64)
  48. SET(IOS_X86_64 yes)
  49. ELSEIF (ARCH_I386)
  50. SET(IOS_I386 yes)
  51. ENDIF()
  52. ENDIF()
  53. IF (OS_ANDROID)
  54. IF (ARCH_ARM64)
  55. SET(ANDROID_ARM64 yes)
  56. ELSEIF (ARCH_ARM7)
  57. SET(ANDROID_ARMV7 yes)
  58. ELSEIF (ARCH_X86_64)
  59. SET(ANDROID_X86_64 yes)
  60. ELSEIF (ARCH_I686)
  61. SET(ANDROID_I686 yes)
  62. ENDIF()
  63. ENDIF()
  64. IF (OS_WINDOWS)
  65. IF (ARCH_X86_64)
  66. SET(WINDOWS_X86_64 yes)
  67. ELSEIF (ARCH_I686)
  68. SET(WINDOWS_I686 yes)
  69. ENDIF()
  70. ENDIF()
  71. NO_COMPILER_WARNINGS()
  72. NO_RUNTIME()
  73. CFLAGS(
  74. -DAESNI_ASM
  75. -DOPENSSL_BN_ASM_MONT
  76. -DOPENSSL_CPUID_OBJ
  77. -DSHA1_ASM
  78. -DSHA256_ASM
  79. -DSHA512_ASM
  80. )
  81. IF (NOT WINDOWS_I686)
  82. CFLAGS(
  83. -DECP_NISTZ256_ASM
  84. -DPOLY1305_ASM
  85. )
  86. ENDIF()
  87. IF (NOT ANDROID_I686 AND NOT WINDOWS_I686)
  88. CFLAGS(
  89. -DKECCAK1600_ASM
  90. )
  91. ENDIF()
  92. IF (NOT OS_WINDOWS)
  93. CFLAGS(
  94. -DENGINESDIR=\"/usr/local/lib/engines-1.1\"
  95. -DOPENSSLDIR=\"/usr/local/ssl\"
  96. )
  97. ENDIF()
  98. IF (OS_DARWIN AND ARCH_X86_64 OR OS_LINUX AND ARCH_X86_64 OR OS_WINDOWS AND ARCH_X86_64)
  99. CFLAGS(
  100. -DGHASH_ASM
  101. -DL_ENDIAN
  102. -DMD5_ASM
  103. -DOPENSSL_BN_ASM_GF2m
  104. -DOPENSSL_BN_ASM_MONT5
  105. -DOPENSSL_IA32_SSE2
  106. -DPADLOCK_ASM
  107. -DRC4_ASM
  108. -DX25519_ASM
  109. )
  110. ENDIF()
  111. IF (OS_LINUX AND ARCH_AARCH64 OR OS_LINUX AND ARCH_X86_64 OR OS_ANDROID)
  112. CFLAGS(
  113. -DOPENSSL_USE_NODELETE
  114. )
  115. ENDIF()
  116. IF (OS_DARWIN AND ARCH_ARM64)
  117. CFLAGS(
  118. -DL_ENDIAN
  119. -DOPENSSL_PIC
  120. )
  121. ENDIF()
  122. IF (OS_WINDOWS)
  123. IF (ARCH_X86_64)
  124. CFLAGS(
  125. -DENGINESDIR="\"C:\\\\Program\ Files\\\\OpenSSL\\\\lib\\\\engines-1_1\""
  126. -DOPENSSLDIR="\"C:\\\\Program\ Files\\\\Common\ Files\\\\SSL\""
  127. )
  128. ELSEIF (ARCH_I386)
  129. CFLAGS(
  130. -DENGINESDIR="\"C:\\\\Program\ Files\ \(x86\)\\\\OpenSSL\\\\lib\\\\engines-1_1\""
  131. -DOPENSSLDIR="\"C:\\\\Program\ Files\ \(x86\)\\\\Common\ Files\\\\SSL\""
  132. )
  133. ENDIF()
  134. CFLAGS(
  135. -DOPENSSL_SYS_WIN32
  136. /GF
  137. )
  138. ENDIF()
  139. IF (SANITIZER_TYPE == memory)
  140. CFLAGS(
  141. -DPURIFY
  142. )
  143. ENDIF()
  144. IF (MUSL)
  145. CFLAGS(
  146. -DOPENSSL_NO_ASYNC
  147. )
  148. ENDIF()
  149. IF (ARCH_TYPE_32)
  150. CFLAGS(
  151. -DOPENSSL_NO_EC_NISTP_64_GCC_128
  152. )
  153. ENDIF()
  154. SRCS(
  155. engines/e_capi.c
  156. engines/e_padlock.c
  157. ssl/bio_ssl.c
  158. ssl/d1_lib.c
  159. ssl/d1_msg.c
  160. ssl/d1_srtp.c
  161. ssl/methods.c
  162. ssl/packet.c
  163. ssl/pqueue.c
  164. ssl/record/dtls1_bitmap.c
  165. ssl/record/rec_layer_d1.c
  166. ssl/record/rec_layer_s3.c
  167. ssl/record/ssl3_buffer.c
  168. ssl/record/ssl3_record.c
  169. ssl/record/ssl3_record_tls13.c
  170. ssl/s3_cbc.c
  171. ssl/s3_enc.c
  172. ssl/s3_lib.c
  173. ssl/s3_msg.c
  174. ssl/ssl_asn1.c
  175. ssl/ssl_cert.c
  176. ssl/ssl_ciph.c
  177. ssl/ssl_conf.c
  178. ssl/ssl_err.c
  179. ssl/ssl_init.c
  180. ssl/ssl_lib.c
  181. ssl/ssl_mcnf.c
  182. ssl/ssl_rsa.c
  183. ssl/ssl_sess.c
  184. ssl/ssl_stat.c
  185. ssl/ssl_txt.c
  186. ssl/ssl_quic.c
  187. ssl/ssl_utst.c
  188. ssl/statem/extensions.c
  189. ssl/statem/extensions_clnt.c
  190. ssl/statem/extensions_cust.c
  191. ssl/statem/extensions_srvr.c
  192. ssl/statem/statem.c
  193. ssl/statem/statem_clnt.c
  194. ssl/statem/statem_dtls.c
  195. ssl/statem/statem_lib.c
  196. ssl/statem/statem_quic.c
  197. ssl/statem/statem_srvr.c
  198. ssl/t1_enc.c
  199. ssl/t1_lib.c
  200. ssl/t1_trce.c
  201. ssl/tls13_enc.c
  202. ssl/tls_srp.c
  203. )
  204. IF (NOT IOS_ARMV7 AND NOT LINUX_ARMV7)
  205. CFLAGS(
  206. -DVPAES_ASM
  207. )
  208. ENDIF()
  209. IF (OS_LINUX AND ARCH_ARM7 OR OS_LINUX AND ARCH_AARCH64 OR OS_LINUX AND ARCH_X86_64 OR OS_LINUX AND ARCH_PPC64LE)
  210. SRCS(
  211. engines/e_afalg.c
  212. )
  213. ENDIF()
  214. IF (OS_DARWIN AND ARCH_X86_64)
  215. SRCS(
  216. asm/darwin/engines/e_padlock-x86_64.s
  217. )
  218. ENDIF()
  219. IF (OS_LINUX AND ARCH_X86_64)
  220. SRCS(
  221. asm/linux/engines/e_padlock-x86_64.s
  222. )
  223. ENDIF()
  224. IF (OS_WINDOWS AND ARCH_X86_64)
  225. SRCS(
  226. asm/windows/engines/e_padlock-x86_64.masm
  227. )
  228. ENDIF()
  229. IF (OS_WINDOWS AND ARCH_I386)
  230. CFLAGS(
  231. -DPADLOCK_ASM
  232. )
  233. MASMFLAGS(
  234. /safeseh
  235. )
  236. SRCS(
  237. asm/windows/engines/e_padlock-x86.masm
  238. )
  239. ENDIF()
  240. IF (OS_IOS AND ARCH_X86_64)
  241. CFLAGS(
  242. -DPADLOCK_ASM
  243. -D_REENTRANT
  244. )
  245. SRCS(
  246. asm/ios/x86_64/engines/e_padlock-x86_64.s
  247. engines/e_dasync.c
  248. engines/e_ossltest.c
  249. )
  250. ENDIF()
  251. IF (OS_ANDROID AND ARCH_X86_64)
  252. CFLAGS(
  253. -DOPENSSL_PIC
  254. -DOPENSSL_IA32_SSE2
  255. -DOPENSSL_BN_ASM_MONT5
  256. -DOPENSSL_BN_ASM_GF2m
  257. -DDRC4_ASM
  258. -DMD5_ASM
  259. -DGHASH_ASM
  260. -DX25519_ASM
  261. )
  262. SRCS(
  263. asm/android/x86_64/engines/e_padlock-x86_64.s
  264. )
  265. ENDIF()
  266. IF (OS_ANDROID AND ARCH_I686)
  267. CFLAGS(
  268. -DOPENSSL_PIC
  269. -DOPENSSL_BN_ASM_PART_WORDS
  270. -DOPENSSL_IA32_SSE2
  271. -DOPENSSL_BN_ASM_MONT
  272. -DOPENSSL_BN_ASM_GF2m
  273. -DRC4_ASM
  274. -DMD5_ASM
  275. -DRMD160_ASM
  276. -DVPAES_ASM
  277. -DWHIRLPOOL_ASM
  278. -DGHASH_ASM
  279. )
  280. SRCS(
  281. asm/android/i686/engines/e_padlock-x86.s
  282. )
  283. ENDIF()
  284. IF (OS_ANDROID AND ARCH_ARM7)
  285. CFLAGS(
  286. -DOPENSSL_PIC
  287. -DOPENSSL_BN_ASM_GF2m
  288. -DKECCAK1600_ASM
  289. -DAES_ASM
  290. -DBSAES_ASM
  291. -DGHASH_ASM
  292. )
  293. ENDIF()
  294. IF (OS_ANDROID AND ARCH_ARM64)
  295. CFLAGS(
  296. -DOPENSSL_PIC
  297. -DKECCAK1600_ASM
  298. -DVPAES_ASM
  299. )
  300. ENDIF()
  301. ENDIF() # IF (NOT EXPORT_CMAKE OR NOT OPENSOURCE_REPLACE_OPENSSL)
  302. END()
  303. RECURSE(
  304. apps
  305. crypto
  306. )