aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/cxxsupp/libcxx
diff options
context:
space:
mode:
authoralexv-smirnov <alex@ydb.tech>2023-03-28 22:25:04 +0300
committeralexv-smirnov <alex@ydb.tech>2023-03-28 22:25:04 +0300
commitb8a17f9b1c166d2e9a26b99348a4c29d972caf55 (patch)
tree1a2d881f1a9452b9c6103dbf69d73da7624e98e5 /contrib/libs/cxxsupp/libcxx
parent25659221f18577ea38430a8ec3349836f5626b6a (diff)
downloadydb-b8a17f9b1c166d2e9a26b99348a4c29d972caf55.tar.gz
Revert ymake build from ydb oss export
Diffstat (limited to 'contrib/libs/cxxsupp/libcxx')
-rw-r--r--contrib/libs/cxxsupp/libcxx/ya.make261
1 files changed, 0 insertions, 261 deletions
diff --git a/contrib/libs/cxxsupp/libcxx/ya.make b/contrib/libs/cxxsupp/libcxx/ya.make
deleted file mode 100644
index d6032ecc261..00000000000
--- a/contrib/libs/cxxsupp/libcxx/ya.make
+++ /dev/null
@@ -1,261 +0,0 @@
-LIBRARY()
-
-LICENSE(
- Apache-2.0 AND
- Apache-2.0 WITH LLVM-exception AND
- BSD-2-Clause AND
- MIT AND
- NCSA
-)
-
-LICENSE_TEXTS(.yandex_meta/licenses.list.txt)
-
-VERSION(2022-02-20)
-
-ORIGINAL_SOURCE(https://github.com/llvm/llvm-project/archive/34313583331e5c8cb0d3df28efb6c34c428fd235.tar.gz)
-
-ADDINCL(
- GLOBAL contrib/libs/cxxsupp/libcxx/include
- contrib/libs/cxxsupp/libcxx/src
-)
-
-CXXFLAGS(-D_LIBCPP_BUILDING_LIBRARY)
-
-IF (EXPORT_CMAKE)
- # TODO(YMAKE-91) split C_DEFINES core.conf var into parts and avoid libc++ ya.make modification
- CXXFLAGS(GLOBAL -D_LIBCPP_ENABLE_CXX17_REMOVED_FEATURES)
-ENDIF()
-
-IF (OS_ANDROID)
- DEFAULT(CXX_RT "default")
- IF (ARCH_I686 OR ARCH_ARM7)
- # 32-bit architectures require additional libandroid_support.so to be linked
- # We add --start-group / --end-group statements due to the issue in NDK < r22.
- # See: https://github.com/android/ndk/issues/1130
- #
- # Though these statements are not respected by LLD, they might have sense for other linkers.
- LDFLAGS(
- -Wl,--start-group
- -lc++abi
- -landroid_support
- -Wl,--end-group
- )
- ELSE()
- LDFLAGS(-lc++abi)
- ENDIF()
- CFLAGS(
- -DLIBCXX_BUILDING_LIBCXXABI
- )
-ELSEIF (OS_IOS)
- # Take cxxabi implementation from system.
- LDFLAGS(-lc++abi)
- CFLAGS(
- -DLIBCXX_BUILDING_LIBCXXABI
- )
- # Yet take builtins library from Arcadia
- PEERDIR(
- contrib/libs/cxxsupp/builtins
- )
-ELSEIF (OS_LINUX OR OS_DARWIN)
- IF (ARCH_ARM7)
- # XXX: libcxxrt support for ARM is currently broken
- DEFAULT(CXX_RT "glibcxx_static")
- # ARM7 OS_SDK has old libstdc++ without aligned allocation support
- CFLAGS(
- GLOBAL -fno-aligned-new
- )
- ELSE()
- DEFAULT(CXX_RT "libcxxrt")
- ENDIF()
- IF (MUSL)
- PEERDIR(
- contrib/libs/musl/include
- )
- ENDIF()
-ELSEIF (OS_WINDOWS)
- SRCS(
- src/support/win32/locale_win32.cpp
- src/support/win32/support.cpp
- src/support/win32/atomic_win32.cpp
- src/support/win32/new_win32.cpp
- src/support/win32/thread_win32.cpp
- )
- CFLAGS(
- GLOBAL -D_LIBCPP_VASPRINTF_DEFINED
- GLOBAL -D_WCHAR_H_CPLUSPLUS_98_CONFORMANCE_
- )
- IF (CLANG_CL)
- PEERDIR(
- contrib/libs/cxxsupp/builtins
- )
- ENDIF()
-ELSE()
- DEFAULT(CXX_RT "glibcxx_static")
- CXXFLAGS(
- -Wno-unknown-pragmas
- -nostdinc++
- )
-ENDIF()
-
-IF (OS_LINUX)
- EXTRALIBS(-lpthread)
-ENDIF()
-
-IF (CLANG)
- CFLAGS(
- GLOBAL -nostdinc++
- )
-ENDIF()
-
-# The CXX_RT variable controls which C++ runtime is used.
-# * libcxxrt - https://github.com/libcxxrt/libcxxrt library stored in Arcadia
-# * glibcxx_static - GNU C++ Library runtime with static linkage
-# * glibcxx_dynamic - GNU C++ Library runtime with dynamic linkage
-# * default - default C++ runtime provided by the compiler driver
-#
-# All glibcxx* runtimes are taken from system/compiler SDK
-
-DEFAULT(CXX_RT "default")
-
-DISABLE(NEED_GLIBCXX_CXX17_SHIMS)
-DISABLE(NEED_CXX_RT_ADDINCL)
-
-IF (CXX_RT == "libcxxrt")
- PEERDIR(
- contrib/libs/cxxsupp/libcxxabi-parts
- contrib/libs/cxxsupp/libcxxrt
- contrib/libs/cxxsupp/builtins
- )
- ADDINCL(
- GLOBAL contrib/libs/cxxsupp/libcxxrt/include
- )
- CFLAGS(
- GLOBAL -DLIBCXX_BUILDING_LIBCXXRT
- )
- # These builtins are equivalent to clang -rtlib=compiler_rt and
- # are needed by potentially any code generated by clang.
- # With glibcxx runtime, builtins are provided by libgcc
-ELSEIF (CXX_RT == "glibcxx_static")
- LDFLAGS(
- -Wl,-Bstatic
- -lsupc++
- -lgcc
- -lgcc_eh
- -Wl,-Bdynamic
- )
- CXXFLAGS(-D__GLIBCXX__=1)
- ENABLE(NEED_GLIBCXX_CXX17_SHIMS)
- ENABLE(NEED_CXX_RT_ADDINCL)
- CFLAGS(
- GLOBAL -DLIBCXX_BUILDING_LIBGCC
- )
-ELSEIF (CXX_RT == "glibcxx_dynamic")
- LDFLAGS(
- -lgcc_s
- -lstdc++
- )
- CXXFLAGS(-D__GLIBCXX__=1)
- CFLAGS(
- GLOBAL -DLIBCXX_BUILDING_LIBGCC
- )
- ENABLE(NEED_GLIBCXX_CXX17_SHIMS)
- ENABLE(NEED_CXX_RT_ADDINCL)
-ELSEIF (CXX_RT == "default")
- # Do nothing
-ELSE()
- MESSAGE(FATAL_ERROR "Unexpected CXX_RT value: ${CXX_RT}")
-ENDIF()
-
-IF (NEED_GLIBCXX_CXX17_SHIMS)
- IF (GCC)
- # Assume GCC is bundled with a modern enough version of C++ runtime
- ELSEIF (OS_SDK == "ubuntu-12" OR OS_SDK == "ubuntu-14" OR OS_SDK == "ubuntu-16")
- # Prior to ubuntu-18, system C++ runtime for C++17 is incomplete
- # and requires std::uncaught_exceptions() to be implemented.
- SRCS(
- glibcxx_eh_cxx17.cpp
- )
- ENDIF()
-ENDIF()
-
-IF (NEED_CXX_RT_ADDINCL)
- # FIXME:
- # This looks extremely weird and we have to use cxxabi.h from libsupc++ instead.
- # This ADDINCL is placed here just to fix the status quo
- ADDINCL(
- GLOBAL contrib/libs/cxxsupp/libcxxrt/include
- )
-ENDIF()
-
-NO_UTIL()
-
-NO_RUNTIME()
-
-NO_COMPILER_WARNINGS()
-
-IF (FUZZING)
- NO_SANITIZE()
- NO_SANITIZE_COVERAGE()
-ENDIF()
-
-SRCS(
- src/algorithm.cpp
- src/any.cpp
- src/assert.cpp
- src/atomic.cpp
- src/barrier.cpp
- src/bind.cpp
- src/charconv.cpp
- src/chrono.cpp
- src/condition_variable.cpp
- src/condition_variable_destructor.cpp
- src/debug.cpp
- src/exception.cpp
- src/filesystem/directory_iterator.cpp
- src/filesystem/operations.cpp
- src/functional.cpp
- src/future.cpp
- src/hash.cpp
- src/ios.cpp
- src/ios.instantiations.cpp
- src/iostream.cpp
- src/legacy_pointer_safety.cpp
- src/locale.cpp
- src/memory.cpp
- src/mutex.cpp
- src/mutex_destructor.cpp
- src/optional.cpp
- src/random.cpp
- src/random_shuffle.cpp
- src/regex.cpp
- src/ryu/d2fixed.cpp
- src/ryu/d2s.cpp
- src/ryu/f2s.cpp
- src/shared_mutex.cpp
- src/stdexcept.cpp
- src/string.cpp
- src/strstream.cpp
- src/system_error.cpp
- src/thread.cpp
- src/typeinfo.cpp
- src/utility.cpp
- src/valarray.cpp
- src/variant.cpp
- src/vector.cpp
-)
-
-IF (NOT GCC)
- # compiling src/format.cpp requires -std=c++20,
- # yet our GCC version it too auld for this.
- SRCS(
- src/format.cpp
- )
-ENDIF()
-
-IF (NOT OS_WINDOWS)
- SRCS(
- src/new.cpp
- )
-ENDIF()
-
-END()