ya.make 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593
  1. # Generated by devtools/yamaker/ym2
  2. LIBRARY()
  3. LICENSE(
  4. Apache-2.0 AND
  5. Apache-2.0 WITH LLVM-exception AND
  6. MIT AND
  7. NCSA
  8. )
  9. LICENSE_TEXTS(.yandex_meta/licenses.list.txt)
  10. VERSION(16.0.6)
  11. ORIGINAL_SOURCE(https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.6/compiler-rt-16.0.6.src.tar.xz)
  12. NO_COMPILER_WARNINGS()
  13. # Check MUSL before NO_PLATFORM() disables it.
  14. IF (MUSL)
  15. # We use C headers despite NO_PLATFORM, but we do not propagate
  16. # them with ADDINCL GLOBAL because we do not have an API, and we
  17. # can not propagate them because libcxx has to put its own
  18. # includes before musl includes for its include_next to work.
  19. IF (ARCH_X86_64)
  20. ADDINCL(
  21. contrib/libs/musl/arch/x86_64
  22. )
  23. ENDIF()
  24. IF (ARCH_AARCH64)
  25. ADDINCL(
  26. contrib/libs/musl/arch/aarch64
  27. )
  28. ENDIF()
  29. ADDINCL(
  30. contrib/libs/musl/arch/generic
  31. contrib/libs/musl/include
  32. contrib/libs/musl/extra
  33. )
  34. ENDIF()
  35. NO_UTIL()
  36. NO_RUNTIME()
  37. NO_PLATFORM()
  38. NO_COMPILER_WARNINGS()
  39. IF (GCC OR CLANG)
  40. # Clang (maybe GCC too) LTO code generator leaves the builtin calls unresolved
  41. # even if they are available. After the code generation pass is done
  42. # a linker is forced to select original object files from this library again
  43. # as they contain unresolved symbols. But code generation is already done,
  44. # object files actually are not ELFs but an LLVM bytecode and we get
  45. # "member at xxxxx is not an ELF object" errors from the linker.
  46. # Just generate native code from the beginning.
  47. NO_LTO()
  48. ENDIF()
  49. IF (ARCH_AARCH64)
  50. SRCS(
  51. aarch64/chkstk.S
  52. aarch64/fp_mode.c
  53. absvdi2.c
  54. absvsi2.c
  55. absvti2.c
  56. adddf3.c
  57. addsf3.c
  58. addtf3.c
  59. addvdi3.c
  60. addvsi3.c
  61. addvti3.c
  62. apple_versioning.c
  63. ashldi3.c
  64. ashlti3.c
  65. ashrdi3.c
  66. ashrti3.c
  67. atomic.c
  68. atomic_flag_clear.c
  69. atomic_flag_clear_explicit.c
  70. atomic_flag_test_and_set.c
  71. atomic_flag_test_and_set_explicit.c
  72. atomic_signal_fence.c
  73. atomic_thread_fence.c
  74. bswapdi2.c
  75. bswapsi2.c
  76. clear_cache.c
  77. clzdi2.c
  78. clzsi2.c
  79. clzti2.c
  80. cmpdi2.c
  81. cmpti2.c
  82. comparedf2.c
  83. comparesf2.c
  84. comparetf2.c
  85. cpu_model.c
  86. ctzdi2.c
  87. ctzsi2.c
  88. ctzti2.c
  89. divdc3.c
  90. divdf3.c
  91. divdi3.c
  92. divmoddi4.c
  93. divmodsi4.c
  94. divmodti4.c
  95. divsc3.c
  96. divsf3.c
  97. divsi3.c
  98. divtc3.c
  99. divtf3.c
  100. divti3.c
  101. divxc3.c
  102. emutls.c
  103. enable_execute_stack.c
  104. eprintf.c
  105. extenddftf2.c
  106. extendhfsf2.c
  107. extendhftf2.c
  108. extendsfdf2.c
  109. extendsftf2.c
  110. ffsdi2.c
  111. ffssi2.c
  112. ffsti2.c
  113. fixdfdi.c
  114. fixdfsi.c
  115. fixdfti.c
  116. fixsfdi.c
  117. fixsfsi.c
  118. fixsfti.c
  119. fixtfdi.c
  120. fixtfsi.c
  121. fixtfti.c
  122. fixunsdfdi.c
  123. fixunsdfsi.c
  124. fixunsdfti.c
  125. fixunssfdi.c
  126. fixunssfsi.c
  127. fixunssfti.c
  128. fixunstfdi.c
  129. fixunstfsi.c
  130. fixunstfti.c
  131. fixunsxfdi.c
  132. fixunsxfsi.c
  133. fixunsxfti.c
  134. fixxfdi.c
  135. fixxfti.c
  136. floatdidf.c
  137. floatdisf.c
  138. floatditf.c
  139. floatdixf.c
  140. floatsidf.c
  141. floatsisf.c
  142. floatsitf.c
  143. floattidf.c
  144. floattisf.c
  145. floattitf.c
  146. floattixf.c
  147. floatundidf.c
  148. floatundisf.c
  149. floatunditf.c
  150. floatundixf.c
  151. floatunsidf.c
  152. floatunsisf.c
  153. floatunsitf.c
  154. floatuntidf.c
  155. floatuntisf.c
  156. floatuntitf.c
  157. floatuntixf.c
  158. gcc_personality_v0.c
  159. int_util.c
  160. lshrdi3.c
  161. lshrti3.c
  162. moddi3.c
  163. modsi3.c
  164. modti3.c
  165. muldc3.c
  166. muldf3.c
  167. muldi3.c
  168. mulodi4.c
  169. mulosi4.c
  170. muloti4.c
  171. mulsc3.c
  172. mulsf3.c
  173. multc3.c
  174. multf3.c
  175. multi3.c
  176. mulvdi3.c
  177. mulvsi3.c
  178. mulvti3.c
  179. mulxc3.c
  180. negdf2.c
  181. negdi2.c
  182. negsf2.c
  183. negti2.c
  184. negvdi2.c
  185. negvsi2.c
  186. negvti2.c
  187. os_version_check.c
  188. paritydi2.c
  189. paritysi2.c
  190. parityti2.c
  191. popcountdi2.c
  192. popcountsi2.c
  193. popcountti2.c
  194. powidf2.c
  195. powisf2.c
  196. powitf2.c
  197. powixf2.c
  198. subdf3.c
  199. subsf3.c
  200. subtf3.c
  201. subvdi3.c
  202. subvsi3.c
  203. subvti3.c
  204. trampoline_setup.c
  205. truncdfbf2.c
  206. truncdfhf2.c
  207. truncdfsf2.c
  208. truncsfbf2.c
  209. truncsfhf2.c
  210. trunctfdf2.c
  211. trunctfhf2.c
  212. trunctfsf2.c
  213. ucmpdi2.c
  214. ucmpti2.c
  215. udivdi3.c
  216. udivmoddi4.c
  217. udivmodsi4.c
  218. udivmodti4.c
  219. udivsi3.c
  220. udivti3.c
  221. umoddi3.c
  222. umodsi3.c
  223. umodti3.c
  224. )
  225. ELSEIF (ARCH_X86_64)
  226. SRCS(
  227. absvdi2.c
  228. absvsi2.c
  229. absvti2.c
  230. adddf3.c
  231. addsf3.c
  232. addtf3.c
  233. addvdi3.c
  234. addvsi3.c
  235. addvti3.c
  236. apple_versioning.c
  237. ashldi3.c
  238. ashlti3.c
  239. ashrdi3.c
  240. ashrti3.c
  241. atomic.c
  242. atomic_flag_clear.c
  243. atomic_flag_clear_explicit.c
  244. atomic_flag_test_and_set.c
  245. atomic_flag_test_and_set_explicit.c
  246. atomic_signal_fence.c
  247. atomic_thread_fence.c
  248. bswapdi2.c
  249. bswapsi2.c
  250. clear_cache.c
  251. clzdi2.c
  252. clzsi2.c
  253. clzti2.c
  254. cmpdi2.c
  255. cmpti2.c
  256. comparedf2.c
  257. comparesf2.c
  258. comparetf2.c
  259. cpu_model.c
  260. ctzdi2.c
  261. ctzsi2.c
  262. ctzti2.c
  263. divdc3.c
  264. divdf3.c
  265. divdi3.c
  266. divmoddi4.c
  267. divmodsi4.c
  268. divmodti4.c
  269. divsc3.c
  270. divsf3.c
  271. divsi3.c
  272. divtc3.c
  273. divtf3.c
  274. divti3.c
  275. divxc3.c
  276. emutls.c
  277. enable_execute_stack.c
  278. eprintf.c
  279. extenddftf2.c
  280. extendhfsf2.c
  281. extendhftf2.c
  282. extendsfdf2.c
  283. extendsftf2.c
  284. ffsdi2.c
  285. ffssi2.c
  286. ffsti2.c
  287. fixdfdi.c
  288. fixdfsi.c
  289. fixdfti.c
  290. fixsfdi.c
  291. fixsfsi.c
  292. fixsfti.c
  293. fixtfdi.c
  294. fixtfsi.c
  295. fixtfti.c
  296. fixunsdfdi.c
  297. fixunsdfsi.c
  298. fixunsdfti.c
  299. fixunssfdi.c
  300. fixunssfsi.c
  301. fixunssfti.c
  302. fixunstfdi.c
  303. fixunstfsi.c
  304. fixunstfti.c
  305. fixunsxfdi.c
  306. fixunsxfsi.c
  307. fixunsxfti.c
  308. fixxfdi.c
  309. fixxfti.c
  310. floatditf.c
  311. floatsidf.c
  312. floatsisf.c
  313. floatsitf.c
  314. floattidf.c
  315. floattisf.c
  316. floattitf.c
  317. floattixf.c
  318. floatunditf.c
  319. floatunsidf.c
  320. floatunsisf.c
  321. floatunsitf.c
  322. floatuntidf.c
  323. floatuntisf.c
  324. floatuntitf.c
  325. floatuntixf.c
  326. fp_mode.c
  327. gcc_personality_v0.c
  328. int_util.c
  329. lshrdi3.c
  330. lshrti3.c
  331. moddi3.c
  332. modsi3.c
  333. modti3.c
  334. muldc3.c
  335. muldf3.c
  336. muldi3.c
  337. mulodi4.c
  338. mulosi4.c
  339. muloti4.c
  340. mulsc3.c
  341. mulsf3.c
  342. multc3.c
  343. multf3.c
  344. multi3.c
  345. mulvdi3.c
  346. mulvsi3.c
  347. mulvti3.c
  348. mulxc3.c
  349. negdf2.c
  350. negdi2.c
  351. negsf2.c
  352. negti2.c
  353. negvdi2.c
  354. negvsi2.c
  355. negvti2.c
  356. os_version_check.c
  357. paritydi2.c
  358. paritysi2.c
  359. parityti2.c
  360. popcountdi2.c
  361. popcountsi2.c
  362. popcountti2.c
  363. powidf2.c
  364. powisf2.c
  365. powitf2.c
  366. powixf2.c
  367. subdf3.c
  368. subsf3.c
  369. subtf3.c
  370. subvdi3.c
  371. subvsi3.c
  372. subvti3.c
  373. trampoline_setup.c
  374. truncdfbf2.c
  375. truncdfhf2.c
  376. truncdfsf2.c
  377. truncsfbf2.c
  378. truncsfhf2.c
  379. trunctfdf2.c
  380. trunctfhf2.c
  381. trunctfsf2.c
  382. ucmpdi2.c
  383. ucmpti2.c
  384. udivdi3.c
  385. udivmoddi4.c
  386. udivmodsi4.c
  387. udivmodti4.c
  388. udivsi3.c
  389. udivti3.c
  390. umoddi3.c
  391. umodsi3.c
  392. umodti3.c
  393. x86_64/chkstk.S
  394. x86_64/chkstk2.S
  395. x86_64/floatdidf.c
  396. x86_64/floatdisf.c
  397. x86_64/floatdixf.c
  398. x86_64/floatundidf.S
  399. x86_64/floatundisf.S
  400. x86_64/floatundixf.S
  401. )
  402. ELSE()
  403. SRCS(
  404. absvdi2.c
  405. absvsi2.c
  406. absvti2.c
  407. adddf3.c
  408. addsf3.c
  409. addtf3.c
  410. addvdi3.c
  411. addvsi3.c
  412. addvti3.c
  413. apple_versioning.c
  414. ashldi3.c
  415. ashlti3.c
  416. ashrdi3.c
  417. ashrti3.c
  418. atomic.c
  419. atomic_flag_clear.c
  420. atomic_flag_clear_explicit.c
  421. atomic_flag_test_and_set.c
  422. atomic_flag_test_and_set_explicit.c
  423. atomic_signal_fence.c
  424. atomic_thread_fence.c
  425. bswapdi2.c
  426. bswapsi2.c
  427. clear_cache.c
  428. clzdi2.c
  429. clzsi2.c
  430. clzti2.c
  431. cmpdi2.c
  432. cmpti2.c
  433. comparedf2.c
  434. comparesf2.c
  435. comparetf2.c
  436. cpu_model.c
  437. ctzdi2.c
  438. ctzsi2.c
  439. ctzti2.c
  440. divdc3.c
  441. divdf3.c
  442. divdi3.c
  443. divmoddi4.c
  444. divmodsi4.c
  445. divmodti4.c
  446. divsc3.c
  447. divsf3.c
  448. divsi3.c
  449. divtc3.c
  450. divtf3.c
  451. divti3.c
  452. divxc3.c
  453. emutls.c
  454. enable_execute_stack.c
  455. eprintf.c
  456. extenddftf2.c
  457. extendhfsf2.c
  458. extendhftf2.c
  459. extendsfdf2.c
  460. extendsftf2.c
  461. ffsdi2.c
  462. ffssi2.c
  463. ffsti2.c
  464. fixdfdi.c
  465. fixdfsi.c
  466. fixdfti.c
  467. fixsfdi.c
  468. fixsfsi.c
  469. fixsfti.c
  470. fixtfdi.c
  471. fixtfsi.c
  472. fixtfti.c
  473. fixunsdfdi.c
  474. fixunsdfsi.c
  475. fixunsdfti.c
  476. fixunssfdi.c
  477. fixunssfsi.c
  478. fixunssfti.c
  479. fixunstfdi.c
  480. fixunstfsi.c
  481. fixunstfti.c
  482. fixunsxfdi.c
  483. fixunsxfsi.c
  484. fixunsxfti.c
  485. fixxfdi.c
  486. fixxfti.c
  487. floatdidf.c
  488. floatdisf.c
  489. floatditf.c
  490. floatdixf.c
  491. floatsidf.c
  492. floatsisf.c
  493. floatsitf.c
  494. floattidf.c
  495. floattisf.c
  496. floattitf.c
  497. floattixf.c
  498. floatundidf.c
  499. floatundisf.c
  500. floatunditf.c
  501. floatundixf.c
  502. floatunsidf.c
  503. floatunsisf.c
  504. floatunsitf.c
  505. floatuntidf.c
  506. floatuntisf.c
  507. floatuntitf.c
  508. floatuntixf.c
  509. fp_mode.c
  510. gcc_personality_v0.c
  511. int_util.c
  512. lshrdi3.c
  513. lshrti3.c
  514. moddi3.c
  515. modsi3.c
  516. modti3.c
  517. muldc3.c
  518. muldf3.c
  519. muldi3.c
  520. mulodi4.c
  521. mulosi4.c
  522. muloti4.c
  523. mulsc3.c
  524. mulsf3.c
  525. multc3.c
  526. multf3.c
  527. multi3.c
  528. mulvdi3.c
  529. mulvsi3.c
  530. mulvti3.c
  531. mulxc3.c
  532. negdf2.c
  533. negdi2.c
  534. negsf2.c
  535. negti2.c
  536. negvdi2.c
  537. negvsi2.c
  538. negvti2.c
  539. os_version_check.c
  540. paritydi2.c
  541. paritysi2.c
  542. parityti2.c
  543. popcountdi2.c
  544. popcountsi2.c
  545. popcountti2.c
  546. powidf2.c
  547. powisf2.c
  548. powitf2.c
  549. powixf2.c
  550. subdf3.c
  551. subsf3.c
  552. subtf3.c
  553. subvdi3.c
  554. subvsi3.c
  555. subvti3.c
  556. trampoline_setup.c
  557. truncdfbf2.c
  558. truncdfhf2.c
  559. truncdfsf2.c
  560. truncsfbf2.c
  561. truncsfhf2.c
  562. trunctfdf2.c
  563. trunctfhf2.c
  564. trunctfsf2.c
  565. ucmpdi2.c
  566. ucmpti2.c
  567. udivdi3.c
  568. udivmoddi4.c
  569. udivmodsi4.c
  570. udivmodti4.c
  571. udivsi3.c
  572. udivti3.c
  573. umoddi3.c
  574. umodsi3.c
  575. umodti3.c
  576. )
  577. ENDIF()
  578. END()