diff options
Diffstat (limited to 'meta/recipes-devtools/llvm/llvm_git.bb')
-rw-r--r-- | meta/recipes-devtools/llvm/llvm_git.bb | 86 |
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" | |||
6 | LICENSE = "NCSA" | 6 | LICENSE = "NCSA" |
7 | SECTION = "devel" | 7 | SECTION = "devel" |
8 | 8 | ||
9 | LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=e825e017edc35cfd58e26116e5251771" | 9 | LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=c6b766a4e85dd28301eeed54a6684648" |
10 | 10 | ||
11 | DEPENDS = "libffi libxml2 zlib ninja-native llvm-native" | 11 | DEPENDS = "libffi libxml2 zlib ninja-native llvm-native" |
12 | 12 | ||
@@ -19,18 +19,23 @@ PROVIDES += "llvm${PV}" | |||
19 | LLVM_RELEASE = "${PV}" | 19 | LLVM_RELEASE = "${PV}" |
20 | LLVM_DIR = "llvm${LLVM_RELEASE}" | 20 | LLVM_DIR = "llvm${LLVM_RELEASE}" |
21 | 21 | ||
22 | SRCREV = "5136df4d089a086b70d452160ad5451861269498" | 22 | SRCREV = "e5cc6808dc0d5b773479bf36c51d59d0d3174733" |
23 | PV = "6.0" | 23 | BRANCH = "release_${MAJOR_VERSION}${MINOR_VERSION}" |
24 | BRANCH = "release_60" | 24 | MAJOR_VERSION = "8" |
25 | PATCH_VERSION = "1" | 25 | MINOR_VERSION = "0" |
26 | SRC_URI = "git://github.com/llvm-mirror/llvm.git;branch=${BRANCH};protocol=http \ | 26 | PATCH_VERSION = "0" |
27 | SOLIBVER = "1" | ||
28 | PV = "${MAJOR_VERSION}.${MINOR_VERSION}" | ||
29 | SRC_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 | " |
30 | UPSTREAM_CHECK_COMMITS = "1" | 33 | UPSTREAM_CHECK_COMMITS = "1" |
34 | |||
31 | S = "${WORKDIR}/git" | 35 | S = "${WORKDIR}/git" |
32 | 36 | ||
33 | LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install" | 37 | LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install" |
38 | |||
34 | def get_llvm_arch(bb, d, arch_var): | 39 | def 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 | |||
126 | do_install_class-native() { | 132 | do_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 | ||
132 | PACKAGES += "${PN}-bugpointpasses ${PN}-llvmhello" | 138 | PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-libllvm ${PN}-liboptremarks ${PN}-liblto" |
133 | ALLOW_EMPTY_${PN} = "1" | ||
134 | ALLOW_EMPTY_${PN}-staticdev = "1" | ||
135 | FILES_${PN} = "" | ||
136 | FILES_${PN}-staticdev = "" | ||
137 | FILES_${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 | ||
146 | FILES_${PN}-dev = " \ | 140 | RRECOMMENDS_${PN}-dev += "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-liboptremarks" |
147 | ${bindir}/${LLVM_DIR} \ | ||
148 | ${includedir}/${LLVM_DIR} \ | ||
149 | ${libdir}/${LLVM_DIR}/llvm-config \ | ||
150 | " | ||
151 | |||
152 | RRECOMMENDS_${PN}-dev += "${PN}-bugpointpasses ${PN}-llvmhello" | ||
153 | 141 | ||
154 | FILES_${PN}-bugpointpasses = "\ | 142 | FILES_${PN}-bugpointpasses = "\ |
155 | ${libdir}/${LLVM_DIR}/BugpointPasses.so \ | 143 | ${libdir}/${LLVM_DIR}/BugpointPasses.so \ |
156 | " | 144 | " |
157 | FILES_${PN} += "\ | 145 | |
146 | FILES_${PN}-libllvm = "\ | ||
147 | ${libdir}/${LLVM_DIR}/libLLVM-${MAJOR_VERSION}.so \ | ||
148 | ${libdir}/libLLVM-${MAJOR_VERSION}.so \ | ||
149 | " | ||
150 | |||
151 | FILES_${PN}-liblto += "\ | ||
158 | ${libdir}/${LLVM_DIR}/libLTO.so.* \ | 152 | ${libdir}/${LLVM_DIR}/libLTO.so.* \ |
159 | " | 153 | " |
160 | 154 | ||
155 | FILES_${PN}-liboptremarks += "\ | ||
156 | ${libdir}/${LLVM_DIR}/libOptRemarks.so.* \ | ||
157 | " | ||
158 | |||
161 | FILES_${PN}-llvmhello = "\ | 159 | FILES_${PN}-llvmhello = "\ |
162 | ${libdir}/${LLVM_DIR}/LLVMHello.so \ | 160 | ${libdir}/${LLVM_DIR}/LLVMHello.so \ |
163 | " | 161 | " |
164 | 162 | ||
165 | PACKAGES_DYNAMIC = "^libllvm${LLVM_RELEASE}-.*$" | 163 | FILES_${PN}-dev += " \ |
166 | NOAUTOPACKAGEDEBUG = "1" | 164 | ${libdir}/${LLVM_DIR}/llvm-config \ |
167 | 165 | ${libdir}/${LLVM_DIR}/libOptRemarks.so \ | |
168 | INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm-${LLVM_RELEASE}.${PATCH_VERSION} += "dev-so" | 166 | ${libdir}/${LLVM_DIR}/libLLVM-${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}.so \ |
169 | INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm-${LLVM_RELEASE} += "dev-so" | 167 | " |
170 | INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm += "dev-so" | 168 | |
171 | 169 | FILES_${PN}-staticdev += "\ | |
172 | python 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 | ||
185 | PACKAGESPLITFUNCS_prepend = "llvm_populate_packages " | 173 | INSANE_SKIP_${PN}-libllvm += "dev-so" |
186 | 174 | ||
187 | BBCLASSEXTEND = "native nativesdk" | 175 | BBCLASSEXTEND = "native nativesdk" |