ya.make 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  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. IF (ARCH_X86_64)
  24. ADDINCL(
  25. contrib/libs/musl/arch/x86_64
  26. )
  27. ENDIF()
  28. IF (ARCH_AARCH64)
  29. ADDINCL(
  30. contrib/libs/musl/arch/aarch64
  31. )
  32. ENDIF()
  33. ADDINCL(
  34. contrib/libs/musl/arch/generic
  35. contrib/libs/musl/include
  36. contrib/libs/musl/extra
  37. )
  38. ENDIF()
  39. NO_UTIL()
  40. NO_RUNTIME()
  41. NO_PLATFORM()
  42. NO_COMPILER_WARNINGS()
  43. IF (GCC OR CLANG)
  44. # Clang (maybe GCC too) LTO code generator leaves the builtin calls unresolved
  45. # even if they are available. After the code generation pass is done
  46. # a linker is forced to select original object files from this library again
  47. # as they contain unresolved symbols. But code generation is already done,
  48. # object files actually are not ELFs but an LLVM bytecode and we get
  49. # "member at xxxxx is not an ELF object" errors from the linker.
  50. # Just generate native code from the beginning.
  51. NO_LTO()
  52. ENDIF()
  53. SRCS(
  54. addtf3.c
  55. ashlti3.c
  56. clzti2.c
  57. comparetf2.c
  58. divdc3.c
  59. divsc3.c
  60. divtf3.c
  61. divti3.c
  62. divxc3.c
  63. extenddftf2.c
  64. extendsftf2.c
  65. fixdfti.c
  66. fixsfti.c
  67. fixtfdi.c
  68. fixtfsi.c
  69. fixunsdfti.c
  70. fixunssfti.c
  71. fixunstfdi.c
  72. fixunstfsi.c
  73. fixunstfti.c
  74. fixunsxfti.c
  75. floatditf.c
  76. floatsitf.c
  77. floattidf.c
  78. floattisf.c
  79. floattixf.c
  80. floatunditf.c
  81. floatunsitf.c
  82. floatuntidf.c
  83. floatuntisf.c
  84. gcc_personality_v0.c
  85. int_util.c
  86. lshrti3.c
  87. modti3.c
  88. muldc3.c
  89. muloti4.c
  90. mulsc3.c
  91. multf3.c
  92. mulxc3.c
  93. popcountdi2.c
  94. subtf3.c
  95. trunctfdf2.c
  96. trunctfsf2.c
  97. udivmodti4.c
  98. udivti3.c
  99. umodti3.c
  100. )
  101. IF (OS_DARWIN OR OS_IOS)
  102. SRCS(
  103. os_version_check.c
  104. )
  105. ENDIF()
  106. IF (ARCH_ARM)
  107. SRCS(
  108. clear_cache.c
  109. multc3.c
  110. )
  111. ENDIF()
  112. END()