ya.make 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. LIBRARY()
  2. # Part of compiler-rt LLVM subproject
  3. # git repository: https://github.com/llvm/llvm-project.git
  4. # directory: compiler-rt/lib/builtins
  5. # revision: 08f0372c351a57b01afee6c64066961203da28c5
  6. # os_version_check.c was taken from revision 81b89fd7bdddb7da66f2cdace97d6ede5f99d58a
  7. # os_version_check.c was patched from git repository https://github.com/apple/llvm-project.git revision a02454b91d2aec347b9ce03020656c445f3b2841
  8. LICENSE(
  9. Apache-2.0 AND
  10. Apache-2.0 WITH LLVM-exception AND
  11. MIT AND
  12. NCSA
  13. )
  14. LICENSE_TEXTS(.yandex_meta/licenses.list.txt)
  15. VERSION(2016-03-03-08f0372c351a57b01afee6c64066961203da28c5)
  16. ORIGINAL_SOURCE(https://github.com/llvm/llvm-project)
  17. # Check MUSL before NO_PLATFORM() disables it.
  18. IF (MUSL)
  19. # We use C headers despite NO_PLATFORM, but we do not propagate
  20. # them with ADDINCL GLOBAL because we do not have an API, and we
  21. # can not propagate them because libcxx has to put its own
  22. # includes before musl includes for its include_next to work.
  23. ADDINCL(
  24. contrib/libs/musl/arch/x86_64
  25. contrib/libs/musl/arch/generic
  26. contrib/libs/musl/include
  27. contrib/libs/musl/extra
  28. )
  29. ENDIF()
  30. NO_UTIL()
  31. NO_RUNTIME()
  32. NO_PLATFORM()
  33. NO_COMPILER_WARNINGS()
  34. IF (GCC OR CLANG)
  35. # Clang (maybe GCC too) LTO code generator leaves the builtin calls unresolved
  36. # even if they are available. After the code generation pass is done
  37. # a linker is forced to select original object files from this library again
  38. # as they contain unresolved symbols. But code generation is already done,
  39. # object files actually are not ELFs but an LLVM bytecode and we get
  40. # "member at xxxxx is not an ELF object" errors from the linker.
  41. # Just generate native code from the beginning.
  42. NO_LTO()
  43. ENDIF()
  44. SRCS(
  45. addtf3.c
  46. ashlti3.c
  47. clzti2.c
  48. comparetf2.c
  49. divdc3.c
  50. divsc3.c
  51. divtf3.c
  52. divti3.c
  53. divxc3.c
  54. extenddftf2.c
  55. extendsftf2.c
  56. fixdfti.c
  57. fixsfti.c
  58. fixtfdi.c
  59. fixtfsi.c
  60. fixunsdfti.c
  61. fixunssfti.c
  62. fixunstfdi.c
  63. fixunstfsi.c
  64. fixunstfti.c
  65. fixunsxfti.c
  66. floatditf.c
  67. floatsitf.c
  68. floattidf.c
  69. floattisf.c
  70. floattixf.c
  71. floatunditf.c
  72. floatunsitf.c
  73. floatuntidf.c
  74. floatuntisf.c
  75. gcc_personality_v0.c
  76. int_util.c
  77. lshrti3.c
  78. modti3.c
  79. muldc3.c
  80. muloti4.c
  81. mulsc3.c
  82. multf3.c
  83. mulxc3.c
  84. popcountdi2.c
  85. subtf3.c
  86. trunctfdf2.c
  87. trunctfsf2.c
  88. udivmodti4.c
  89. udivti3.c
  90. umodti3.c
  91. )
  92. IF (OS_DARWIN OR OS_IOS)
  93. SRCS(
  94. os_version_check.c
  95. )
  96. ENDIF()
  97. IF (ARCH_ARM)
  98. SRCS(
  99. clear_cache.c
  100. multc3.c
  101. )
  102. ENDIF()
  103. END()