From: Denys Dmytriyenko <[email protected]>

While this changes where toolchain binaries reside in the devkit sysroot, and
resulting in paths like /usr/bin/arm-linux-gnueabi/arm-linux-gnueabihf-gcc,
it aligns us better with upstream and the code that tries to re-use cross
toolchains for different libc setups (e.g. glibc, uclibc and musl) by setting
up a series of symlinks. And the longer paths can be easily handled by PATH
variable in the devkit environment setup script.

Also, make sdk_fixup() symlinks conditional for when their actual directories
are not yet avaialble.

Signed-off-by: Denys Dmytriyenko <[email protected]>
---
 meta-arago-distro/conf/distro/include/toolchain-gcc.inc  |  4 ----
 .../conf/distro/include/toolchain-linaro.inc             |  1 -
 .../recipes-core/meta/external-linaro-sdk-toolchain.bb   |  7 +------
 .../recipes-core/meta/meta-toolchain-arago.bb            | 16 ++++++++--------
 4 files changed, 9 insertions(+), 19 deletions(-)

diff --git a/meta-arago-distro/conf/distro/include/toolchain-gcc.inc 
b/meta-arago-distro/conf/distro/include/toolchain-gcc.inc
index a7505aa..bc6de77 100644
--- a/meta-arago-distro/conf/distro/include/toolchain-gcc.inc
+++ b/meta-arago-distro/conf/distro/include/toolchain-gcc.inc
@@ -8,10 +8,6 @@ LIBCEXTENSION = "${@['', '-gnu'][(d.getVar('ABIEXTENSION', 
True) or '') != '']}"
 TOOLCHAIN_SYS := "${TARGET_SYS}"
 TOOLCHAIN_PREFIX := "${TARGET_PREFIX}"
 
-bindir_pn-gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} = "${exec_prefix}/bin"
-bindir_pn-binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} = 
"${exec_prefix}/bin"
-bindir_pn-gdb-cross-canadian-${TRANSLATED_TARGET_ARCH} = "${exec_prefix}/bin"
-
 PREFERRED_PROVIDER_gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} ?= 
"gcc-cross-canadian-${TRANSLATED_TARGET_ARCH}"
 PREFERRED_PROVIDER_binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} ?= 
"binutils-cross-canadian-${TRANSLATED_TARGET_ARCH}"
 PREFERRED_PROVIDER_gdb-cross-canadian-${TRANSLATED_TARGET_ARCH} = 
"gdb-cross-canadian-${TRANSLATED_TARGET_ARCH}"
diff --git a/meta-arago-distro/conf/distro/include/toolchain-linaro.inc 
b/meta-arago-distro/conf/distro/include/toolchain-linaro.inc
index 20a6517..6271986 100644
--- a/meta-arago-distro/conf/distro/include/toolchain-linaro.inc
+++ b/meta-arago-distro/conf/distro/include/toolchain-linaro.inc
@@ -23,7 +23,6 @@ 
PREFERRED_PROVIDER_binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} ?= "externa
 #PREFERRED_PROVIDER_gdb-cross-canadian-${TRANSLATED_TARGET_ARCH} = 
"external-linaro-sdk-toolchain"
 
 # Special case for gdb to be built as part of canadian-cross-sdk, instead of 
packaged from external toolchain
-bindir_pn-gdb-cross-canadian-${TRANSLATED_TARGET_ARCH} = "${exec_prefix}/bin"
 PREFERRED_PROVIDER_gdb-cross-canadian-${TRANSLATED_TARGET_ARCH} = 
"gdb-cross-canadian-${TRANSLATED_TARGET_ARCH}"
 
 # Set up runtime preferences
diff --git 
a/meta-arago-extras/recipes-core/meta/external-linaro-sdk-toolchain.bb 
b/meta-arago-extras/recipes-core/meta/external-linaro-sdk-toolchain.bb
index 618d784..ff2598e 100644
--- a/meta-arago-extras/recipes-core/meta/external-linaro-sdk-toolchain.bb
+++ b/meta-arago-extras/recipes-core/meta/external-linaro-sdk-toolchain.bb
@@ -2,7 +2,7 @@ inherit cross-canadian
 
 require external-linaro-bfd-version.inc
 
-PR = "r6"
+PR = "r7"
 
 INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
 INHIBIT_PACKAGE_STRIP = "1"
