* Supports target, native, and nativesdk classes. Signed-off-by: Jacob Stiffler <j-stiff...@ti.com> --- ...e-Do-not-check-build-executable-extension.patch | 60 ++++++++++++ recipes-core/llvm/ti-llvm3.3_3.3.bb | 103 ++++++++++++++++++++ 2 files changed, 163 insertions(+) create mode 100644 recipes-core/llvm/ti-llvm3.3/0001-configure-Do-not-check-build-executable-extension.patch create mode 100644 recipes-core/llvm/ti-llvm3.3_3.3.bb
diff --git a/recipes-core/llvm/ti-llvm3.3/0001-configure-Do-not-check-build-executable-extension.patch b/recipes-core/llvm/ti-llvm3.3/0001-configure-Do-not-check-build-executable-extension.patch new file mode 100644 index 0000000..b6e5331 --- /dev/null +++ b/recipes-core/llvm/ti-llvm3.3/0001-configure-Do-not-check-build-executable-extension.patch @@ -0,0 +1,60 @@ +From 60da8adc29a84796c9768a1a962eda1915c87332 Mon Sep 17 00:00:00 2001 +From: Jake Stiffler <j-stiff...@ti.com> +Date: Fri, 20 Feb 2015 10:55:11 -0500 +Subject: [PATCH] configure: Do not check build executable extension. + + * This seems to cause issues nativesdk and build sdk + architectures are the same. + +Signed-off-by: Jake Stiffler <j-stiff...@ti.com> +--- + configure | 3 +++ + projects/sample/configure | 4 ++++ + 2 files changed, 7 insertions(+) + +diff --git a/configure b/configure +index decbc40..387c4fd 100755 +--- a/configure ++++ b/configure +@@ -4951,6 +4951,8 @@ echo "$as_me: error: no acceptable cc found in \$PATH" >&2;} + rm -f conftest* + echo 'int main () { return 0; }' > conftest.$ac_ext + ac_cv_build_exeext= ++ ++if false; then + if { (eval echo "$as_me:$LINENO: \"$ac_build_link\"") >&5 + (eval $ac_build_link) 2>&5 + ac_status=$? +@@ -4967,6 +4969,7 @@ echo "$as_me: error: no acceptable cc found in \$PATH" >&2;} + echo "$as_me: error: installation or configuration problem: compiler cannot create executables." >&2;} + { (exit 1); exit 1; }; } + fi ++fi + rm -f conftest* + test x"${ac_cv_build_exeext}" = x && ac_cv_build_exeext=blank + fi +diff --git a/projects/sample/configure b/projects/sample/configure +index a2c70c6..b57f21c 100755 +--- a/projects/sample/configure ++++ b/projects/sample/configure +@@ -4753,6 +4753,8 @@ echo "$as_me: error: no acceptable cc found in \$PATH" >&2;} + rm -f conftest* + echo 'int main () { return 0; }' > conftest.$ac_ext + ac_cv_build_exeext= ++ ++if false; then + if { (eval echo "$as_me:$LINENO: \"$ac_build_link\"") >&5 + (eval $ac_build_link) 2>&5 + ac_status=$? +@@ -4769,6 +4771,8 @@ echo "$as_me: error: no acceptable cc found in \$PATH" >&2;} + echo "$as_me: error: installation or configuration problem: compiler cannot create executables." >&2;} + { (exit 1); exit 1; }; } + fi ++fi ++ + rm -f conftest* + test x"${ac_cv_build_exeext}" = x && ac_cv_build_exeext=blank + fi +-- +1.7.9.5 + diff --git a/recipes-core/llvm/ti-llvm3.3_3.3.bb b/recipes-core/llvm/ti-llvm3.3_3.3.bb new file mode 100644 index 0000000..9ae8866 --- /dev/null +++ b/recipes-core/llvm/ti-llvm3.3_3.3.bb @@ -0,0 +1,103 @@ +DESCRIPTION = "LLVM 3.3 with support for TI C66x intrinsics" +HOMEPAGE = "https://gitorious.design.ti.com/ocl/llvm33-src" + +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 +} + +require recipes-core/llvm/llvm.inc +require recipes-core/llvm/llvm3.inc + +DEPENDS_append_class-native = " llvm-common-native" + +LLVM_DIR = "ti-llvm${PV}" + +BRANCH = "master" + +SRC_URI = " \ + git://git.ti.com/opencl/ti-llvm-clang-3_3.git;protocol=git;branch=${BRANCH} \ + file://0001-configure-Do-not-check-build-executable-extension.patch \ +" + + +SRCREV = "29629a3e70d445cfbfbb4046a56d3648ebae9544" + +S = "${WORKDIR}/git" + +do_compile_class-native() { + cd ${LLVM_BUILD_DIR} + oe_runmake +} + +do_compile_class-nativesdk() { + cd ${LLVM_BUILD_DIR} + oe_runmake \ + AR="${BUILD_AR}" \ + CC="${BUILD_CC}" \ + CFLAGS="${BUILD_CFLAGS}" \ + CXX="${BUILD_CXX}" \ + CXXFLAGS="${BUILD_CXXFLAGS}" \ + CPP="${BUILD_CPP}" \ + CPPFLAGS="${BUILD_CPPFLAGS}" \ + LD="${BUILD_LD}" \ + LDFLAGS="${BUILD_LDFLAGS}" \ + 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 + mv ${b} ${D}${bindir}/`echo "${b}" | sed -e 's|${D}${bindir}/${LLVM_DIR}/${HOST_SYS}-||g'` + fi + done +} + +do_install_class-native() { + cd ${LLVM_BUILD_DIR} + oe_runmake DESTDIR=${LLVM_INSTALL_DIR} install + + mv ${LLVM_INSTALL_DIR}${bindir}/${HOST_SYS}-llvm-config ${LLVM_INSTALL_DIR}/llvm-config${PV}-ti + + install -d ${D}${bindir} + for b in ${LLVM_INSTALL_DIR}${bindir}/${HOST_SYS}-clang*; do + if [ ! -L ${b} ]; then + mv ${b} ${D}${bindir}/`echo "${b}" | sed -e 's|${LLVM_INSTALL_DIR}${bindir}/${HOST_SYS}-||g'` + fi + done + + install -d ${D}${bindir}/${LLVM_DIR} + mv ${LLVM_INSTALL_DIR}${bindir}/* ${D}${bindir}/${LLVM_DIR}/ + + install -d ${D}${includedir}/${LLVM_DIR} + mv ${LLVM_INSTALL_DIR}${includedir}/* ${D}${includedir}/${LLVM_DIR}/ + + install -d ${D}${libdir}/${LLVM_DIR} + mv ${LLVM_INSTALL_DIR}${libdir}/* ${D}${libdir}/${LLVM_DIR}/ + ln -s ${LLVM_DIR}/libLLVM-${PV}.so ${D}${libdir}/libLLVM-${PV}.so + + install -d ${D}${docdir}/${LLVM_DIR} + mv ${LLVM_INSTALL_DIR}${prefix}/docs/llvm/* ${D}${docdir}/${LLVM_DIR} + + install -d ${D}${bindir} + install -m 0755 ${LLVM_INSTALL_DIR}/llvm-config${PV}-ti ${D}${bindir} +} + +SYSROOT_PREPROCESS_FUNCS_class-target += "llvm_sysroot_preprocess_target" +SYSROOT_PREPROCESS_FUNCS_class-nativesdk += "llvm_sysroot_preprocess_target" + +llvm_sysroot_preprocess() { + : +} + +llvm_sysroot_preprocess_target() { + install -d ${SYSROOT_DESTDIR}${bindir_crossscripts} + mv ${LLVM_INSTALL_DIR}/llvm-config-host ${SYSROOT_DESTDIR}${bindir_crossscripts}/llvm-config${PV}-ti +} + +BBCLASSEXTEND = "native nativesdk" + -- 1.7.9.5 -- _______________________________________________ meta-ti mailing list meta-ti@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-ti