[meta-ti] [PATCH 2/2] ti-llvm3.3: Add LLVM 3.3 with c6x intrinsic support.
Jacob Stiffler
j-stiffler at ti.com
Wed Feb 25 11:28:25 PST 2015
Signed-off-by: Jacob Stiffler <j-stiffler at ti.com>
---
...e-Do-not-check-build-executable-extension.patch | 60 ++++++++++++
recipes-core/llvm/ti-llvm3.3_3.3.bb | 102 ++++++++++++++++++++
2 files changed, 162 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-stiffler at 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-stiffler at 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..30b8a20
--- /dev/null
+++ b/recipes-core/llvm/ti-llvm3.3_3.3.bb
@@ -0,0 +1,102 @@
+DESCRIPTION = "LLVM 3.3 with support for TI C66x intrinsics"
+
+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://gitorious.design.ti.com/ocl/llvm33-src.git;protocol=git;branch=${BRANCH} \
+ file://0001-configure-Do-not-check-build-executable-extension.patch \
+"
+
+
+SRCREV = "4b61e2a944d1de76e425f4bede9d718618ebd2b7"
+
+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
More information about the meta-ti
mailing list