* If llvm.inc is used for native and nativesdk class packages, the resulting llvm-config is broken since "${base_libdir}" is prefixed with the full patch to sysroot * Replace "/lib" with "/${baselib}" instead of "${base_libdir}" as "${base_libdir}" is the full path and "${baselib}" is the name of the multilib directory.
Upstream status: pending Signed-off-by: Jacob Stiffler <j-stiff...@ti.com> --- .../recipes-core/llvm/ti-llvm3.6_3.6.bb | 37 +++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/meta-arago-extras/recipes-core/llvm/ti-llvm3.6_3.6.bb b/meta-arago-extras/recipes-core/llvm/ti-llvm3.6_3.6.bb index 8efd516..037256c 100644 --- a/meta-arago-extras/recipes-core/llvm/ti-llvm3.6_3.6.bb +++ b/meta-arago-extras/recipes-core/llvm/ti-llvm3.6_3.6.bb @@ -1,13 +1,18 @@ DESCRIPTION = "LLVM 3.6 with support for TI C66x intrinsics" HOMEPAGE = "https://gitorious.design.ti.com/ocl/llvm33-src" -PR = "r2" +PR = "r3" do_configure_prepend_class-native() { # Fix paths in llvm-config sed -i "s|sys::path::parent_path(sys::path::parent_path(CurrentPath))).str()|sys::path::parent_path(CurrentPath))\.str()|g" ${S}/tools/llvm-config/llvm-config.cpp } +do_configure_prepend() { + # Workaround for libdir fix for multilib to undo what is currently upstream + sed -i 's:${base_libdir}:/${baselib}:g' ${S}/tools/llvm-config/llvm-config.cpp +} + require recipes-core/llvm/llvm.inc LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=47e311aa9caedd1b3abf098bd7814d1d" @@ -55,11 +60,19 @@ EXTRA_OEMAKE += "LIBXML2_INC="${LIBXML2_INC}" LIBXML2_LIBS="${LIBXML2_LIBS}"" do_compile_class-native() { cd ${LLVM_BUILD_DIR} + + # Fix libdir for multilib + sed -i 's:(PROJ_prefix)/lib:(PROJ_prefix)/${baselib}:g' Makefile.config + oe_runmake } do_compile_class-nativesdk() { cd ${LLVM_BUILD_DIR} + + # Fix libdir for multilib + sed -i 's:(PROJ_prefix)/lib:(PROJ_prefix)/${baselib}:g' Makefile.config + oe_runmake \ AR="${BUILD_AR}" \ CC="${BUILD_CC}" \ @@ -84,6 +97,28 @@ do_compile_class-nativesdk() { oe_runmake } +# Workaround for libdir fix for multilib +do_compile() { + cd ${LLVM_BUILD_DIR} + + # Fix libdir for multilib + sed -i 's:(PROJ_prefix)${base_libdir}:(PROJ_prefix)/${baselib}:g' Makefile.config + + oe_runmake \ + AR="${BUILD_AR}" \ + CC="${BUILD_CC}" \ + CFLAGS="${BUILD_CFLAGS}" \ + CXX="${BUILD_CXX}" \ + CXXFLAGS="${BUILD_CXXFLAGS}" \ + CPP="${BUILD_CPP}" \ + CPPFLAGS="${BUILD_CPPFLAGS}" \ + NM="${BUILD_NM}" \ + RANLIB="${BUILD_RANLIB}" \ + PATH="${STAGING_BINDIR_NATIVE}:$PATH" \ + cross-compile-build-tools + oe_runmake +} + do_install_append_class-target() { for b in ${D}${bindir}/${LLVM_DIR}/${HOST_SYS}-clang*; do if [ ! -L ${b} ]; then -- 1.9.1 _______________________________________________ meta-arago mailing list meta-arago@arago-project.org http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago