From patchwork Thu Jul 6 21:23:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denys Dmytriyenko X-Patchwork-Id: 27027 X-Patchwork-Delegate: reatmon@ti.com Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id BA5FFC001B0 for ; Thu, 6 Jul 2023 21:23:42 +0000 (UTC) Received: from mailout4.zoneedit.com (mailout4.zoneedit.com [64.68.198.64]) by mx.groups.io with SMTP id smtpd.web10.36333.1688678622016979522 for ; Thu, 06 Jul 2023 14:23:42 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: denix.org, ip: 64.68.198.64, mailfrom: denis@denix.org) Received: from localhost (localhost [127.0.0.1]) by mailout4.zoneedit.com (Postfix) with ESMTP id 5D71940C16; Thu, 6 Jul 2023 21:23:41 +0000 (UTC) Received: from mailout4.zoneedit.com ([127.0.0.1]) by localhost (zmo14-pco.easydns.vpn [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ifu2xnJ2oCsR; Thu, 6 Jul 2023 21:23:41 +0000 (UTC) Received: from mail.denix.org (pool-100-15-88-116.washdc.fios.verizon.net [100.15.88.116]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mailout4.zoneedit.com (Postfix) with ESMTPSA id 3D26C40C83; Thu, 6 Jul 2023 21:23:40 +0000 (UTC) Received: from thorin.han-sole.ts.net (thorin.denix [192.168.30.9]) by mail.denix.org (Postfix) with ESMTP id D80E4163BF2; Thu, 6 Jul 2023 17:23:38 -0400 (EDT) From: Denys Dmytriyenko To: meta-arago@lists.yoctoproject.org Cc: Denys Dmytriyenko Subject: [kirkstone][PATCH 5/6] meta-arago: remove extra plumbing for internal toolchain Date: Thu, 6 Jul 2023 21:23:34 +0000 Message-Id: <20230706212335.1893675-6-denis@denix.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230706212335.1893675-1-denis@denix.org> References: <20230706212335.1893675-1-denis@denix.org> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 06 Jul 2023 21:23:42 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arago/message/14790 From: Denys Dmytriyenko No longer needed w/o external toolchain - use defaults from OE-Core. Also remove extra code that was trying to unify internal and external toolchains structures in meta-toolchain-arago. Signed-off-by: Denys Dmytriyenko --- meta-arago-distro/conf/distro/arago.conf | 10 ---- .../conf/distro/include/toolchain-gcc.inc | 41 -------------- .../distro/include/toolchain-internal.inc | 4 -- .../recipes-core/meta/meta-toolchain-arago.bb | 54 +++++-------------- 4 files changed, 14 insertions(+), 95 deletions(-) delete mode 100644 meta-arago-distro/conf/distro/include/toolchain-gcc.inc delete mode 100644 meta-arago-distro/conf/distro/include/toolchain-internal.inc diff --git a/meta-arago-distro/conf/distro/arago.conf b/meta-arago-distro/conf/distro/arago.conf index ceb74b6e..f03c82bf 100644 --- a/meta-arago-distro/conf/distro/arago.conf +++ b/meta-arago-distro/conf/distro/arago.conf @@ -152,16 +152,6 @@ ARAGO_SYSTEST_ENABLE ?= "0" ARAGO_KERNEL_SUFFIX:append = "${@oe.utils.conditional("ARAGO_SYSTEST_ENABLE", "1", "-systest", "", d)}" IMAGE_FSTYPES:remove = "${@['','ubi ubifs'][d.getVar('ARAGO_SYSTEST_ENABLE') == '1']}" -# Toolchain should be selected by setting TOOLCHAIN_BRAND in local.conf -# Set some sane defaults, in case someone forgets to set them in local.conf -TC_SANE_DEFAULT ?= "arm" -TOOLCHAIN_TYPE ?= "internal" -TOOLCHAIN_TYPE:omapl138 = "internal" -TOOLCHAIN_BRAND ?= "${@[d.getVar('TC_SANE_DEFAULT'),'gcc'][d.getVar('TOOLCHAIN_TYPE') == 'internal']}" - -require conf/distro/include/toolchain-${TOOLCHAIN_BRAND}.inc -require conf/distro/include/toolchain-${TOOLCHAIN_TYPE}.inc - # Enable basic stack and buffer overflow protections #TARGET_CPPFLAGS += "-fstack-protector -D_FORTIFY_SOURCE=1" #TARGET_CPPFLAGS += "-fstack-protector" diff --git a/meta-arago-distro/conf/distro/include/toolchain-gcc.inc b/meta-arago-distro/conf/distro/include/toolchain-gcc.inc deleted file mode 100644 index 1c059a6f..00000000 --- a/meta-arago-distro/conf/distro/include/toolchain-gcc.inc +++ /dev/null @@ -1,41 +0,0 @@ -# Select internal gcc toolchain to be built from sources -TCMODE = "default" -TCLIBC = "glibc" - -LIBCEXTENSION = "${@['', '-gnu'][(d.getVar('ABIEXTENSION') or '') != '']}" - -# Match some of the external vars -TOOLCHAIN_SYS := "${TARGET_SYS}" -TOOLCHAIN_PREFIX := "${TARGET_PREFIX}" - -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}" - -# Set Cross and SDK toolchain preferences -SDKGCCVERSION ?= "11%" -SDKBINUVERSION ?= "2.38%" -SDKGLIBCVERSION ?= "2.35%" - -PREFERRED_VERSION_gcc-crosssdk-${SDK_SYS} ?= "${SDKGCCVERSION}" -PREFERRED_VERSION_gcc-crosssdk-initial-${SDK_SYS} ?= "${SDKGCCVERSION}" -PREFERRED_VERSION_binutils-crosssdk-${SDK_SYS} ?= "${SDKBINUVERSION}" - -PREFERRED_VERSION_nativesdk-gcc-runtime ?= "${SDKGCCVERSION}" -PREFERRED_VERSION_nativesdk-libgcc ?= "${SDKGCCVERSION}" -PREFERRED_VERSION_nativesdk-libgcc-initial ?= "${SDKGCCVERSION}" -PREFERRED_VERSION_nativesdk-glibc ?= "${SDKGLIBCVERSION}" -PREFERRED_VERSION_nativesdk-glibc-locale ?= "${SDKGLIBCVERSION}" -PREFERRED_VERSION_nativesdk-glibc-initial ?= "${SDKGLIBCVERSION}" - -# Set target toolchain preferences to match Cross/SDK by default -# Can be overwritten globally, if needed -GCCVERSION ?= "11%" -BINUVERSION ?= "2.38%" -GLIBCVERSION ?= "2.35%" - -PREFERRED_VERSION_gcc ?= "${GCCVERSION}" -PREFERRED_VERSION_binutils ?= "${BINUVERSION}" -PREFERRED_VERSION_glibc ?= "${GLIBCVERSION}" -PREFERRED_VERSION_glibc-locale ?= "${GLIBCVERSION}" -PREFERRED_VERSION_glibc-initial ?= "${GLIBCVERSION}" diff --git a/meta-arago-distro/conf/distro/include/toolchain-internal.inc b/meta-arago-distro/conf/distro/include/toolchain-internal.inc deleted file mode 100644 index cbc3b53d..00000000 --- a/meta-arago-distro/conf/distro/include/toolchain-internal.inc +++ /dev/null @@ -1,4 +0,0 @@ -# No special handling is required for locating the internal toolchain, just re-use existing vars -TOOLCHAIN_PATH ?= "${STAGING_BINDIR_TOOLCHAIN}" -TOOLCHAIN_SYSPATH ?= "${TOOLCHAIN_PATH}/${TARGET_SYS}" -EXTERNAL_TOOLCHAIN = "${TOOLCHAIN_PATH}" 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 5c1c3ad0..8bff9abb 100644 --- a/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb +++ b/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb @@ -33,8 +33,8 @@ toolchain_create_sdk_env_script () { echo 'fi' >> $script echo 'export SDK_SYS=${SDK_SYS}' >> $script echo 'export REAL_MULTIMACH_TARGET_SYS=${REAL_MULTIMACH_TARGET_SYS}' >> $script - echo 'export TOOLCHAIN_SYS=${TOOLCHAIN_SYS}' >> $script - echo 'export TOOLCHAIN_PREFIX=$TOOLCHAIN_SYS-' >> $script + echo 'export TARGET_SYS=${TARGET_SYS}' >> $script + echo 'export TARGET_PREFIX=$TARGET_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}:$SDK_PATH_NATIVE${bindir_nativesdk}/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}:$PATH' >> $script @@ -43,18 +43,18 @@ toolchain_create_sdk_env_script () { echo 'export PKG_CONFIG_PATH=$SDK_PATH_TARGET${libdir}/pkgconfig:$SDK_PATH_TARGET${datadir}/pkgconfig' >> $script echo 'export PKG_CONFIG_ALLOW_SYSTEM_LIBS=1' >> $script echo 'export CONFIG_SITE=$SDK_PATH/site-config-$REAL_MULTIMACH_TARGET_SYS' >> $script - printf 'export CC="\x24{TOOLCHAIN_PREFIX}gcc --sysroot=$SDK_PATH_TARGET"\n' >> $script - printf 'export CXX="\x24{TOOLCHAIN_PREFIX}g++ --sysroot=$SDK_PATH_TARGET"\n' >> $script - printf 'export GDB=\x24{TOOLCHAIN_PREFIX}gdb\n' >> $script - printf 'export CPP="\x24{TOOLCHAIN_PREFIX}gcc -E --sysroot=$SDK_PATH_TARGET"\n' >> $script - printf 'export LD="\x24{TOOLCHAIN_PREFIX}ld --sysroot=$SDK_PATH_TARGET"\n' >> $script - printf 'export NM=\x24{TOOLCHAIN_PREFIX}nm\n' >> $script - printf 'export AS=\x24{TOOLCHAIN_PREFIX}as\n' >> $script - printf 'export AR=\x24{TOOLCHAIN_PREFIX}ar\n' >> $script - printf 'export RANLIB=\x24{TOOLCHAIN_PREFIX}ranlib\n' >> $script - printf 'export OBJCOPY=\x24{TOOLCHAIN_PREFIX}objcopy\n' >> $script - printf 'export OBJDUMP=\x24{TOOLCHAIN_PREFIX}objdump\n' >> $script - printf 'export STRIP=\x24{TOOLCHAIN_PREFIX}strip\n' >> $script + printf 'export CC="\x24{TARGET_PREFIX}gcc --sysroot=$SDK_PATH_TARGET"\n' >> $script + printf 'export CXX="\x24{TARGET_PREFIX}g++ --sysroot=$SDK_PATH_TARGET"\n' >> $script + printf 'export GDB=\x24{TARGET_PREFIX}gdb\n' >> $script + printf 'export CPP="\x24{TARGET_PREFIX}gcc -E --sysroot=$SDK_PATH_TARGET"\n' >> $script + printf 'export LD="\x24{TARGET_PREFIX}ld --sysroot=$SDK_PATH_TARGET"\n' >> $script + printf 'export NM=\x24{TARGET_PREFIX}nm\n' >> $script + printf 'export AS=\x24{TARGET_PREFIX}as\n' >> $script + printf 'export AR=\x24{TARGET_PREFIX}ar\n' >> $script + printf 'export RANLIB=\x24{TARGET_PREFIX}ranlib\n' >> $script + printf 'export OBJCOPY=\x24{TARGET_PREFIX}objcopy\n' >> $script + printf 'export OBJDUMP=\x24{TARGET_PREFIX}objdump\n' >> $script + printf 'export STRIP=\x24{TARGET_PREFIX}strip\n' >> $script echo 'export CONFIGURE_FLAGS="--target=${TARGET_SYS} --host=${TARGET_SYS} --build=${SDK_ARCH}-linux --with-libtool-sysroot=$SDK_PATH_TARGET"' >> $script echo 'export CPPFLAGS="${TARGET_CC_ARCH} --sysroot=$SDK_PATH_TARGET"' >> $script echo 'export CFLAGS="$CPPFLAGS"' >> $script @@ -97,32 +97,6 @@ arago_sdk_fixup () { done cleanup_toolchain_packages - - # Do some extra setup work due to new structure - mkdir -p "${SDK_OUTPUT}/${SDKPATHNATIVE}${prefix_nativesdk}/lib/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}" - if [ "${TOOLCHAIN_TYPE}" = "internal" ]; then - lexec="${SDK_OUTPUT}/${SDKPATHNATIVE}${prefix_nativesdk}/libexec/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}/gcc/${TOOLCHAIN_SYS}" - else - lexec="${SDK_OUTPUT}/${SDKPATHNATIVE}${prefix_nativesdk}/libexec/gcc/${TOOLCHAIN_SYS}" - fi - tcv=`ls -1 $lexec|head -1` - [ -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 - ( cd $tcpath; \ - ln -s ${SDKTARGETSYSROOT}/include include; \ - if [ "${TOOLCHAIN_BRAND}" != "arago" ]; then \ - mkdir -p libc; \ - cd libc; \ - fi; \ - mkdir -p usr; \ - ln -s ${SDKTARGETSYSROOT}/lib lib; \ - ln -s ${SDKTARGETSYSROOT}/usr/lib usr/lib; \ - ln -s ${SDKTARGETSYSROOT}/usr/include usr/include; \ - ) } fakeroot create_sdk_files() {