blob: 44b17aa027d2eb5b51f0bc6cf0284af0e6be825c (
plain)
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
121
122
123
124
125
126
127
128
|
# Copyright (C) 2014 Khem Raj <raj.khem@gmail.com>
# Released under the MIT license (see COPYING.MIT for the terms)
DESCRIPTION = "LLVM based C/C++ compiler"
HOMEPAGE = "http://clang.llvm.org/"
LICENSE = "NCSA"
SECTION = "devel"
require clang.inc
BRANCH ?= "master"
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=4c0bc17c954e99fd547528d938832bfa; \
file://tools/clang/LICENSE.TXT;md5=82ed8fe1976ca709bbd81f4f10a48ccd; \
file://projects/compiler-rt/LICENSE.TXT;md5=27b14ab4ce08d04c3a9a5f0ed7997362; \
"
SRC_URI = "git://github.com/llvm-mirror/llvm.git;branch=${BRANCH};name=llvm \
git://github.com/llvm-mirror/clang.git;branch=${BRANCH};destsuffix=git/tools/clang;name=clang \
git://github.com/llvm-mirror/compiler-rt.git;branch=${BRANCH};destsuffix=git/projects/compiler-rt;name=compiler-rt \
"
SRCREV_llvm = "${AUTOREV}"
SRCREV_clang = "${AUTOREV}"
SRCREV_compiler-rt = "${AUTOREV}"
SRCREV_FORMAT = "llvm_clang_compiler-rt"
S = "${WORKDIR}/git"
inherit perlnative pythonnative cmake
EXTRA_OECMAKE="-DLLVM_ENABLE_RTTI:BOOL=True \
-DLLVM_ENABLE_FFI:BOOL=False \
-DCMAKE_SYSTEM_NAME=Linux \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DLLVM_TARGETS_TO_BUILD:STRING='AArch64;ARM;Mips;PowerPC;X86' \
"
EXTRA_OECMAKE_append_class-target = "\
-DCMAKE_CROSSCOMPILING=True \
"
EXTRA_OEMAKE += "REQUIRES_RTTI=1 VERBOSE=1"
DEPENDS = "zlib libffi libxml2-native binutils"
PROVIDES_append_class-target = "\
virtual/${TARGET_PREFIX}compilerlibs \
gcc-runtime \
libgcc \
libgcc-initial \
libg2c \
libg2c-dev \
libssp \
libssp-dev \
libssp-staticdev \
libgfortran \
libgfortran-dev \
libgfortran-staticdev \
libmudflap \
libmudflap-dev \
libgomp \
libgomp-dev \
libgomp-staticdev \
libitm \
libitm-dev \
libitm-staticdev \
libgcov-dev \
\
libgcc-dev \
libgcc-initial-dev \
libstdc++ \
libstdc++-dev \
libstdc++-staticdev \
libatomic \
libatomic-dev \
libatomic-staticdev \
libasan \
libasan-dev \
libasan-staticdev \
libubsan \
libubsan-dev \
libubsan-staticdev \
liblsan \
liblsan-dev \
liblsan-staticdev \
libtsan \
libtsan-dev \
libtsan-staticdev \
libssp \
libssp-dev \
libssp-staticdev \
libgfortran \
libgfortran-dev \
libgfortran-staticdev \
libmudflap \
libmudflap-dev \
libmudflap-staticdev \
libgomp \
libgomp-dev \
libgomp-staticdev \
libitm \
libitm-dev \
libitm-staticdev \
"
do_configure_prepend() {
# Remove RPATHs
sed -i 's:$(RPATH) -Wl,$(\(ToolDir\|LibDir\|ExmplDir\))::g' ${S}/Makefile.rules
# Drop "svn" suffix from version string
sed -i 's/${PV}svn/${PV}/g' ${S}/configure
# Fix paths in llvm-config
sed -i "s|sys::path::parent_path(CurrentPath))\.str()|sys::path::parent_path(sys::path::parent_path(CurrentPath))).str()|g" ${S}/tools/llvm-config/llvm-config.cpp
sed -ri "s#/(bin|include|lib)(/?\")#/\1/${LLVM_DIR}\2#g" ${S}/tools/llvm-config/llvm-config.cpp
}
do_compile_prepend() {
oe_runmake LLVMNativeTableGen
oe_runmake CLANGNativeTableGen
}
do_install_append_class-native () {
for f in `find ${D}${bindir} -executable -type f -not -type l`; do
test -n "`file $f|grep -i ELF`" && ${STRIP} $f
done
}
BBCLASSEXTEND = "native"
|