diff mbox series

poky: kirkstone: eSDK: fix build-in eSDK environment file generation

Message ID 20231122090402.7643-1-alb3rt0.m3rciai@gmail.com
State New, archived
Delegated to: Steve Sakoman
Headers show
Series poky: kirkstone: eSDK: fix build-in eSDK environment file generation | expand

Commit Message

Alberto Merciai Nov. 22, 2023, 9:04 a.m. UTC
From: amerciai <alb3rt0.m3rciai@gmail.com>

- Following Setting up the Extensible SDK environment directly in a Yocto build
  https://docs.yoctoproject.org/4.0.14/sdk-manual/extensible.html#setting-up-the-extensible-sdk-environment-directly-in-a-yocto-build
  The generated environment file does not point to the
  correct sysroot folder, then the end user is not able
  to cross-compile by sourcing the file.

- The same for kirkstone-4.0.10

- By analyzing
  https://lore.kernel.org/all/20220622103312.1098389-3-alex@linutronix.de/T/#m7eadf6c722410f5b233ebba9fc700a895af9f052
  I found that changes apllied to
  meta/classes/toolchain-scripts.bbclass
  solve the issue.

Suggested-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Alberto Merciai <alb3rt0.m3rciai@gmail.com>

Comments

Alexander Kanavin Nov. 22, 2023, 9:13 a.m. UTC | #1
There is still no description of how to observe the issue, no answer
to my question, and I did not suggest any of this at any point (I had
to go and check - some of my old patches were used as a reference,
this is not the same as Suggested-by).

NACK.

Alex



On Wed, 22 Nov 2023 at 10:04, Alberto Merciai <alb3rt0.m3rciai@gmail.com> wrote:
>
> From: amerciai <alb3rt0.m3rciai@gmail.com>
>
> - Following Setting up the Extensible SDK environment directly in a Yocto build
>   https://docs.yoctoproject.org/4.0.14/sdk-manual/extensible.html#setting-up-the-extensible-sdk-environment-directly-in-a-yocto-build
>   The generated environment file does not point to the
>   correct sysroot folder, then the end user is not able
>   to cross-compile by sourcing the file.
>
> - The same for kirkstone-4.0.10
>
> - By analyzing
>   https://lore.kernel.org/all/20220622103312.1098389-3-alex@linutronix.de/T/#m7eadf6c722410f5b233ebba9fc700a895af9f052
>   I found that changes apllied to
>   meta/classes/toolchain-scripts.bbclass
>   solve the issue.
>
> Suggested-by: Alexander Kanavin <alex.kanavin@gmail.com>
> Signed-off-by: Alberto Merciai <alb3rt0.m3rciai@gmail.com>
>
> diff --git a/meta/classes/toolchain-scripts.bbclass b/meta/classes/toolchain-scripts.bbclass
> index d735d434e6..ec50a1efa0 100644
> --- a/meta/classes/toolchain-scripts.bbclass
> +++ b/meta/classes/toolchain-scripts.bbclass
> @@ -70,15 +70,23 @@ toolchain_create_tree_env_script () {
>         script=${TMPDIR}/environment-setup-${REAL_MULTIMACH_TARGET_SYS}
>         rm -f $script
>         touch $script
> +       echo 'standalone_sysroot_target="${STAGING_DIR}/${MACHINE}"' >> $script
> +       echo 'standalone_sysroot_native="${STAGING_DIR}/${BUILD_ARCH}"' >> $script
>         echo 'orig=`pwd`; cd ${COREBASE}; . ./oe-init-build-env ${TOPDIR}; cd $orig' >> $script
> -       echo 'export PATH=${STAGING_DIR_NATIVE}/usr/bin:${STAGING_BINDIR_TOOLCHAIN}:$PATH' >> $script
> -       echo 'export PKG_CONFIG_SYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR}' >> $script
> -       echo 'export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}' >> $script
> +
> +       echo 'export PATH=$standalone_sysroot_native/${bindir_native}:$standalone_sysroot_native/${bindir_native}/${TARGET_SYS}:$PATH' >> $script
> +       echo 'export PKG_CONFIG_SYSROOT_DIR=$standalone_sysroot_target' >> $script
> +       echo 'export PKG_CONFIG_PATH=$standalone_sysroot_target'"$libdir"'/pkgconfig:$standalone_sysroot_target'"$prefix"'/share/pkgconfig' >> $script
> +
>         echo 'export CONFIG_SITE="${CONFIG_SITE}"' >> $script
> -       echo 'export SDKTARGETSYSROOT=${STAGING_DIR_TARGET}' >> $script
> -       echo 'export OECORE_NATIVE_SYSROOT="${STAGING_DIR_NATIVE}"' >> $script
> -       echo 'export OECORE_TARGET_SYSROOT="${STAGING_DIR_TARGET}"' >> $script
> -       echo 'export OECORE_ACLOCAL_OPTS="-I ${STAGING_DIR_NATIVE}/usr/share/aclocal"' >> $script
> +
> +       echo 'export SDKTARGETSYSROOT=$standalone_sysroot_target' >> $script
> +       echo 'export OECORE_NATIVE_SYSROOT=$standalone_sysroot_native' >> $script
> +       echo 'export OECORE_TARGET_SYSROOT=$standalone_sysroot_target' >> $script
> +       echo 'export OECORE_ACLOCAL_OPTS="-I $standalone_sysroot_native/usr/share/aclocal"' >> $script
> +       echo 'export OECORE_BASELIB="${baselib}"' >> $script
> +       echo 'export OECORE_TARGET_ARCH="${TARGET_ARCH}"' >>$script
> +       echo 'export OECORE_TARGET_OS="${TARGET_OS}"' >>$script
>
>         toolchain_shared_env_script
>  }
> --
> 2.34.1
>
diff mbox series

