cross-canadian: Fix TUNE_PKGARCH references
The cross-canadian compilers are now build once per architecture but were being installed into tune specific locations which is incorrect. This adjusts things so they are make TARGET_ARCH specific. We gain the tune specific parts from the target sysroot which remains tune specific, the compiler and tools are independent ot that. binutils/gcc require sysroot options but since we reset at runtime, these shouldn't have dependencies in the sstate checksums. They are therefore also excluded. With these patches, switching machines does not result in a rebuild of *-cross-canadian and the compiler is correctly located and referenced in the target images. (From OE-Core rev: f58acab6414fe96d9e07ebbe86b348d2ac2bed5f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
4e537df727
commit
20a86e16bc
|
@ -73,12 +73,12 @@ target_exec_prefix := "${exec_prefix}"
|
|||
base_prefix = "${SDKPATHNATIVE}"
|
||||
prefix = "${SDKPATHNATIVE}${prefix_nativesdk}"
|
||||
exec_prefix = "${SDKPATHNATIVE}${prefix_nativesdk}"
|
||||
bindir = "${exec_prefix}/bin/${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}"
|
||||
bindir = "${exec_prefix}/bin/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
|
||||
sbindir = "${bindir}"
|
||||
base_bindir = "${bindir}"
|
||||
base_sbindir = "${bindir}"
|
||||
libdir = "${exec_prefix}/lib/${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}"
|
||||
libexecdir = "${exec_prefix}/libexec/${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}"
|
||||
libdir = "${exec_prefix}/lib/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
|
||||
libexecdir = "${exec_prefix}/libexec/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
|
||||
|
||||
FILES_${PN} = "${prefix}"
|
||||
FILES_${PN}-dbg += "${prefix}/.debug \
|
||||
|
@ -91,3 +91,7 @@ export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR_HOST}"
|
|||
do_populate_sysroot[stamp-extra-info] = ""
|
||||
|
||||
USE_NLS = "${SDKUSE_NLS}"
|
||||
|
||||
# We have to us TARGET_ARCH but we care about the absolute value
|
||||
# and not any particular tune that is enabled.
|
||||
TARGET_ARCH[vardepsexclude] = "TUNE_ARCH"
|
||||
|
|
|
@ -10,7 +10,7 @@ toolchain_create_sdk_env_script () {
|
|||
script=${1:-${SDK_OUTPUT}/${SDKPATH}/environment-setup-${REAL_MULTIMACH_TARGET_SYS}}
|
||||
rm -f $script
|
||||
touch $script
|
||||
echo 'export PATH=${SDKPATHNATIVE}${bindir_nativesdk}:${SDKPATHNATIVE}${bindir_nativesdk}/${REAL_MULTIMACH_TARGET_SYS}:$PATH' >> $script
|
||||
echo 'export PATH=${SDKPATHNATIVE}${bindir_nativesdk}:${SDKPATHNATIVE}${bindir_nativesdk}/${TARGET_SYS}:$PATH' >> $script
|
||||
echo 'export PKG_CONFIG_SYSROOT_DIR=${SDKTARGETSYSROOT}' >> $script
|
||||
echo 'export PKG_CONFIG_PATH=${SDKTARGETSYSROOT}${libdir}/pkgconfig' >> $script
|
||||
echo 'export CONFIG_SITE=${SDKPATH}/site-config-${REAL_MULTIMACH_TARGET_SYS}' >> $script
|
||||
|
|
|
@ -7,6 +7,11 @@ BPN = "binutils"
|
|||
DEPENDS = "flex-native bison-native virtual/${HOST_PREFIX}gcc-crosssdk virtual/nativesdk-libc nativesdk-zlib nativesdk-gettext"
|
||||
EXTRA_OECONF += "--with-sysroot=${SDKPATH}/sysroots/${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS} \
|
||||
"
|
||||
|
||||
# We have to point binutils at a sysroot but we don't need to rebuild if this changes
|
||||
# e.g. we switch between different machines with different tunes.
|
||||
EXTRA_OECONF[vardepsexclude] = "TUNE_PKGARCH"
|
||||
|
||||
do_install () {
|
||||
autotools_do_install
|
||||
|
||||
|
|
|
@ -14,6 +14,11 @@ EXTRA_OECONF_PATHS = "--with-gxx-include-dir=${SDKPATH}/sysroots/${TUNE_PKGARCH}
|
|||
--with-build-time-tools=${STAGING_DIR_NATIVE}${prefix_native}/${TARGET_SYS}/bin \
|
||||
--with-sysroot=${SDKPATH}/sysroots/${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS} \
|
||||
--with-build-sysroot=${STAGING_DIR_TARGET}"
|
||||
# We have to point gcc at a sysroot but we don't need to rebuild if this changes
|
||||
# e.g. we switch between different machines with different tunes.
|
||||
EXTRA_OECONF_PATHS[vardepsexclude] = "TUNE_PKGARCH"
|
||||
TARGET_ARCH[vardepsexclude] = "TUNE_ARCH"
|
||||
get_gcc_fpu_setting[vardepvalue] = ""
|
||||
|
||||
#
|
||||
# gcc-cross looks and finds these in ${exec_prefix} but we're not so lucky
|
||||
|
|
Loading…
Reference in New Issue