diff options
author | Denys Dmytriyenko <denys@ti.com> | 2019-02-05 01:48:11 -0500 |
---|---|---|
committer | Vishal Bhoj <vishal.bhoj@linaro.org> | 2019-03-07 10:02:06 +0000 |
commit | b7fc822bef1efba678bf6e5487f881b0ed431ca9 (patch) | |
tree | 52eb114009f26587262fddfc3946132ec29cb0a3 | |
parent | f9e8b818723e3a61c18cfca4e9ea622ffd019520 (diff) |
external-arm-toolchain: also support 32-bit arm toolchains
Remove hardcoding of "lib64" and "aarch64" and allow usage with 32-bit
arm toolchains, like arm-linux-gnueabihf.
Change-Id: I5da088b813e2f3c7f568a040ac48866d33a48966
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
3 files changed, 22 insertions, 20 deletions
diff --git a/meta-linaro-toolchain/conf/distro/include/external-arm-toolchain-versions.inc b/meta-linaro-toolchain/conf/distro/include/external-arm-toolchain-versions.inc index 7064d6b3..6c3acec5 100644 --- a/meta-linaro-toolchain/conf/distro/include/external-arm-toolchain-versions.inc +++ b/meta-linaro-toolchain/conf/distro/include/external-arm-toolchain-versions.inc @@ -49,28 +49,28 @@ def eat_get_libc_version(d): if not syspath: return 'UNKNOWN' - libpath = syspath + '/libc/lib64/' + bb.data.expand('${EAT_TARGET_SYS}/', d) + libpath = syspath + '/libc/' + bb.data.expand('${EAT_LIBDIR}/${EAT_TARGET_SYS}/', d) if os.path.exists(libpath): for file in os.listdir(libpath): if file.find('libc-') == 0: return file[5:-3] - libpath = syspath + '/libc/lib64/' + libpath = syspath + '/libc/' + bb.data.expand('${EAT_LIBDIR}/', d) if os.path.exists(libpath): for file in os.listdir(libpath): if file.find('libc-') == 0: return file[5:-3] - libpath = syspath + '/libc/usr/lib64/' + bb.data.expand('${EAT_TARGET_SYS}/', d) + libpath = syspath + '/libc/usr/' + bb.data.expand('${EAT_LIBDIR}/${EAT_TARGET_SYS}/', d) if os.path.exists(libpath): for file in os.listdir(libpath): if file.find('libc-') == 0: return file[5:-3] - libpath = syspath + '/libc/usr/lib64/' + libpath = syspath + '/libc/usr/' + bb.data.expand('${EAT_LIBDIR}/', d) if os.path.exists(libpath): for file in os.listdir(libpath): diff --git a/meta-linaro-toolchain/conf/distro/include/tcmode-external-arm.inc b/meta-linaro-toolchain/conf/distro/include/tcmode-external-arm.inc index 5f3a4e68..b8dc5285 100644 --- a/meta-linaro-toolchain/conf/distro/include/tcmode-external-arm.inc +++ b/meta-linaro-toolchain/conf/distro/include/tcmode-external-arm.inc @@ -12,6 +12,9 @@ ELT_TARGET_SYS_aarch64 ?= "aarch64-linux-gnu" ELT_TARGET_SYS = "${TARGET_SYS}" TARGET_PREFIX = "${ELT_TARGET_SYS}-" +EAT_LIBDIR_arm = "lib" +EAT_LIBDIR_aarch64 = "lib64" + GCCMULTILIB_forcevariable = "--disable-multilib" IMAGE_LINGUAS_forcevariable = "" diff --git a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb index a105cfcf..cdb7329a 100644 --- a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb +++ b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb @@ -17,7 +17,6 @@ PROVIDES += "\ virtual/${TARGET_PREFIX}g++ \ virtual/${TARGET_PREFIX}gcc-initial \ virtual/${TARGET_PREFIX}binutils \ - binutils-cross-aarch64 \ virtual/${TARGET_PREFIX}libc-for-gcc \ virtual/${TARGET_PREFIX}compilerlibs \ virtual/libc \ @@ -73,21 +72,21 @@ do_install() { install -d ${D}${datadir} install -d ${D}${includedir} - cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/lib64/* ${D}${base_libdir} - if [ -d ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/lib64/${EAT_TARGET_SYS} ]; then - cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/lib64/${EAT_TARGET_SYS}/* ${D}${base_libdir} + cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/${EAT_LIBDIR}/* ${D}${base_libdir} + if [ -d ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/${EAT_LIBDIR}/${EAT_TARGET_SYS} ]; then + cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/${EAT_LIBDIR}/${EAT_TARGET_SYS}/* ${D}${base_libdir} else - if [ -f ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/lib64/ld-${EAT_VER_LIBC}.so ]; then - cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/lib64/* ${D}${base_libdir} + if [ -f ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/${EAT_LIBDIR}/ld-${EAT_VER_LIBC}.so ]; then + cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/${EAT_LIBDIR}/* ${D}${base_libdir} else - cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/lib64/*.so* ${D}${base_libdir} + cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/${EAT_LIBDIR}/*.so* ${D}${base_libdir} fi fi - if [ -d ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/lib64/${EAT_TARGET_SYS} ]; then - cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/lib64/${EAT_TARGET_SYS}/* ${D}${libdir} + if [ -d ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/${EAT_LIBDIR}/${EAT_TARGET_SYS} ]; then + cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}/* ${D}${libdir} else - cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/lib64/* ${D}${libdir} - if [ ! -f ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/lib64/ld-${EAT_VER_LIBC}.so ]; then + cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/${EAT_LIBDIR}/* ${D}${libdir} + if [ ! -f ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/${EAT_LIBDIR}/ld-${EAT_VER_LIBC}.so ]; then rm -rf ${D}${libdir}/*.so* fi fi @@ -191,19 +190,19 @@ do_install() { fi if [ -f ${D}${libdir}/libc.so ];then - sed -i -e "s# /lib64/${EAT_TARGET_SYS}# ../../lib64#g" -e "s# /usr/lib64/# /usr/lib/#g" -e "s# /usr/lib64/${EAT_TARGET_SYS}# .#g" -e "s# /lib64/ld-linux# ../../lib64/ld-linux#g" ${D}${libdir}/libc.so - sed -i -e "s# /lib64/libc.so.6# /lib/libc.so.6#g" ${D}${libdir}/libc.so + sed -i -e "s# /${EAT_LIBDIR}/${EAT_TARGET_SYS}# ../../${EAT_LIBDIR}#g" -e "s# /usr/${EAT_LIBDIR}/# /usr/lib/#g" -e "s# /usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}# .#g" -e "s# /${EAT_LIBDIR}/ld-linux# ../../${EAT_LIBDIR}/ld-linux#g" ${D}${libdir}/libc.so + sed -i -e "s# /${EAT_LIBDIR}/libc.so.6# /lib/libc.so.6#g" ${D}${libdir}/libc.so # cat kjasdkjasd fi if [ -f ${D}${base_libdir}/libc.so ];then - sed -i -e "s# /lib64/${EAT_TARGET_SYS}# ../../lib#g" -e "s# /usr/lib64/${EAT_TARGET_SYS}# .#g" "s# /lib64/# /lib/#g" ${D}${base_libdir}/libc.so + sed -i -e "s# /${EAT_LIBDIR}/${EAT_TARGET_SYS}# ../../lib#g" -e "s# /usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}# .#g" "s# /${EAT_LIBDIR}/# /lib/#g" ${D}${base_libdir}/libc.so if [ -f ${D}${base_libdir}/libc.so.6 ]; then - sed -i -e "s# /usr/lib64/libc.so.6# /lib/libc.so.6#g" "s# /lib64/libc.so.6# /lib/libc.so.6#g" ${D}${base_libdir}/libc.so.6 + sed -i -e "s# /usr/${EAT_LIBDIR}/libc.so.6# /lib/libc.so.6#g" "s# /${EAT_LIBDIR}/libc.so.6# /lib/libc.so.6#g" ${D}${base_libdir}/libc.so.6 fi fi if [ -f ${D}${base_libdir}/libpthread.so.0 ]; then - sed -i -e "s# /usr/lib64/libpthread.so.0# /lib/libpthread.so.0#g" ${D}${base_libdir}/libpthread.so.0 + sed -i -e "s# /usr/${EAT_LIBDIR}/libpthread.so.0# /lib/libpthread.so.0#g" ${D}${base_libdir}/libpthread.so.0 fi # Remove if empty |