diff options
author | alexv-smirnov <alex@ydb.tech> | 2023-03-28 22:25:04 +0300 |
---|---|---|
committer | alexv-smirnov <alex@ydb.tech> | 2023-03-28 22:25:04 +0300 |
commit | b8a17f9b1c166d2e9a26b99348a4c29d972caf55 (patch) | |
tree | 1a2d881f1a9452b9c6103dbf69d73da7624e98e5 /contrib/libs/cxxsupp/libcxx | |
parent | 25659221f18577ea38430a8ec3349836f5626b6a (diff) | |
download | ydb-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.make | 261 |
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() |