ya.make 6.6 KB

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