@@ -33,12 +33,7 @@ PACKAGES = "\
        binutils-cross-canadian-arm \
 "
 
-# Don't need the extra target triplet in the new SDK dir structure
-bindir = "${exec_prefix}/bin"
-libdir = "${exec_prefix}/lib"
-libexecdir = "${exec_prefix}/libexec"
 datadir = "${exec_prefix}/share"
-
 gcclibdir = "${libdir}/gcc"
 
 # New Linaro toolchain misses these binaries, comment out for now
diff --git a/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb 
b/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
index 8457d6d..96fc6bf 100644
--- a/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
+++ b/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
@@ -10,7 +10,7 @@ inherit toolchain-scripts
 
 require recipes-core/meta/meta-toolchain.bb
 
-PR = "r33"
+PR = "r34"
 
 XZ_COMPRESSION_LEVEL ?= "-e -6"
 XZ_INTEGRITY_CHECK ?= "crc32"
@@ -39,7 +39,7 @@ toolchain_create_sdk_env_script () {
        echo 'export TOOLCHAIN_PREFIX=$TOOLCHAIN_SYS-' >> $script
        echo 'export SDK_PATH_NATIVE=$SDK_PATH/sysroots/$SDK_SYS' >> $script
        echo 'export 
SDK_PATH_TARGET=$SDK_PATH/sysroots/$REAL_MULTIMACH_TARGET_SYS' >> $script
-       echo 'export PATH=$SDK_PATH_NATIVE${bindir_nativesdk}:$PATH' >> $script
+       echo 'export 
PATH=$SDK_PATH_NATIVE${bindir_nativesdk}:$SDK_PATH_NATIVE${bindir_nativesdk}/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}:$PATH'
 >> $script
        echo 'export CPATH=$SDK_PATH_TARGET/usr/include:$CPATH' >> $script
        echo 'export PKG_CONFIG_SYSROOT_DIR=$SDK_PATH_TARGET' >> $script
        echo 'export PKG_CONFIG_PATH=$SDK_PATH_TARGET${libdir}/pkgconfig' >> 
$script
@@ -83,13 +83,13 @@ arago_sdk_fixup () {
        rm -rf ${SDK_OUTPUT}/${SDKPATHNATIVE}${bindir_nativesdk}/python*
 
        # Do some extra setup work due to new structure
-       mkdir -p 
"${SDK_OUTPUT}/${SDKPATHNATIVE}${prefix_nativesdk}/lib/${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}"
-       
lexec="${SDK_OUTPUT}/${SDKPATHNATIVE}${prefix_nativesdk}/libexec/gcc/${TOOLCHAIN_SYS}"
+       mkdir -p 
"${SDK_OUTPUT}/${SDKPATHNATIVE}${prefix_nativesdk}/lib/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
+       
lexec="${SDK_OUTPUT}/${SDKPATHNATIVE}${prefix_nativesdk}/libexec/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}/gcc/${TOOLCHAIN_SYS}"
        tcv=`ls -1 $lexec|head -1`
-       ln -s . ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/lib/$tcv
-       ln -s . ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/usr/lib/$tcv
-       ln -s . ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/lib/${TOOLCHAIN_SYS}
-       ln -s . ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/usr/lib/${TOOLCHAIN_SYS}
+       [ -e ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/lib/$tcv ] || ln -s . 
${SDK_OUTPUT}/${SDKTARGETSYSROOT}/lib/$tcv
+       [ -e ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/usr/lib/$tcv ] || ln -s . 
${SDK_OUTPUT}/${SDKTARGETSYSROOT}/usr/lib/$tcv
+       [ -e ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/lib/${TOOLCHAIN_SYS} ] || ln -s 
. ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/lib/${TOOLCHAIN_SYS}
+       [ -e ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/usr/lib/${TOOLCHAIN_SYS} ] || ln 
-s . ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/usr/lib/${TOOLCHAIN_SYS}
        
tcpath="${SDK_OUTPUT}/${SDKPATHNATIVE}${prefix_nativesdk}/${TOOLCHAIN_SYS}"
        mkdir -p $tcpath
        pushd $tcpath
-- 
2.7.4

_______________________________________________
meta-arago mailing list
[email protected]
http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago

Reply via email to