summaryrefslogtreecommitdiffstats
path: root/contrib/libs/cxxsupp/builtins
diff options
context:
space:
mode:
authoralexv-smirnov <[email protected]>2023-03-15 19:59:12 +0300
committeralexv-smirnov <[email protected]>2023-03-15 19:59:12 +0300
commit056bb284ccf8dd6793ec3a54ffa36c4fb2b9ad11 (patch)
tree4740980126f32e3af7937ba0ca5f83e59baa4ab0 /contrib/libs/cxxsupp/builtins
parent269126dcced1cc8b53eb4398b4a33e5142f10290 (diff)
add library/cpp/actors, ymake build to ydb oss export
Diffstat (limited to 'contrib/libs/cxxsupp/builtins')
-rw-r--r--contrib/libs/cxxsupp/builtins/ya.make119
1 files changed, 119 insertions, 0 deletions
diff --git a/contrib/libs/cxxsupp/builtins/ya.make b/contrib/libs/cxxsupp/builtins/ya.make
new file mode 100644
index 00000000000..b6aa425654d
--- /dev/null
+++ b/contrib/libs/cxxsupp/builtins/ya.make
@@ -0,0 +1,119 @@
+LIBRARY()
+
+# Part of compiler-rt LLVM subproject
+
+# git repository: https://github.com/llvm/llvm-project.git
+# directory: compiler-rt/lib/builtins
+# revision: 08f0372c351a57b01afee6c64066961203da28c5
+
+# os_version_check.c was taken from revision 81b89fd7bdddb7da66f2cdace97d6ede5f99d58a
+# os_version_check.c was patched from git repository https://github.com/apple/llvm-project.git revision a02454b91d2aec347b9ce03020656c445f3b2841
+
+LICENSE(
+ Apache-2.0 AND
+ Apache-2.0 WITH LLVM-exception AND
+ MIT AND
+ NCSA
+)
+
+LICENSE_TEXTS(.yandex_meta/licenses.list.txt)
+
+VERSION(2016-03-03-08f0372c351a57b01afee6c64066961203da28c5)
+
+ORIGINAL_SOURCE(https://github.com/llvm/llvm-project)
+
+# Check MUSL before NO_PLATFORM() disables it.
+IF (MUSL)
+ # We use C headers despite NO_PLATFORM, but we do not propagate
+ # them with ADDINCL GLOBAL because we do not have an API, and we
+ # can not propagate them because libcxx has to put its own
+ # includes before musl includes for its include_next to work.
+ ADDINCL(
+ contrib/libs/musl/arch/x86_64
+ contrib/libs/musl/arch/generic
+ contrib/libs/musl/include
+ contrib/libs/musl/extra
+ )
+ENDIF()
+
+NO_UTIL()
+
+NO_RUNTIME()
+
+NO_PLATFORM()
+
+NO_COMPILER_WARNINGS()
+
+IF (GCC OR CLANG)
+ # Clang (maybe GCC too) LTO code generator leaves the builtin calls unresolved
+ # even if they are available. After the code generation pass is done
+ # a linker is forced to select original object files from this library again
+ # as they contain unresolved symbols. But code generation is already done,
+ # object files actually are not ELFs but an LLVM bytecode and we get
+ # "member at xxxxx is not an ELF object" errors from the linker.
+ # Just generate native code from the beginning.
+ DISABLE(USE_LTO)
+ENDIF()
+
+SRCS(
+ addtf3.c
+ ashlti3.c
+ clzti2.c
+ comparetf2.c
+ divdc3.c
+ divsc3.c
+ divtf3.c
+ divti3.c
+ divxc3.c
+ extenddftf2.c
+ extendsftf2.c
+ fixdfti.c
+ fixsfti.c
+ fixtfdi.c
+ fixtfsi.c
+ fixunsdfti.c
+ fixunssfti.c
+ fixunstfdi.c
+ fixunstfsi.c
+ fixunstfti.c
+ fixunsxfti.c
+ floatditf.c
+ floatsitf.c
+ floattidf.c
+ floattisf.c
+ floatunditf.c
+ floatunsitf.c
+ floatuntidf.c
+ floatuntisf.c
+ gcc_personality_v0.c
+ int_util.c
+ lshrti3.c
+ modti3.c
+ muldc3.c
+ muloti4.c
+ mulsc3.c
+ multf3.c
+ mulxc3.c
+ popcountdi2.c
+ subtf3.c
+ trunctfdf2.c
+ trunctfsf2.c
+ udivmodti4.c
+ udivti3.c
+ umodti3.c
+)
+
+IF (OS_DARWIN OR OS_IOS)
+ SRCS(
+ os_version_check.c
+ )
+ENDIF()
+
+IF (ARCH_ARM)
+ SRCS(
+ clear_cache.c
+ multc3.c
+ )
+ENDIF()
+
+END()