- Changes for openmpacc examples: Removed vecadd_lib, edmabw
- Changes for clacc host_cc and host_link_cc parameters: Determine target
compiler name directly from CMake
- Documentation update regarding no support for variadic functions in
target regions
Signed-off-by: Gaurav Mitra <gau...@ti.com>
Signed-off-by: Yuan Zhao <yuanz...@ti.com>
---
.../recipes-ti/openmpacc/clacc_git.bb | 34 ++++++++++++++++++----
.../recipes-ti/openmpacc/openmpacc-examples_git.bb | 8 +----
.../recipes-ti/openmpacc/openmpacc.inc | 4 +--
.../recipes-ti/openmpacc/openmpacc_git.bb | 4 ---
4 files changed, 31 insertions(+), 19 deletions(-)
diff --git a/meta-arago-extras/recipes-ti/openmpacc/clacc_git.bb
b/meta-arago-extras/recipes-ti/openmpacc/clacc_git.bb
index 75ce4628..cecffa02 100644
--- a/meta-arago-extras/recipes-ti/openmpacc/clacc_git.bb
+++ b/meta-arago-extras/recipes-ti/openmpacc/clacc_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "TI OpenMP-Acc C compiler"
include openmpacc.inc
-PR = "${INC_PR}.1"
+PR = "${INC_PR}.0"
DEPENDS = "boost elfutils"
RDEPENDS_${PN} += "clocl"
@@ -18,16 +18,38 @@ export X86_HOST_ROOT = "${STAGING_DIR_HOST}"
PARALLEL_MAKE = ""
+# The variables CLACC_CC and CLACC_CXX are used to point clacc to set its
+# host_cc and host_link_cc variables which were previously hardcoded in
clacc.h.
+# This adds support for different toolchain configurations to build clacc by
+# passing in the compiler names at the build stage and removes corresponding
+# string replacement requirements in yocto recipes.
+python __anonymous() {
+ cc_name = ""
+ cxx_name = ""
+ if d.getVar("TOOLCHAIN_PREFIX"):
+ cc_name = d.getVar("TOOLCHAIN_PREFIX") + "gcc"
+ cxx_name = d.getVar("TOOLCHAIN_PREFIX") + "g++"
+ else:
+ cc_name = d.getVar("TARGET_PREFIX") + "gcc"
+ cxx_name = d.getVar("TARGET_PREFIX") + "g++"
+
+ # Convert to upper case to workaround GCC preprocessor bug where the word
+ # 'linux' is defined to be 1. This results in arm-linux-gnueabihf- being
+ # stringized to arm-1-gnueabihf- by the GCC preprocessor. To workaround
this
+ # bug, convert the names to upper case and send through. Clacc will convert
+ # to lower case before usage.
+ d.setVar("CLACC_CC_NAME", cc_name.upper())
+ d.setVar("CLACC_CXX_NAME", cxx_name.upper())
+}
+
+
EXTRA_OEMAKE = " -C ${S}/clacc \
${TARGET} \
CXX="${CXX}" \
+ CLACC_CC="${CLACC_CC_NAME}" \
+ CLACC_CXX="${CLACC_CXX_NAME}" \
"
-do_configure() {
- sed "s|arm-linux-gnueabihf-gcc|${TOOLCHAIN_PREFIX}gcc|g" -i clacc/clacc.h
- sed "s|arm-linux-gnueabihf-g++|${TOOLCHAIN_PREFIX}g++|g" -i clacc/clacc.h
-}
-
do_compile() {
oe_runmake
}
diff --git a/meta-arago-extras/recipes-ti/openmpacc/openmpacc-examples_git.bb
b/meta-arago-extras/recipes-ti/openmpacc/openmpacc-examples_git.bb
index b2f4122c..39902f8f 100644
--- a/meta-arago-extras/recipes-ti/openmpacc/openmpacc-examples_git.bb
+++ b/meta-arago-extras/recipes-ti/openmpacc/openmpacc-examples_git.bb
@@ -21,8 +21,6 @@ OMPACC_EXAMPLE_LIST = " target_update \
local \
null \
dsplib_fft \
- vecadd_lib \
- edmabw \
sub_section \
"
@@ -35,7 +33,6 @@ python do_unpack_append() {
os.makedirs(s)
shutil.copy(os.path.join(git_dir,"Makefile"),s)
shutil.copy(os.path.join(git_dir,"make.inc"),s)
- shutil.copy(os.path.join(git_dir,"ompacc_env.sh"),s)
for example in d.getVar("OMPACC_EXAMPLE_LIST").split():
shutil.copytree(os.path.join(git_dir,example),
os.path.join(s,example))
}
@@ -47,11 +44,9 @@ EXTRA_OEMAKE = " TARGET_ROOTDIR=${STAGING_DIR_HOST} \
MKFILELIST = "vecadd/Makefile vecadd_complex/Makefile dsplib_fft/Makefile \
null/Makefile dspheap/Makefile target_implicit_map/Makefile
printf_debug/Makefile \
edmamgr/Makefile vecadd_t/Makefile target_orphan_call/Makefile
target_update/Makefile \
-edmabw/Makefile sub_section/Makefile vecadd_lib/Makefile local/Makefile"
+sub_section/Makefile local/Makefile"
do_configure() {
- sed "s|arm-linux-gnueabihf-gcc|${CC}|g" -i make.inc
- sed "s|arm-linux-gnueabihf-g++|${CXX}|g" -i make.inc
for f in ${MKFILELIST}; do
sed "s|-fopenmp|-fopenmp ${TUNE_CCARGS}${TOOLCHAIN_OPTIONS}|g" -i $f
done
@@ -66,7 +61,6 @@ do_install() {
install -m 644 ${B}/Makefile ${D}${datadir}/ti/examples/openmpacc
install -m 644 ${B}/make.inc ${D}${datadir}/ti/examples/openmpacc
- install -m 644 ${B}/ompacc_env.sh ${D}${datadir}/ti/examples/openmpacc
for ompacc_example in ${OMPACC_EXAMPLE_LIST}; do
install -d ${D}${datadir}/ti/examples/openmpacc/${ompacc_example}
diff --git a/meta-arago-extras/recipes-ti/openmpacc/openmpacc.inc
b/meta-arago-extras/recipes-ti/openmpacc/openmpacc.inc
index ce0236d4..d33a156b 100644
--- a/meta-arago-extras/recipes-ti/openmpacc/openmpacc.inc
+++ b/meta-arago-extras/recipes-ti/openmpacc/openmpacc.inc
@@ -2,7 +2,7 @@ SUMMARY = "TI OpenMP Accelerator Model"
HOMEPAGE = "http://downloads.ti.com/mctools/esd/docs/openmpacc/"
LICENSE = "BSD"
-PV = "1.5.4.0"
+PV = "1.5.6.0"
INC_PR = "r0"
LIC_FILES_CHKSUM = "file://../debian/copyright;md5=aaa2a0939d08197132fc382e97b62eb0"
@@ -13,7 +13,7 @@ OMPACC_GIT_URI = "git://git.ti.com/openmp/ti-openmpacc.git"
OMPACC_GIT_PROTOCOL = "git"
OMPACC_GIT_BRANCH = "master"
-OMPACC_SRCREV = "808cef58b4ed196a9ced2310d419dbaf63dfbeb6"
+OMPACC_SRCREV = "7c4e68a0bf73ec193edff9dfc23ea764ae6ad434"
BRANCH = "${OMPACC_GIT_BRANCH}"
SRC_URI = "${OMPACC_GIT_URI};protocol=${OMPACC_GIT_PROTOCOL};branch=${BRANCH}"
diff --git a/meta-arago-extras/recipes-ti/openmpacc/openmpacc_git.bb
b/meta-arago-extras/recipes-ti/openmpacc/openmpacc_git.bb
index a28a9225..44b59a4f 100644
--- a/meta-arago-extras/recipes-ti/openmpacc/openmpacc_git.bb
+++ b/meta-arago-extras/recipes-ti/openmpacc/openmpacc_git.bb
@@ -18,7 +18,3 @@ export LINUX_DEVKIT_ROOT = "${STAGING_DIR_HOST}"
EXTRA_OECMAKE += "-DVERSION="${PV}" -DBUILD_OUTPUT=lib"
FILES_${PN} += "/usr/share/ti/openmpacc/*"
-
-do_configure_prepend() {
- sed -i -e 's/-march=armv7-a//' ${S}/libompacc/CMakeLists.txt
-}