[1/1] u-boot-tools: fix compile error

Submitted by Kang Kai on Nov. 30, 2018, 1:58 a.m. | Patch ID: 156756

Details

Message ID 3fa72e2dcc40d2f20f8f4350d0a5817f90aca805.1543542953.git.kai.kang@windriver.com
State Accepted
Commit f79039497a6bb8521d5dc076924b6eb2626607c5
Headers show

Commit Message

Kang Kai Nov. 30, 2018, 1:58 a.m.
From: Kai Kang <kai.kang@windriver.com>

It uses sandbox_defconfig to produce u-boot tools. But EFI is only
supported by arm and x86, then it fails to run task do_compile on other
arches:

| include/config_distro_bootcmd.h:267:3: error: #error "sandbox EFI
| support is only supported on ARM and x86"

Only enable EFI support for u-boot-tools on x86 and arm to fix the issue.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
 meta/recipes-bsp/u-boot/u-boot-tools_2018.11.bb | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

Patch hide | download patch | download mbox

diff --git a/meta/recipes-bsp/u-boot/u-boot-tools_2018.11.bb b/meta/recipes-bsp/u-boot/u-boot-tools_2018.11.bb
index 127c4c15d1..7893d2aebc 100644
--- a/meta/recipes-bsp/u-boot/u-boot-tools_2018.11.bb
+++ b/meta/recipes-bsp/u-boot/u-boot-tools_2018.11.bb
@@ -17,13 +17,20 @@  EXTRA_OEMAKE_class-target = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC} ${CFLAGS
 EXTRA_OEMAKE_class-native = 'CC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
 EXTRA_OEMAKE_class-nativesdk = 'CROSS_COMPILE="${HOST_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
 
+SED_CONFIG_EFI = '-e "s/CONFIG_EFI_LOADER=.*/# CONFIG_EFI_LOADER is not set/"'
+SED_CONFIG_EFI_x86 = ''
+SED_CONFIG_EFI_x86-64 = ''
+SED_CONFIG_EFI_arm = ''
+SED_CONFIG_EFI_armeb = ''
+SED_CONFIG_EFI_aarch64 = ''
+
 do_compile () {
 	oe_runmake sandbox_defconfig
 
 	# Disable CONFIG_CMD_LICENSE, license.h is not used by tools and
 	# generating it requires bin2header tool, which for target build
 	# is built with target tools and thus cannot be executed on host.
-	sed -i "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" .config
+	sed -i -e "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" ${SED_CONFIG_EFI} .config
 
 	oe_runmake cross_tools NO_SDL=1
 }

Comments

Khem Raj Dec. 6, 2018, 5:43 a.m.
Richard,

Please pick this patch up. This fixes the build issue for this recipe
on every architecture besides arm/x86
e.g. see http://errors.yoctoproject.org/Errors/Details/203569/
On Thu, Nov 29, 2018 at 5:59 PM <kai.kang@windriver.com> wrote:
>
> From: Kai Kang <kai.kang@windriver.com>
>
> It uses sandbox_defconfig to produce u-boot tools. But EFI is only
> supported by arm and x86, then it fails to run task do_compile on other
> arches:
>
> | include/config_distro_bootcmd.h:267:3: error: #error "sandbox EFI
> | support is only supported on ARM and x86"
>
> Only enable EFI support for u-boot-tools on x86 and arm to fix the issue.
>
> Signed-off-by: Kai Kang <kai.kang@windriver.com>
> ---
>  meta/recipes-bsp/u-boot/u-boot-tools_2018.11.bb | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/meta/recipes-bsp/u-boot/u-boot-tools_2018.11.bb b/meta/recipes-bsp/u-boot/u-boot-tools_2018.11.bb
> index 127c4c15d1..7893d2aebc 100644
> --- a/meta/recipes-bsp/u-boot/u-boot-tools_2018.11.bb
> +++ b/meta/recipes-bsp/u-boot/u-boot-tools_2018.11.bb
> @@ -17,13 +17,20 @@ EXTRA_OEMAKE_class-target = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC} ${CFLAGS
>  EXTRA_OEMAKE_class-native = 'CC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
>  EXTRA_OEMAKE_class-nativesdk = 'CROSS_COMPILE="${HOST_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
>
> +SED_CONFIG_EFI = '-e "s/CONFIG_EFI_LOADER=.*/# CONFIG_EFI_LOADER is not set/"'
> +SED_CONFIG_EFI_x86 = ''
> +SED_CONFIG_EFI_x86-64 = ''
> +SED_CONFIG_EFI_arm = ''
> +SED_CONFIG_EFI_armeb = ''
> +SED_CONFIG_EFI_aarch64 = ''
> +
>  do_compile () {
>         oe_runmake sandbox_defconfig
>
>         # Disable CONFIG_CMD_LICENSE, license.h is not used by tools and
>         # generating it requires bin2header tool, which for target build
>         # is built with target tools and thus cannot be executed on host.
> -       sed -i "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" .config
> +       sed -i -e "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" ${SED_CONFIG_EFI} .config
>
>         oe_runmake cross_tools NO_SDL=1
>  }
> --
> 2.19.0.rc2
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core