summaryrefslogtreecommitdiffstats
path: root/recipes-devtools/clang/clang_git.bb
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2015-03-12 15:47:26 +0000
committerKhem Raj <raj.khem@gmail.com>2015-03-12 15:47:26 +0000
commit948d8c595ffab96e1776b4573cb6c96468f53122 (patch)
tree96d31ac1b71750c4cf3305859092ec7835763879 /recipes-devtools/clang/clang_git.bb
parent7d75cff3a28f9635efd6a85af0a374cb41538f58 (diff)
downloadmeta-clang-948d8c595ffab96e1776b4573cb6c96468f53122.tar.gz
clang: Update to latest git master
Fix clang-native builds, try to provide things that is a stab at replacing gcc runtime provides Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'recipes-devtools/clang/clang_git.bb')
-rw-r--r--recipes-devtools/clang/clang_git.bb111
1 files changed, 103 insertions, 8 deletions
diff --git a/recipes-devtools/clang/clang_git.bb b/recipes-devtools/clang/clang_git.bb
index 75120c1..f72b409 100644
--- a/recipes-devtools/clang/clang_git.bb
+++ b/recipes-devtools/clang/clang_git.bb
@@ -8,14 +8,9 @@ SECTION = "devel"
8 8
9require clang.inc 9require clang.inc
10 10
11LLVM_RELEASE = "3.5"
12LLVM_DIR = "llvm${LLVM_RELEASE}"
13
14DEPENDS = "zlib libffi libxml2-native llvm-common"
15
16BRANCH ?= "master" 11BRANCH ?= "master"
17LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=47e311aa9caedd1b3abf098bd7814d1d; \ 12LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=4c0bc17c954e99fd547528d938832bfa; \
18 file://tools/clang/LICENSE.TXT;md5=3954ab76dfb9ce9024cdce4c24268267; \ 13 file://tools/clang/LICENSE.TXT;md5=82ed8fe1976ca709bbd81f4f10a48ccd; \
19 file://projects/compiler-rt/LICENSE.TXT;md5=1ee2b380c3e34d2dd756b922ab4f8b6c; \ 14 file://projects/compiler-rt/LICENSE.TXT;md5=1ee2b380c3e34d2dd756b922ab4f8b6c; \
20 " 15 "
21SRC_URI = "git://github.com/llvm-mirror/llvm.git;branch=${BRANCH};name=llvm \ 16SRC_URI = "git://github.com/llvm-mirror/llvm.git;branch=${BRANCH};name=llvm \
@@ -27,7 +22,107 @@ SRCREV_llvm = "${AUTOREV}"
27SRCREV_clang = "${AUTOREV}" 22SRCREV_clang = "${AUTOREV}"
28SRCREV_compiler-rt = "${AUTOREV}" 23SRCREV_compiler-rt = "${AUTOREV}"
29 24
25SRCREV_FORMAT = "llvm_clang_compiler-rt"
30 26
31S = "${WORKDIR}/git" 27S = "${WORKDIR}/git"
32 28
33BBCLASSEXTEND = "native nativesdk" 29inherit perlnative pythonnative cmake
30
31EXTRA_OECMAKE="-DLLVM_ENABLE_RTTI:BOOL=True \
32 -DLLVM_ENABLE_FFI:BOOL=False \
33 -DCMAKE_SYSTEM_NAME=Linux \
34 -DCMAKE_BUILD_TYPE:STRING=Release \
35 -DLLVM_TARGETS_TO_BUILD:STRING='AArch64;ARM;Mips;PowerPC;X86' \
36 "
37
38EXTRA_OECMAKE_append_class-target = "\
39 -DCMAKE_CROSSCOMPILING=True \
40"
41EXTRA_OEMAKE += "REQUIRES_RTTI=1 VERBOSE=1"
42
43
44DEPENDS = "zlib libffi libxml2-native binutils"
45
46PROVIDES_append_class-target = "\
47 virtual/${TARGET_PREFIX}compilerlibs \
48 gcc-runtime \
49 libgcc \
50 libgcc-initial \
51 libg2c \
52 libg2c-dev \
53 libssp \
54 libssp-dev \
55 libssp-staticdev \
56 libgfortran \
57 libgfortran-dev \
58 libgfortran-staticdev \
59 libmudflap \
60 libmudflap-dev \
61 libgomp \
62 libgomp-dev \
63 libgomp-staticdev \
64 libitm \
65 libitm-dev \
66 libitm-staticdev \
67 libgcov-dev \
68 \
69 libgcc-dev \
70 libgcc-initial-dev \
71 libstdc++ \
72 libstdc++-dev \
73 libstdc++-staticdev \
74 libatomic \
75 libatomic-dev \
76 libatomic-staticdev \
77 libasan \
78 libasan-dev \
79 libasan-staticdev \
80 libubsan \
81 libubsan-dev \
82 libubsan-staticdev \
83 liblsan \
84 liblsan-dev \
85 liblsan-staticdev \
86 libtsan \
87 libtsan-dev \
88 libtsan-staticdev \
89 libssp \
90 libssp-dev \
91 libssp-staticdev \
92 libgfortran \
93 libgfortran-dev \
94 libgfortran-staticdev \
95 libmudflap \
96 libmudflap-dev \
97 libmudflap-staticdev \
98 libgomp \
99 libgomp-dev \
100 libgomp-staticdev \
101 libitm \
102 libitm-dev \
103 libitm-staticdev \
104"
105
106do_configure_prepend() {
107 # Remove RPATHs
108 sed -i 's:$(RPATH) -Wl,$(\(ToolDir\|LibDir\|ExmplDir\))::g' ${S}/Makefile.rules
109 # Drop "svn" suffix from version string
110 sed -i 's/${PV}svn/${PV}/g' ${S}/configure
111
112 # Fix paths in llvm-config
113 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
114 sed -ri "s#/(bin|include|lib)(/?\")#/\1/${LLVM_DIR}\2#g" ${S}/tools/llvm-config/llvm-config.cpp
115}
116
117do_compile_prepend() {
118 oe_runmake llvm-tblgen
119 oe_runmake clang-tblgen
120}
121
122do_install_append_class-native () {
123 for f in `find ${D}${bindir} -executable -type f -not -type l`; do
124 test -n "`file $f|grep -i ELF`" && ${STRIP} $f
125 done
126}
127
128BBCLASSEXTEND = "native"