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-09-08 23:47:30 +0100
commit6fef2a1c2ca8a4450c8a4b49e6eb5e01f80ef97b (patch)
treede06312fc0062604a21584c7dbca4a8f1e42062a
parent7721fa8185be43c042e08eb212b7cd97d5df012b (diff)
downloadpoky-6fef2a1c2ca8a4450c8a4b49e6eb5e01f80ef97b.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: 33a5714592bf41a26fcd7e8ff595b45538082431) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit bc4ee5453560dcefc4a4ecc5657df5cc1666e153) Signed-off-by: Steve Sakoman <steve@sakoman.com> 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 b46f1aed27..396792f0f7 100644
--- a/meta/classes/populate_sdk_base.bbclass
+++ b/meta/classes/populate_sdk_base.bbclass
@@ -275,6 +275,7 @@ EOF
275 # substitute variables 275 # substitute variables
276 sed -i -e 's#@SDK_ARCH@#${SDK_ARCH}#g' \ 276 sed -i -e 's#@SDK_ARCH@#${SDK_ARCH}#g' \
277 -e 's#@SDKPATH@#${SDKPATH}#g' \ 277 -e 's#@SDKPATH@#${SDKPATH}#g' \
278 -e 's#@SDKPATHINSTALL@#${SDKPATHINSTALL}#g' \
278 -e 's#@SDKEXTPATH@#${SDKEXTPATH}#g' \ 279 -e 's#@SDKEXTPATH@#${SDKEXTPATH}#g' \
279 -e 's#@OLDEST_KERNEL@#${SDK_OLDEST_KERNEL}#g' \ 280 -e 's#@OLDEST_KERNEL@#${SDK_OLDEST_KERNEL}#g' \
280 -e 's#@REAL_MULTIMACH_TARGET_SYS@#${REAL_MULTIMACH_TARGET_SYS}#g' \ 281 -e 's#@REAL_MULTIMACH_TARGET_SYS@#${REAL_MULTIMACH_TARGET_SYS}#g' \
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 0141919021..f442a6593a 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -421,8 +421,10 @@ PKGDATA_DIR = "${TMPDIR}/pkgdata/${MACHINE}"
421 421
422SDK_NAME_PREFIX ?= "oecore" 422SDK_NAME_PREFIX ?= "oecore"
423SDK_NAME = "${SDK_NAME_PREFIX}-${SDK_ARCH}-${TUNE_PKGARCH}" 423SDK_NAME = "${SDK_NAME_PREFIX}-${SDK_ARCH}-${TUNE_PKGARCH}"
424SDKPATH = "/usr/local/${SDK_NAME_PREFIX}-${SDK_ARCH}" 424SDKPATH = "/usr/local/oe-sdk-hardcoded-buildpath"
425SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}" 425SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}"
426# The path to default to installing the SDK to
427SDKPATHINSTALL = "/usr/local/${SDK_NAME_PREFIX}-${SDK_ARCH}"
426 428
427################################################################## 429##################################################################
428# Kernel info. 430# 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 ba873373e2..3ece04db0a 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