ya.make 6.8 KB

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