[meta-ti] [PATCH 2/2] ti-llvm3.3: Add LLVM 3.3 with c6x intrinsic support.
Stiffler, Jacob
j-stiffler at ti.com
Wed Feb 25 12:53:04 PST 2015
This is an RFC.
-----Original Message-----
From: Dmytriyenko, Denys
Sent: Wednesday, February 25, 2015 3:04 PM
To: Stiffler, Jacob
Cc: meta-ti at yoctoproject.org
Subject: Re: [meta-ti] [PATCH 2/2] ti-llvm3.3: Add LLVM 3.3 with c6x intrinsic support.
Is this an RFC or a final patch?
On Wed, Feb 25, 2015 at 02:28:25PM -0500, Jacob Stiffler wrote:
> 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-executa
> ble-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-execu
> table-extension.patch
> b/recipes-core/llvm/ti-llvm3.3/0001-configure-Do-not-check-build-execu
> table-extension.patch
> new file mode 100644
> index 0000000..b6e5331
> --- /dev/null
> +++ b/recipes-core/llvm/ti-llvm3.3/0001-configure-Do-not-check-build-e
> +++ xecutable-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
>
> --
> _______________________________________________
> meta-ti mailing list
> meta-ti at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-ti
More information about the meta-ti
mailing list