summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/llvm/llvm_git.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/llvm/llvm_git.bb')
-rw-r--r--meta/recipes-devtools/llvm/llvm_git.bb86
1 files changed, 37 insertions, 49 deletions
diff --git a/meta/recipes-devtools/llvm/llvm_git.bb b/meta/recipes-devtools/llvm/llvm_git.bb
index eb0779d6ec..eca78af09e 100644
--- a/meta/recipes-devtools/llvm/llvm_git.bb
+++ b/meta/recipes-devtools/llvm/llvm_git.bb
@@ -6,7 +6,7 @@ HOMEPAGE = "http://llvm.org"
6LICENSE = "NCSA" 6LICENSE = "NCSA"
7SECTION = "devel" 7SECTION = "devel"
8 8
9LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=e825e017edc35cfd58e26116e5251771" 9LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=c6b766a4e85dd28301eeed54a6684648"
10 10
11DEPENDS = "libffi libxml2 zlib ninja-native llvm-native" 11DEPENDS = "libffi libxml2 zlib ninja-native llvm-native"
12 12
@@ -19,18 +19,23 @@ PROVIDES += "llvm${PV}"
19LLVM_RELEASE = "${PV}" 19LLVM_RELEASE = "${PV}"
20LLVM_DIR = "llvm${LLVM_RELEASE}" 20LLVM_DIR = "llvm${LLVM_RELEASE}"
21 21
22SRCREV = "5136df4d089a086b70d452160ad5451861269498" 22SRCREV = "e5cc6808dc0d5b773479bf36c51d59d0d3174733"
23PV = "6.0" 23BRANCH = "release_${MAJOR_VERSION}${MINOR_VERSION}"
24BRANCH = "release_60" 24MAJOR_VERSION = "8"
25PATCH_VERSION = "1" 25MINOR_VERSION = "0"
26SRC_URI = "git://github.com/llvm-mirror/llvm.git;branch=${BRANCH};protocol=http \ 26PATCH_VERSION = "0"
27SOLIBVER = "1"
28PV = "${MAJOR_VERSION}.${MINOR_VERSION}"
29SRC_URI = "git://github.com/llvm-mirror/llvm.git;branch=${BRANCH} \
27 file://0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch \ 30 file://0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch \
28 file://0002-llvm-allow-env-override-of-exe-path.patch \ 31 file://0002-llvm-allow-env-override-of-exe-path.patch \
29 " 32 "
30UPSTREAM_CHECK_COMMITS = "1" 33UPSTREAM_CHECK_COMMITS = "1"
34
31S = "${WORKDIR}/git" 35S = "${WORKDIR}/git"
32 36
33LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install" 37LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install"
38
34def get_llvm_arch(bb, d, arch_var): 39def get_llvm_arch(bb, d, arch_var):
35 import re 40 import re
36 a = d.getVar(arch_var) 41 a = d.getVar(arch_var)
@@ -117,71 +122,54 @@ do_install() {
117 # Remove unnecessary cmake files 122 # Remove unnecessary cmake files
118 rm -rf ${D}${libdir}/${LLVM_DIR}/cmake 123 rm -rf ${D}${libdir}/${LLVM_DIR}/cmake
119 124
120 ln -s ${LLVM_DIR}/libLLVM-${PV}${SOLIBSDEV} ${D}${libdir}/libLLVM-${PV}${SOLIBSDEV} 125 ln -s ${LLVM_DIR}/libLLVM-${MAJOR_VERSION}${SOLIBSDEV} ${D}${libdir}/libLLVM-${MAJOR_VERSION}${SOLIBSDEV}
121 126
122 # We'll have to delete the libLLVM.so due to multiple reasons... 127 # We'll have to delete the libLLVM.so due to multiple reasons...
123 rm -rf ${D}${libdir}/${LLVM_DIR}/libLLVM.so 128 rm -rf ${D}${libdir}/${LLVM_DIR}/libLLVM.so
124 rm -rf ${D}${libdir}/${LLVM_DIR}/libLTO.so 129 rm -rf ${D}${libdir}/${LLVM_DIR}/libLTO.so
125} 130}
131
126do_install_class-native() { 132do_install_class-native() {
127 install -D -m 0755 ${B}/bin/llvm-tblgen ${D}${bindir}/llvm-tblgen${PV} 133 install -D -m 0755 ${B}/bin/llvm-tblgen ${D}${bindir}/llvm-tblgen${PV}
128 install -D -m 0755 ${B}/bin/llvm-config ${D}${bindir}/llvm-config${PV} 134 install -D -m 0755 ${B}/bin/llvm-config ${D}${bindir}/llvm-config${PV}
129 install -D -m 0755 ${B}/lib/libLLVM-${PV}.so ${D}${libdir}/libLLVM-${PV}.so 135 install -D -m 0755 ${B}/lib/libLLVM-${MAJOR_VERSION}.so ${D}${libdir}/libLLVM-${MAJOR_VERSION}.so
130} 136}
131 137
132PACKAGES += "${PN}-bugpointpasses ${PN}-llvmhello" 138PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-libllvm ${PN}-liboptremarks ${PN}-liblto"
133ALLOW_EMPTY_${PN} = "1"
134ALLOW_EMPTY_${PN}-staticdev = "1"
135FILES_${PN} = ""
136FILES_${PN}-staticdev = ""
137FILES_${PN}-dbg = " \
138 ${bindir}/${LLVM_DIR}/.debug \
139 ${libdir}/${LLVM_DIR}/.debug/BugpointPasses.so \
140 ${libdir}/${LLVM_DIR}/.debug/LLVMHello.so \
141 ${libdir}/${LLVM_DIR}/.debug/libLTO.so* \
142 ${libdir}/${LLVM_DIR}/.debug/llvm-config \
143 /usr/src/debug \
144"
145 139
146FILES_${PN}-dev = " \ 140RRECOMMENDS_${PN}-dev += "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-liboptremarks"
147 ${bindir}/${LLVM_DIR} \
148 ${includedir}/${LLVM_DIR} \
149 ${libdir}/${LLVM_DIR}/llvm-config \
150"
151
152RRECOMMENDS_${PN}-dev += "${PN}-bugpointpasses ${PN}-llvmhello"
153 141
154FILES_${PN}-bugpointpasses = "\ 142FILES_${PN}-bugpointpasses = "\
155 ${libdir}/${LLVM_DIR}/BugpointPasses.so \ 143 ${libdir}/${LLVM_DIR}/BugpointPasses.so \
156" 144"
157FILES_${PN} += "\ 145
146FILES_${PN}-libllvm = "\
147 ${libdir}/${LLVM_DIR}/libLLVM-${MAJOR_VERSION}.so \
148 ${libdir}/libLLVM-${MAJOR_VERSION}.so \
149"
150
151FILES_${PN}-liblto += "\
158 ${libdir}/${LLVM_DIR}/libLTO.so.* \ 152 ${libdir}/${LLVM_DIR}/libLTO.so.* \
159" 153"
160 154
155FILES_${PN}-liboptremarks += "\
156 ${libdir}/${LLVM_DIR}/libOptRemarks.so.* \
157"
158
161FILES_${PN}-llvmhello = "\ 159FILES_${PN}-llvmhello = "\
162 ${libdir}/${LLVM_DIR}/LLVMHello.so \ 160 ${libdir}/${LLVM_DIR}/LLVMHello.so \
163" 161"
164 162
165PACKAGES_DYNAMIC = "^libllvm${LLVM_RELEASE}-.*$" 163FILES_${PN}-dev += " \
166NOAUTOPACKAGEDEBUG = "1" 164 ${libdir}/${LLVM_DIR}/llvm-config \
167 165 ${libdir}/${LLVM_DIR}/libOptRemarks.so \
168INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm-${LLVM_RELEASE}.${PATCH_VERSION} += "dev-so" 166 ${libdir}/${LLVM_DIR}/libLLVM-${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}.so \
169INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm-${LLVM_RELEASE} += "dev-so" 167"
170INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm += "dev-so" 168
171 169FILES_${PN}-staticdev += "\
172python llvm_populate_packages() { 170 ${libdir}/${LLVM_DIR}/*.a \
173 libdir = bb.data.expand('${libdir}', d) 171"
174 libllvm_libdir = bb.data.expand('${libdir}/${LLVM_DIR}', d)
175 split_dbg_packages = do_split_packages(d, libllvm_libdir+'/.debug', r'^lib(.*)\.so$', 'libllvm${LLVM_RELEASE}-%s-dbg', 'Split debug package for %s', allow_dirs=True)
176 split_packages = do_split_packages(d, libdir, r'^lib(.*)\.so$', 'libllvm${LLVM_RELEASE}-%s', 'Split package for %s', allow_dirs=True, allow_links=True, recursive=True)
177 split_staticdev_packages = do_split_packages(d, libllvm_libdir, r'^lib(.*)\.a$', 'libllvm${LLVM_RELEASE}-%s-staticdev', 'Split staticdev package for %s', allow_dirs=True)
178 if split_packages:
179 pn = d.getVar('PN')
180 d.appendVar('RDEPENDS_' + pn, ' '+' '.join(split_packages))
181 d.appendVar('RDEPENDS_' + pn + '-dbg', ' '+' '.join(split_dbg_packages))
182 d.appendVar('RDEPENDS_' + pn + '-staticdev', ' '+' '.join(split_staticdev_packages))
183}
184 172
185PACKAGESPLITFUNCS_prepend = "llvm_populate_packages " 173INSANE_SKIP_${PN}-libllvm += "dev-so"
186 174
187BBCLASSEXTEND = "native nativesdk" 175BBCLASSEXTEND = "native nativesdk"