blob: d6c09ba74d9cc39e7491d08896fdf6c584c335f9 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
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.
NO_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
floattixf.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()
|