Patch

diff --git a/meta/classes/toolchain-scripts.bbclass b/meta/classes/toolchain-scripts.bbclass
index d735d434e6..ec50a1efa0 100644
--- a/meta/classes/toolchain-scripts.bbclass
+++ b/meta/classes/toolchain-scripts.bbclass
@@ -70,15 +70,23 @@  toolchain_create_tree_env_script () {
 	script=${TMPDIR}/environment-setup-${REAL_MULTIMACH_TARGET_SYS}
 	rm -f $script
 	touch $script
+	echo 'standalone_sysroot_target="${STAGING_DIR}/${MACHINE}"' >> $script
+	echo 'standalone_sysroot_native="${STAGING_DIR}/${BUILD_ARCH}"' >> $script
 	echo 'orig=`pwd`; cd ${COREBASE}; . ./oe-init-build-env ${TOPDIR}; cd $orig' >> $script
-	echo 'export PATH=${STAGING_DIR_NATIVE}/usr/bin:${STAGING_BINDIR_TOOLCHAIN}:$PATH' >> $script
-	echo 'export PKG_CONFIG_SYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR}' >> $script
-	echo 'export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}' >> $script
+
+	echo 'export PATH=$standalone_sysroot_native/${bindir_native}:$standalone_sysroot_native/${bindir_native}/${TARGET_SYS}:$PATH' >> $script
+	echo 'export PKG_CONFIG_SYSROOT_DIR=$standalone_sysroot_target' >> $script
+	echo 'export PKG_CONFIG_PATH=$standalone_sysroot_target'"$libdir"'/pkgconfig:$standalone_sysroot_target'"$prefix"'/share/pkgconfig' >> $script
+
 	echo 'export CONFIG_SITE="${CONFIG_SITE}"' >> $script
-	echo 'export SDKTARGETSYSROOT=${STAGING_DIR_TARGET}' >> $script
-	echo 'export OECORE_NATIVE_SYSROOT="${STAGING_DIR_NATIVE}"' >> $script
-	echo 'export OECORE_TARGET_SYSROOT="${STAGING_DIR_TARGET}"' >> $script
-	echo 'export OECORE_ACLOCAL_OPTS="-I ${STAGING_DIR_NATIVE}/usr/share/aclocal"' >> $script
+
+	echo 'export SDKTARGETSYSROOT=$standalone_sysroot_target' >> $script
+	echo 'export OECORE_NATIVE_SYSROOT=$standalone_sysroot_native' >> $script
+	echo 'export OECORE_TARGET_SYSROOT=$standalone_sysroot_target' >> $script
+	echo 'export OECORE_ACLOCAL_OPTS="-I $standalone_sysroot_native/usr/share/aclocal"' >> $script
+	echo 'export OECORE_BASELIB="${baselib}"' >> $script
+	echo 'export OECORE_TARGET_ARCH="${TARGET_ARCH}"' >>$script
+	echo 'export OECORE_TARGET_OS="${TARGET_OS}"' >>$script
 
 	toolchain_shared_env_script
 }