123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595 |
- # Generated by devtools/yamaker/ym2
- LIBRARY()
- LICENSE(
- Apache-2.0 AND
- Apache-2.0 WITH LLVM-exception AND
- MIT AND
- NCSA
- )
- LICENSE_TEXTS(.yandex_meta/licenses.list.txt)
- VERSION(19.1.7)
- ORIGINAL_SOURCE(https://github.com/llvm/llvm-project/releases/download/llvmorg-19.1.7/compiler-rt-19.1.7.src.tar.xz)
- NO_COMPILER_WARNINGS()
- # 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.
- IF (ARCH_X86_64)
- ADDINCL(
- contrib/libs/musl/arch/x86_64
- )
- ENDIF()
- IF (ARCH_AARCH64)
- ADDINCL(
- contrib/libs/musl/arch/aarch64
- )
- ENDIF()
- ADDINCL(
- 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.
- NO_LTO()
- ENDIF()
- IF (OS_DARWIN OR OS_IOS)
- SRCS(
- atomic_flag_clear.c
- atomic_flag_clear_explicit.c
- atomic_flag_test_and_set.c
- atomic_flag_test_and_set_explicit.c
- atomic_signal_fence.c
- atomic_thread_fence.c
- )
- ENDIF()
- IF (ARCH_ARM64 OR ARCH_X86_64)
- # As of r25b, clang-for-android does not have bf16 support.
- # These can be built using r27 and above.
- IF (NOT OS_ANDROID)
- SRCS(
- # NB: sources that were commented out were added in llvm-20
- extendbfsf2.c
- truncdfbf2.c
- # truncxfbf2.c
- truncsfbf2.c
- # trunctfbf2.c
- )
- ENDIF()
- ENDIF()
- IF (ARCH_AARCH64)
- SRCS(
- aarch64/chkstk.S
- aarch64/fp_mode.c
- aarch64/sme-abi-init.c
- aarch64/sme-abi-vg.c
- aarch64/sme-abi.S
- aarch64/sme-libc-mem-routines.S
- absvdi2.c
- absvsi2.c
- absvti2.c
- adddf3.c
- addsf3.c
- addtf3.c
- addvdi3.c
- addvsi3.c
- addvti3.c
- apple_versioning.c
- ashldi3.c
- ashlti3.c
- ashrdi3.c
- ashrti3.c
- atomic.c
- bswapdi2.c
- bswapsi2.c
- clear_cache.c
- clzdi2.c
- clzsi2.c
- clzti2.c
- cmpdi2.c
- cmpti2.c
- comparedf2.c
- comparesf2.c
- comparetf2.c
- cpu_model/aarch64.c
- ctzdi2.c
- ctzsi2.c
- ctzti2.c
- divdc3.c
- divdf3.c
- divdi3.c
- divmoddi4.c
- divmodsi4.c
- divmodti4.c
- divsc3.c
- divsf3.c
- divsi3.c
- divtc3.c
- divtf3.c
- divti3.c
- emutls.c
- enable_execute_stack.c
- eprintf.c
- extenddftf2.c
- extendhfsf2.c
- extendhftf2.c
- extendsfdf2.c
- extendsftf2.c
- ffsdi2.c
- ffssi2.c
- ffsti2.c
- fixdfdi.c
- fixdfsi.c
- fixdfti.c
- fixsfdi.c
- fixsfsi.c
- fixsfti.c
- fixtfdi.c
- fixtfsi.c
- fixtfti.c
- fixunsdfdi.c
- fixunsdfsi.c
- fixunsdfti.c
- fixunssfdi.c
- fixunssfsi.c
- fixunssfti.c
- fixunstfdi.c
- fixunstfsi.c
- fixunstfti.c
- floatdidf.c
- floatdisf.c
- floatditf.c
- floatsidf.c
- floatsisf.c
- floatsitf.c
- floattidf.c
- floattisf.c
- floattitf.c
- floatundidf.c
- floatundisf.c
- floatunditf.c
- floatunsidf.c
- floatunsisf.c
- floatunsitf.c
- floatuntidf.c
- floatuntisf.c
- floatuntitf.c
- gcc_personality_v0.c
- int_util.c
- lshrdi3.c
- lshrti3.c
- moddi3.c
- modsi3.c
- modti3.c
- muldc3.c
- muldf3.c
- muldi3.c
- mulodi4.c
- mulosi4.c
- muloti4.c
- mulsc3.c
- mulsf3.c
- multc3.c
- multf3.c
- multi3.c
- mulvdi3.c
- mulvsi3.c
- mulvti3.c
- negdf2.c
- negdi2.c
- negsf2.c
- negti2.c
- negvdi2.c
- negvsi2.c
- negvti2.c
- os_version_check.c
- paritydi2.c
- paritysi2.c
- parityti2.c
- popcountdi2.c
- popcountsi2.c
- popcountti2.c
- powidf2.c
- powisf2.c
- powitf2.c
- subdf3.c
- subsf3.c
- subtf3.c
- subvdi3.c
- subvsi3.c
- subvti3.c
- trampoline_setup.c
- truncdfhf2.c
- truncdfsf2.c
- truncsfhf2.c
- trunctfdf2.c
- trunctfhf2.c
- trunctfsf2.c
- ucmpdi2.c
- ucmpti2.c
- udivdi3.c
- udivmoddi4.c
- udivmodsi4.c
- udivmodti4.c
- udivsi3.c
- udivti3.c
- umoddi3.c
- umodsi3.c
- umodti3.c
- )
- IF (NOT OS_DARWIN)
- SRCS(
- aarch64/sme-libc-routines.c
- )
- ENDIF()
- ELSEIF (ARCH_X86_64)
- SRCS(
- absvdi2.c
- absvsi2.c
- absvti2.c
- adddf3.c
- addsf3.c
- addtf3.c
- addvdi3.c
- addvsi3.c
- addvti3.c
- apple_versioning.c
- ashldi3.c
- ashlti3.c
- ashrdi3.c
- ashrti3.c
- atomic.c
- bswapdi2.c
- bswapsi2.c
- clear_cache.c
- clzdi2.c
- clzsi2.c
- clzti2.c
- cmpdi2.c
- cmpti2.c
- comparedf2.c
- comparesf2.c
- comparetf2.c
- cpu_model/x86.c
- ctzdi2.c
- ctzsi2.c
- ctzti2.c
- divdc3.c
- divdf3.c
- divdi3.c
- divmoddi4.c
- divmodsi4.c
- divmodti4.c
- divsc3.c
- divsf3.c
- divsi3.c
- divtc3.c
- divtf3.c
- divti3.c
- emutls.c
- enable_execute_stack.c
- eprintf.c
- extenddftf2.c
- extendhfsf2.c
- extendhftf2.c
- extendsfdf2.c
- extendsftf2.c
- ffsdi2.c
- ffssi2.c
- ffsti2.c
- fixdfdi.c
- fixdfsi.c
- fixdfti.c
- fixsfdi.c
- fixsfsi.c
- fixsfti.c
- fixtfdi.c
- fixtfsi.c
- fixtfti.c
- fixunsdfdi.c
- fixunsdfsi.c
- fixunsdfti.c
- fixunssfdi.c
- fixunssfsi.c
- fixunssfti.c
- fixunstfdi.c
- fixunstfsi.c
- fixunstfti.c
- floatditf.c
- floatsidf.c
- floatsisf.c
- floatsitf.c
- floattidf.c
- floattisf.c
- floattitf.c
- floatunditf.c
- floatunsidf.c
- floatunsisf.c
- floatunsitf.c
- floatuntidf.c
- floatuntisf.c
- floatuntitf.c
- fp_mode.c
- gcc_personality_v0.c
- int_util.c
- lshrdi3.c
- lshrti3.c
- moddi3.c
- modsi3.c
- modti3.c
- muldc3.c
- muldf3.c
- muldi3.c
- mulodi4.c
- mulosi4.c
- muloti4.c
- mulsc3.c
- mulsf3.c
- multc3.c
- multf3.c
- multi3.c
- mulvdi3.c
- mulvsi3.c
- mulvti3.c
- negdf2.c
- negdi2.c
- negsf2.c
- negti2.c
- negvdi2.c
- negvsi2.c
- negvti2.c
- os_version_check.c
- paritydi2.c
- paritysi2.c
- parityti2.c
- popcountdi2.c
- popcountsi2.c
- popcountti2.c
- powidf2.c
- powisf2.c
- powitf2.c
- subdf3.c
- subsf3.c
- subtf3.c
- subvdi3.c
- subvsi3.c
- subvti3.c
- trampoline_setup.c
- truncdfhf2.c
- truncdfsf2.c
- truncsfhf2.c
- trunctfdf2.c
- trunctfhf2.c
- trunctfsf2.c
- ucmpdi2.c
- ucmpti2.c
- udivdi3.c
- udivmoddi4.c
- udivmodsi4.c
- udivmodti4.c
- udivsi3.c
- udivti3.c
- umoddi3.c
- umodsi3.c
- umodti3.c
- x86_64/chkstk.S
- x86_64/floatdidf.c
- x86_64/floatdisf.c
- x86_64/floatundidf.S
- x86_64/floatundisf.S
- x86_64/floatundixf.S
- )
- IF (NOT OS_WINDOWS AND NOT OS_ANDROID)
- SRCS(
- x86_64/floatdixf.c
- divxc3.c
- extendxftf2.c
- fixunsxfdi.c
- fixunsxfsi.c
- fixunsxfti.c
- fixxfdi.c
- fixxfti.c
- floattixf.c
- floatuntixf.c
- mulxc3.c
- powixf2.c
- trunctfxf2.c
- )
- ENDIF()
- ELSE()
- SRCS(
- absvdi2.c
- absvsi2.c
- absvti2.c
- adddf3.c
- addsf3.c
- addtf3.c
- addvdi3.c
- addvsi3.c
- addvti3.c
- apple_versioning.c
- ashldi3.c
- ashlti3.c
- ashrdi3.c
- ashrti3.c
- atomic.c
- bswapdi2.c
- bswapsi2.c
- clzdi2.c
- clzsi2.c
- clzti2.c
- cmpdi2.c
- cmpti2.c
- comparedf2.c
- comparesf2.c
- comparetf2.c
- ctzdi2.c
- ctzsi2.c
- ctzti2.c
- divdc3.c
- divdf3.c
- divdi3.c
- divmoddi4.c
- divmodsi4.c
- divmodti4.c
- divsc3.c
- divsf3.c
- divsi3.c
- divtc3.c
- divtf3.c
- divti3.c
- extenddftf2.c
- extendhfsf2.c
- extendhftf2.c
- extendsfdf2.c
- extendsftf2.c
- ffsdi2.c
- ffssi2.c
- ffsti2.c
- fixdfdi.c
- fixdfsi.c
- fixdfti.c
- fixsfdi.c
- fixsfsi.c
- fixsfti.c
- fixtfdi.c
- fixtfsi.c
- fixtfti.c
- fixunsdfdi.c
- fixunsdfsi.c
- fixunsdfti.c
- fixunssfdi.c
- fixunssfsi.c
- fixunssfti.c
- fixunstfdi.c
- fixunstfsi.c
- fixunstfti.c
- floatdidf.c
- floatdisf.c
- floatditf.c
- floatsidf.c
- floatsisf.c
- floatsitf.c
- floattidf.c
- floattisf.c
- floattitf.c
- floatundidf.c
- floatundisf.c
- floatunditf.c
- floatunsidf.c
- floatunsisf.c
- floatunsitf.c
- floatuntidf.c
- floatuntisf.c
- floatuntitf.c
- fp_mode.c
- gcc_personality_v0.c
- int_util.c
- lshrdi3.c
- lshrti3.c
- moddi3.c
- modsi3.c
- modti3.c
- muldc3.c
- muldf3.c
- muldi3.c
- mulodi4.c
- mulosi4.c
- muloti4.c
- mulsc3.c
- mulsf3.c
- multc3.c
- multf3.c
- multi3.c
- mulvdi3.c
- mulvsi3.c
- mulvti3.c
- negdf2.c
- negdi2.c
- negsf2.c
- negti2.c
- negvdi2.c
- negvsi2.c
- negvti2.c
- os_version_check.c
- paritydi2.c
- paritysi2.c
- parityti2.c
- popcountdi2.c
- popcountsi2.c
- popcountti2.c
- powidf2.c
- powisf2.c
- powitf2.c
- subdf3.c
- subsf3.c
- subtf3.c
- subvdi3.c
- subvsi3.c
- subvti3.c
- trampoline_setup.c
- truncdfhf2.c
- truncdfsf2.c
- truncsfhf2.c
- trunctfdf2.c
- trunctfhf2.c
- trunctfsf2.c
- ucmpdi2.c
- ucmpti2.c
- udivdi3.c
- udivmoddi4.c
- udivmodsi4.c
- udivmodti4.c
- udivsi3.c
- udivti3.c
- umoddi3.c
- umodsi3.c
- umodti3.c
- )
- IF (NOT OS_EMSCRIPTEN)
- SRCS(
- clear_cache.c
- emutls.c
- enable_execute_stack.c
- eprintf.c
- )
- ENDIF()
- ENDIF()
- IF (OS_LINUX AND NOT WITH_MAPKIT)
- SRCS(
- crtbegin.c
- crtend.c
- )
- ENDIF()
- END()
|