diff options
| author | Mark Hatle <mark.hatle@xilinx.com> | 2020-01-30 20:06:17 -0800 |
|---|---|---|
| committer | Mark Hatle <mark.hatle@xilinx.com> | 2020-01-31 15:56:10 -0800 |
| commit | 193ba57865784c6e36b0e481f4054578a187d3cf (patch) | |
| tree | bd8d0ab0644c8d9af12f7edc6c392fc1c4059b16 /meta-xilinx-standalone/recipes-devtools/gcc | |
| parent | 9eef527d26394a917224187350765ab1b46e13a8 (diff) | |
| download | meta-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>
Diffstat (limited to 'meta-xilinx-standalone/recipes-devtools/gcc')
| -rw-r--r-- | meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend | 19 |
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 | ||
| 60 | FILES_${PN}-dbg_append_xilinx-standalone_class-target = "\ | 79 | FILES_${PN}-dbg_append_xilinx-standalone_class-target = "\ |
