aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/libc_compat
diff options
context:
space:
mode:
authoralexv-smirnov <alex@ydb.tech>2023-03-15 19:59:12 +0300
committeralexv-smirnov <alex@ydb.tech>2023-03-15 19:59:12 +0300
commit056bb284ccf8dd6793ec3a54ffa36c4fb2b9ad11 (patch)
tree4740980126f32e3af7937ba0ca5f83e59baa4ab0 /contrib/libs/libc_compat
parent269126dcced1cc8b53eb4398b4a33e5142f10290 (diff)
downloadydb-056bb284ccf8dd6793ec3a54ffa36c4fb2b9ad11.tar.gz
add library/cpp/actors, ymake build to ydb oss export
Diffstat (limited to 'contrib/libs/libc_compat')
-rw-r--r--contrib/libs/libc_compat/ubuntu_14/ya.make36
-rw-r--r--contrib/libs/libc_compat/ya.make156
2 files changed, 192 insertions, 0 deletions
diff --git a/contrib/libs/libc_compat/ubuntu_14/ya.make b/contrib/libs/libc_compat/ubuntu_14/ya.make
new file mode 100644
index 0000000000..3690c8613a
--- /dev/null
+++ b/contrib/libs/libc_compat/ubuntu_14/ya.make
@@ -0,0 +1,36 @@
+LIBRARY()
+
+WITHOUT_LICENSE_TEXTS()
+
+LICENSE(BSD-3-Clause)
+
+NO_PLATFORM()
+
+NO_RUNTIME()
+
+NO_UTIL()
+
+DISABLE(NEED_PLATFORM_PEERDIRS)
+DISABLE(OPENSOURCE_EXPORT)
+
+IF (OS_SDK == "ubuntu-14")
+ PEERDIR(
+ build/platform/linux_sdk
+ )
+ SRCS(
+ aligned_alloc.c
+ c16rtomb.c
+ c32rtomb.c
+ getauxval.cpp
+ mbrtoc16.c
+ mbrtoc32.c
+ secure_getenv.cpp
+ timespec_get.c
+ )
+ SRC_C_PIC(
+ glibc.cpp
+ -fno-lto
+ )
+ENDIF()
+
+END()
diff --git a/contrib/libs/libc_compat/ya.make b/contrib/libs/libc_compat/ya.make
new file mode 100644
index 0000000000..452f7d7ded
--- /dev/null
+++ b/contrib/libs/libc_compat/ya.make
@@ -0,0 +1,156 @@
+LIBRARY()
+
+LICENSE(
+ BSD-1-Clause AND
+ BSD-2-Clause AND
+ BSD-3-Clause AND
+ ISC
+)
+
+LICENSE_TEXTS(.yandex_meta/licenses.list.txt)
+
+NO_COMPILER_WARNINGS()
+
+NO_UTIL()
+
+NO_RUNTIME()
+
+IF (NOT OS_WINDOWS)
+ SRCS(
+ string.c
+ )
+ENDIF()
+
+DISABLE(PROVIDE_GETRANDOM_GETENTROPY)
+DISABLE(PROVIDE_REALLOCARRAY)
+
+# Android libc function appearance is documented here:
+# https://android.googlesource.com/platform/bionic/+/master/docs/status.md
+#
+# NB: nested IF's are needed due to the lack of lazy evaluation of logical statements: DEVTOOLS-7837
+IF (OS_ANDROID)
+ SRCS(
+ strlcat.c
+ strlcpy.c
+ )
+ IF (ANDROID_API < 28)
+ SRCS(
+ glob.c
+ )
+ ENABLE(PROVIDE_REALLOCARRAY)
+ ENDIF()
+ IF (ANDROID_API < 24)
+ SRCS(
+ ifaddrs.c
+ )
+ ADDINCL(
+ GLOBAL contrib/libs/libc_compat/include/ifaddrs
+ )
+ ENDIF()
+ IF (ANDROID_API < 21)
+ SRCS(
+ stpcpy.c
+ )
+ ENDIF()
+ENDIF()
+
+IF (OS_WINDOWS OR OS_DARWIN OR OS_IOS)
+ SRCS(
+ memrchr.c
+ )
+ENDIF()
+
+IF (OS_DARWIN)
+ SRCS(
+ explicit_bzero.c
+ )
+ ENABLE(PROVIDE_REALLOCARRAY)
+ENDIF()
+
+IF (OS_WINDOWS)
+ ADDINCL(
+ GLOBAL contrib/libs/libc_compat/include/windows
+ )
+ SRCS(
+ explicit_bzero.c
+ stpcpy.c
+ strlcat.c
+ strlcpy.c
+ strcasestr.c
+ strsep.c
+ src/windows/sys/uio.c
+ )
+ ENABLE(PROVIDE_REALLOCARRAY)
+ENDIF()
+
+IF (OS_LINUX)
+ ADDINCL(
+ GLOBAL contrib/libs/libc_compat/include/readpassphrase
+ )
+ SRCS(
+ readpassphrase.c
+ )
+ENDIF()
+
+IF (OS_LINUX AND NOT MUSL)
+ IF (OS_SDK == "ubuntu-12")
+ ADDINCL(
+ # uchar.h was introduced in glibc=2.16
+ GLOBAL contrib/libs/libc_compat/include/uchar
+ )
+ ENDIF()
+ IF (OS_SDK == "ubuntu-12" OR OS_SDK == "ubuntu-14" OR OS_SDK == "ubuntu-16")
+ # getrandom and getentropy were added in glibc=2.25
+ ENABLE(PROVIDE_GETRANDOM_GETENTROPY)
+
+ SRCS(
+ # explicit_bzero was added in glibc=2.25
+ explicit_bzero.c
+ # memfd_create was added in glibc=2.27
+ memfd_create.c
+ )
+ ENDIF()
+ IF (OS_SDK != "ubuntu-20")
+ # reallocarray was added in glibc=2.29
+ ENABLE(PROVIDE_REALLOCARRAY)
+ ENDIF()
+ SRCS(
+ # glibc does not offer strlcat / strlcpy yet
+ strlcat.c
+ strlcpy.c
+ )
+ IF (SANITIZER_TYPE == "memory")
+ # llvm sanitized runtime is missing an interceptor for a buggy (getservbyname{_r}).
+ # See: https://github.com/google/sanitizers/issues/1138
+ ENABLE(PROVIDE_GETSERVBYNAME)
+ ENDIF()
+ENDIF()
+
+IF (PROVIDE_REALLOCARRAY)
+ SRCS(
+ reallocarray/reallocarray.c
+ )
+ ADDINCL(
+ ONE_LEVEL contrib/libs/libc_compat/reallocarray
+ )
+ENDIF()
+
+IF (PROVIDE_GETRANDOM_GETENTROPY)
+ SRCS(
+ random/getrandom.c
+ random/getentropy.c
+ )
+ ADDINCL(
+ ONE_LEVEL contrib/libs/libc_compat/random
+ )
+ENDIF()
+
+IF (PROVIDE_GETSERVBYNAME)
+ SRCS(
+ getservbyname/getservbyname.c
+ getservbyname/getservbyname_r.c
+ getservbyname/lookup_serv.c
+ )
+ENDIF()
+
+END()