ya.make 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. OWNER(g:cpp-contrib)
  2. LIBRARY()
  3. LICENSE(
  4. BSD-1-Clause AND
  5. BSD-2-Clause AND
  6. BSD-3-Clause AND
  7. ISC
  8. )
  9. LICENSE_TEXTS(.yandex_meta/licenses.list.txt)
  10. NO_COMPILER_WARNINGS()
  11. NO_UTIL()
  12. NO_RUNTIME()
  13. IF (NOT OS_WINDOWS)
  14. SRCS(
  15. string.c
  16. )
  17. ENDIF()
  18. # Android libc function appearance is documented here:
  19. # https://android.googlesource.com/platform/bionic/+/master/docs/status.md
  20. #
  21. # NB: nested IF's are needed due to the lack of lazy evaluation of logical statements: DEVTOOLS-7837
  22. IF (OS_ANDROID)
  23. SRCS(
  24. strlcat.c
  25. strlcpy.c
  26. )
  27. IF (ANDROID_API < 28)
  28. SRCS(
  29. glob.c
  30. reallocarray.c
  31. )
  32. ENDIF()
  33. IF (ANDROID_API < 24)
  34. SRCS(
  35. ifaddrs.c
  36. )
  37. ADDINCL(
  38. GLOBAL contrib/libs/libc_compat/include/ifaddrs
  39. )
  40. ENDIF()
  41. IF (ANDROID_API < 21)
  42. SRCS(
  43. stpcpy.c
  44. )
  45. ENDIF()
  46. ENDIF()
  47. IF (OS_WINDOWS OR OS_DARWIN OR OS_IOS)
  48. SRCS(
  49. memrchr.c
  50. )
  51. ENDIF()
  52. IF (OS_DARWIN)
  53. SRCS(
  54. reallocarray.c
  55. )
  56. ENDIF()
  57. IF (OS_WINDOWS)
  58. ADDINCL(
  59. GLOBAL contrib/libs/libc_compat/include/windows
  60. )
  61. SRCS(
  62. reallocarray.c
  63. stpcpy.c
  64. strlcat.c
  65. strlcpy.c
  66. strcasestr.c
  67. strsep.c
  68. src/windows/sys/uio.c
  69. )
  70. ENDIF()
  71. IF (OS_LINUX)
  72. ADDINCL(
  73. GLOBAL contrib/libs/libc_compat/include/readpassphrase
  74. )
  75. SRCS(
  76. readpassphrase.c
  77. )
  78. ENDIF()
  79. IF (OS_LINUX AND NOT MUSL)
  80. IF (OS_SDK == "ubuntu-12")
  81. ADDINCL(
  82. # uchar.h was introduced in glibc=2.16
  83. GLOBAL contrib/libs/libc_compat/include/uchar
  84. )
  85. ENDIF()
  86. IF (OS_SDK == "ubuntu-12" OR OS_SDK == "ubuntu-14" OR OS_SDK == "ubuntu-16")
  87. ADDINCL(
  88. GLOBAL contrib/libs/libc_compat/include/random
  89. )
  90. SRCS(
  91. # getrandom was added in glibc=2.25
  92. getrandom.c
  93. # memfd_create was added in glibc=2.27
  94. memfd_create.c
  95. )
  96. ENDIF()
  97. IF (OS_SDK != "ubuntu-20")
  98. SRCS(
  99. # reallocarray was added in glibc=2.29
  100. reallocarray.c
  101. )
  102. ENDIF()
  103. SRCS(
  104. # glibc does not offer strlcat / strlcpy yet
  105. strlcat.c
  106. strlcpy.c
  107. )
  108. ENDIF()
  109. END()