summaryrefslogtreecommitdiff
path: root/poky/meta/recipes-devtools/llvm/llvm_git.bb
diff options
context:
space:
mode:
Diffstat (limited to 'poky/meta/recipes-devtools/llvm/llvm_git.bb')
-rw-r--r--poky/meta/recipes-devtools/llvm/llvm_git.bb63
1 files changed, 18 insertions, 45 deletions
diff --git a/poky/meta/recipes-devtools/llvm/llvm_git.bb b/poky/meta/recipes-devtools/llvm/llvm_git.bb
index 9400bf0821..53ae1abd57 100644
--- a/poky/meta/recipes-devtools/llvm/llvm_git.bb
+++ b/poky/meta/recipes-devtools/llvm/llvm_git.bb
@@ -19,15 +19,14 @@ inherit cmake pkgconfig
PROVIDES += "llvm${PV}"
-PV = "13.0.1"
+PV = "14.0.1"
MAJOR_VERSION = "${@oe.utils.trim_version("${PV}", 1)}"
LLVM_RELEASE = "${PV}"
-LLVM_DIR = "llvm${LLVM_RELEASE}"
BRANCH = "release/${MAJOR_VERSION}.x"
-SRCREV = "75e33f71c2dae584b13a7d1186ae0a038ba98838"
+SRCREV = "c62053979489ccb002efe411c3af059addcb5d7d"
SRC_URI = "git://github.com/llvm/llvm-project.git;branch=${BRANCH};protocol=https \
file://0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch;striplevel=2 \
file://0007-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \
@@ -91,13 +90,6 @@ EXTRA_OECMAKE:append:class-nativesdk = "\
-DLLVM_CONFIG_PATH=${STAGING_BINDIR_NATIVE}/llvm-config${PV} \
"
-do_configure:prepend() {
-# 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
- sed -ri "s#lib/${LLVM_DIR}#${baselib}/${LLVM_DIR}#g" ${S}/tools/llvm-config/llvm-config.cpp
-}
-
# patch out build host paths for reproducibility
do_compile:prepend:class-target() {
sed -i -e "s,${WORKDIR},,g" ${B}/tools/llvm-config/BuildVariables.inc
@@ -112,40 +104,22 @@ do_compile:class-native() {
}
do_install() {
- DESTDIR=${LLVM_INSTALL_DIR} ninja -v install
- install -D -m 0755 ${B}/bin/llvm-config ${D}${libdir}/${LLVM_DIR}/llvm-config
-
- install -d ${D}${bindir}/${LLVM_DIR}
- cp -r ${LLVM_INSTALL_DIR}${bindir}/* ${D}${bindir}/${LLVM_DIR}/
-
- install -d ${D}${includedir}/${LLVM_DIR}
- cp -r ${LLVM_INSTALL_DIR}${includedir}/* ${D}${includedir}/${LLVM_DIR}/
-
- install -d ${D}${libdir}/${LLVM_DIR}
-
- # The LLVM sources have "/lib" embedded and so we cannot completely rely on the ${libdir} variable
- if [ -d ${LLVM_INSTALL_DIR}${libdir}/ ]; then
- cp -r ${LLVM_INSTALL_DIR}${libdir}/* ${D}${libdir}/${LLVM_DIR}/
- elif [ -d ${LLVM_INSTALL_DIR}${prefix}/lib ]; then
- cp -r ${LLVM_INSTALL_DIR}${prefix}/lib/* ${D}${libdir}/${LLVM_DIR}/
- elif [ -d ${LLVM_INSTALL_DIR}${prefix}/lib64 ]; then
- cp -r ${LLVM_INSTALL_DIR}${prefix}/lib64/* ${D}${libdir}/${LLVM_DIR}/
- fi
+ DESTDIR=${D} ninja -v install
- # Remove unnecessary cmake files
- rm -rf ${D}${libdir}/${LLVM_DIR}/cmake
+ # llvm harcodes usr/lib as install path, so this corrects it to actual libdir
+ mv -T -n ${D}/${prefix}/lib ${D}/${libdir} || true
- ln -s ${LLVM_DIR}/libLLVM-${MAJOR_VERSION}${SOLIBSDEV} ${D}${libdir}/libLLVM-${MAJOR_VERSION}${SOLIBSDEV}
+ # Remove opt-viewer: https://llvm.org/docs/Remarks.html
+ rm -rf ${D}${datadir}/opt-viewer
+ rmdir ${D}${datadir}
- # We'll have to delete the libLLVM.so due to multiple reasons...
- rm -rf ${D}${libdir}/${LLVM_DIR}/libLLVM.so
- rm -rf ${D}${libdir}/${LLVM_DIR}/libLTO.so
+ # reproducibility
+ sed -i -e 's,${WORKDIR},,g' ${D}/${libdir}/cmake/llvm/LLVMConfig.cmake
}
do_install:class-native() {
install -D -m 0755 ${B}/bin/llvm-tblgen ${D}${bindir}/llvm-tblgen${PV}
install -D -m 0755 ${B}/bin/llvm-config ${D}${bindir}/llvm-config${PV}
- install -D -m 0755 ${B}/lib/libLLVM-${MAJOR_VERSION}.so ${D}${libdir}/libLLVM-${MAJOR_VERSION}.so
}
PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-libllvm ${PN}-liboptremarks ${PN}-liblto"
@@ -153,34 +127,33 @@ PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-libllvm ${PN}-liboptrema
RRECOMMENDS:${PN}-dev += "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-liboptremarks"
FILES:${PN}-bugpointpasses = "\
- ${libdir}/${LLVM_DIR}/BugpointPasses.so \
+ ${libdir}/BugpointPasses.so \
"
FILES:${PN}-libllvm = "\
- ${libdir}/${LLVM_DIR}/libLLVM-${MAJOR_VERSION}.so \
${libdir}/libLLVM-${MAJOR_VERSION}.so \
"
FILES:${PN}-liblto += "\
- ${libdir}/${LLVM_DIR}/libLTO.so.* \
+ ${libdir}/libLTO.so.* \
"
FILES:${PN}-liboptremarks += "\
- ${libdir}/${LLVM_DIR}/libRemarks.so.* \
+ ${libdir}/libRemarks.so.* \
"
FILES:${PN}-llvmhello = "\
- ${libdir}/${LLVM_DIR}/LLVMHello.so \
+ ${libdir}/LLVMHello.so \
"
FILES:${PN}-dev += " \
- ${libdir}/${LLVM_DIR}/llvm-config \
- ${libdir}/${LLVM_DIR}/libRemarks.so \
- ${libdir}/${LLVM_DIR}/libLLVM-${PV}.so \
+ ${libdir}/llvm-config \
+ ${libdir}/libRemarks.so \
+ ${libdir}/libLLVM-${PV}.so \
"
FILES:${PN}-staticdev += "\
- ${libdir}/${LLVM_DIR}/*.a \
+ ${libdir}/*.a \
"
INSANE_SKIP:${PN}-libllvm += "dev-so"