summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@xilinx.com>2020-01-30 20:06:17 -0800
committerMark Hatle <mark.hatle@xilinx.com>2020-01-31 15:56:10 -0800
commit193ba57865784c6e36b0e481f4054578a187d3cf (patch)
treebd8d0ab0644c8d9af12f7edc6c392fc1c4059b16
parent9eef527d26394a917224187350765ab1b46e13a8 (diff)
downloadmeta-xilinx-193ba57865784c6e36b0e481f4054578a187d3cf.tar.gz
gcc-runtime: Fix C++ multilib headers
The C++ headers are slightly different for different multilibs. The Yocto Project name (canonical arch) is different then the gcc multilib directory name. Put in code that will syncronize these two items, allows C++ support to function properly, avoiding conflicts in the process. Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
-rw-r--r--meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend19
1 files changed, 19 insertions, 0 deletions
diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend
index 873f83ea..75fa6419 100644
--- a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend
+++ b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend
@@ -55,6 +55,25 @@ do_install_append_xilinx-standalone_class-target() {
55 if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then 55 if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
56 rm -rf ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS} 56 rm -rf ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}
57 fi 57 fi
58
59 # link the C++ header into the place that multilib gcc expects
60 # C++ compiler looks at usr/include/c++/version/canonical-arch/mlib
61 if [ "${TARGET_SYS_MULTILIB_ORIGINAL}" != "" -a "${TARGET_SYS_MULTILIB_ORIGINAL}" != "${TARGET_SYS}" ]; then
62 mlib=${BASE_LIB_tune-${DEFAULTTUNE}}
63 mlib=${mlib##lib/}
64
65 link_name=${D}${includedir}/c++/${BINV}/${TARGET_SYS_MULTILIB_ORIGINAL}/${mlib}
66 target=${D}${includedir}/c++/${BINV}/${TARGET_SYS}
67
68 echo mkdir -p $link_name
69 mkdir -p $link_name
70 for each in bits ext ; do
71 relpath=$(python3 -c "import os.path; print(os.path.relpath('$target/$each', '$(dirname $link_name/$each)'))")
72
73 echo ln -s $relpath $link_name/$each
74 ln -s $relpath $link_name/$each
75 done
76 fi
58} 77}
59 78
60FILES_${PN}-dbg_append_xilinx-standalone_class-target = "\ 79FILES_${PN}-dbg_append_xilinx-standalone_class-target = "\