summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2021-07-30 16:44:56 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-08-02 15:44:11 +0100
commitf62f684de861bddc225cee66f33781d328a20f95 (patch)
treee0bc28e250854d080520fb5d0e3cdf9e68399cda
parent54b9a58c20372c95eaa88e55a1864d1bd1c11708 (diff)
downloadpoky-f62f684de861bddc225cee66f33781d328a20f95.tar.gz
sdk: Decouple default install path from built in path
Add SDKPATHINSTALL which is used as the default install location of the SDK instead of SDKPATH. This means the default install path isn't encoded into every SDK binary, meaning if a date is used there the entire SDK doesn't have to rebuild. Most distros can switch to only customise SDKPATHINSTALL meaning more sstate reuse too. [YOCTO #14100] (From OE-Core rev: bc4ee5453560dcefc4a4ecc5657df5cc1666e153) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/populate_sdk_base.bbclass1
-rw-r--r--meta/conf/bitbake.conf4
-rw-r--r--meta/files/toolchain-shar-extract.sh3
-rw-r--r--meta/files/toolchain-shar-relocate.sh2
4 files changed, 7 insertions, 3 deletions
diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
index 3c1eb454b3..ccfe223289 100644
--- a/meta/classes/populate_sdk_base.bbclass
+++ b/meta/classes/populate_sdk_base.bbclass
@@ -280,6 +280,7 @@ EOF
280 # substitute variables 280 # substitute variables
281 sed -i -e 's#@SDK_ARCH@#${SDK_ARCH}#g' \ 281 sed -i -e 's#@SDK_ARCH@#${SDK_ARCH}#g' \
282 -e 's#@SDKPATH@#${SDKPATH}#g' \ 282 -e 's#@SDKPATH@#${SDKPATH}#g' \
283 -e 's#@SDKPATHINSTALL@#${SDKPATHINSTALL}#g' \
283 -e 's#@SDKEXTPATH@#${SDKEXTPATH}#g' \ 284 -e 's#@SDKEXTPATH@#${SDKEXTPATH}#g' \
284 -e 's#@OLDEST_KERNEL@#${SDK_OLDEST_KERNEL}#g' \ 285 -e 's#@OLDEST_KERNEL@#${SDK_OLDEST_KERNEL}#g' \
285 -e 's#@REAL_MULTIMACH_TARGET_SYS@#${REAL_MULTIMACH_TARGET_SYS}#g' \ 286 -e 's#@REAL_MULTIMACH_TARGET_SYS@#${REAL_MULTIMACH_TARGET_SYS}#g' \
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index f2ceb26c04..1d5f5b7fcd 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -422,8 +422,10 @@ PKGDATA_DIR = "${TMPDIR}/pkgdata/${MACHINE}"
422 422
423SDK_NAME_PREFIX ?= "oecore" 423SDK_NAME_PREFIX ?= "oecore"
424SDK_NAME = "${SDK_NAME_PREFIX}-${SDK_ARCH}-${TUNE_PKGARCH}" 424SDK_NAME = "${SDK_NAME_PREFIX}-${SDK_ARCH}-${TUNE_PKGARCH}"
425SDKPATH = "/usr/local/${SDK_NAME_PREFIX}-${SDK_ARCH}" 425SDKPATH = "/usr/local/oe-sdk-hardcoded-buildpath"
426SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}" 426SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}"
427# The path to default to installing the SDK to
428SDKPATHINSTALL = "/usr/local/${SDK_NAME_PREFIX}-${SDK_ARCH}"
427 429
428################################################################## 430##################################################################
429# Kernel info. 431# Kernel info.
diff --git a/meta/files/toolchain-shar-extract.sh b/meta/files/toolchain-shar-extract.sh
index dd9342758b..4386b985bb 100644
--- a/meta/files/toolchain-shar-extract.sh
+++ b/meta/files/toolchain-shar-extract.sh
@@ -56,7 +56,8 @@ if ! xz -V > /dev/null 2>&1; then
56 exit 1 56 exit 1
57fi 57fi
58 58
59DEFAULT_INSTALL_DIR="@SDKPATH@" 59SDK_BUILD_PATH="@SDKPATH@"
60DEFAULT_INSTALL_DIR="@SDKPATHINSTALL@"
60SUDO_EXEC="" 61SUDO_EXEC=""
61EXTRA_TAR_OPTIONS="" 62EXTRA_TAR_OPTIONS=""
62target_sdk_dir="" 63target_sdk_dir=""
diff --git a/meta/files/toolchain-shar-relocate.sh b/meta/files/toolchain-shar-relocate.sh
index 5433741296..8ea6194eca 100644
--- a/meta/files/toolchain-shar-relocate.sh
+++ b/meta/files/toolchain-shar-relocate.sh
@@ -61,7 +61,7 @@ done | xargs -n100 file | grep ":.*\(ASCII\|script\|source\).*text" | \
61 -e "$target_sdk_dir/post-relocate-setup" \ 61 -e "$target_sdk_dir/post-relocate-setup" \
62 -e "$target_sdk_dir/${0##*/}" | \ 62 -e "$target_sdk_dir/${0##*/}" | \
63 xargs -n100 $SUDO_EXEC sed -i \ 63 xargs -n100 $SUDO_EXEC sed -i \
64 -e "s:$DEFAULT_INSTALL_DIR:$target_sdk_dir:g" \ 64 -e "s:$SDK_BUILD_PATH:$target_sdk_dir:g" \
65 -e "s:^#! */usr/bin/perl.*:#! /usr/bin/env perl:g" \ 65 -e "s:^#! */usr/bin/perl.*:#! /usr/bin/env perl:g" \
66 -e "s: /usr/bin/perl: /usr/bin/env perl:g" 66 -e "s: /usr/bin/perl: /usr/bin/env perl:g"
67 67