diff options
author | alexv-smirnov <alex@ydb.tech> | 2023-03-15 19:59:12 +0300 |
---|---|---|
committer | alexv-smirnov <alex@ydb.tech> | 2023-03-15 19:59:12 +0300 |
commit | 056bb284ccf8dd6793ec3a54ffa36c4fb2b9ad11 (patch) | |
tree | 4740980126f32e3af7937ba0ca5f83e59baa4ab0 /contrib/libs/libc_compat | |
parent | 269126dcced1cc8b53eb4398b4a33e5142f10290 (diff) | |
download | ydb-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.make | 36 | ||||
-rw-r--r-- | contrib/libs/libc_compat/ya.make | 156 |
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() |