diff mbox series

package/rpi-userland: support ARM64 build

Message ID CAEXMXLSj4tsDDdHcidQo+kFy61TiB00GMfp9SSuewu5eMnA+wQ@mail.gmail.com
State Changes Requested
Headers show
Series package/rpi-userland: support ARM64 build | expand

Commit Message

Nuno Gonçalves Aug. 20, 2022, 5:35 p.m. UTC
Signed-off-by: Nuno Gonçalves <nunojpg@gmail.com>
---
 package/rpi-userland/Config.in       | 2 +-
 package/rpi-userland/rpi-userland.mk | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

--
2.37.2

Comments

Yann E. MORIN Aug. 20, 2022, 6:38 p.m. UTC | #1
Nuno, All,

On 2022-08-20 18:35 +0100, Nuno Gonçalves spake thusly:
> Signed-off-by: Nuno Gonçalves <nunojpg@gmail.com>

Thanks for submitting this patch.

This has been proposed quite a few times already:

    http://lists.busybox.net/pipermail/buildroot/2020-August/289559.html
    http://lists.busybox.net/pipermail/buildroot/2020-January/271577.html
    https://lore.kernel.org/buildroot/20201017082525.GF3466@scaer/

And there were at the time quite a lot of concerns about it, and a
conclusion that arm64 was in fact not trule supported.

In short, on arm64, the set of libraries was not the same as that on
arm32, and so rpi-userland could not be, in arm64, a provider for
OpneGLES, OpenGL-EGL, or OpenMAX.

And I'll quote my previous reply:

Has that situation improved now?

If the situation is better now, then please address that in the commit
log. If not, please see the the aforementioned threads for suggested
improvements (like making the EGL/GLES/OPENMAX provider conditional).

Please note that there is one big question, about libfdt, in one of
those threads, which must be addressed too (although it does not seem to
be AArch64-related?).

For now, I've marked this patch as changes requested.

Regards,
Yann E. MORIN.

> ---
>  package/rpi-userland/Config.in       | 2 +-
>  package/rpi-userland/rpi-userland.mk | 4 ++++
>  2 files changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/package/rpi-userland/Config.in b/package/rpi-userland/Config.in
> index 342faf26e3..809ec6a6a2 100644
> --- a/package/rpi-userland/Config.in
> +++ b/package/rpi-userland/Config.in
> @@ -1,6 +1,6 @@
>  config BR2_PACKAGE_RPI_USERLAND
>   bool "rpi-userland"
> - depends on BR2_arm
> + depends on BR2_arm || BR2_aarch64
>   depends on BR2_INSTALL_LIBSTDCPP
>   depends on BR2_TOOLCHAIN_HAS_THREADS
>   depends on !BR2_STATIC_LIBS
> diff --git a/package/rpi-userland/rpi-userland.mk
> b/package/rpi-userland/rpi-userland.mk
> index 1204196e19..4ea51fa7f5 100644
> --- a/package/rpi-userland/rpi-userland.mk
> +++ b/package/rpi-userland/rpi-userland.mk
> @@ -17,6 +17,10 @@ ifeq ($(BR2_PACKAGE_LIBEXECINFO),y)
>  RPI_USERLAND_DEPENDENCIES += libexecinfo
>  endif
> 
> +ifeq ($(BR2_aarch64),y)
> +RPI_USERLAND_CONF_OPTS += -DARM64=1
> +endif
> +
>  ifeq ($(BR2_PACKAGE_RPI_USERLAND_HELLO),y)
> 
>  RPI_USERLAND_CONF_OPTS += -DALL_APPS=ON
> --
> 2.37.2
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
diff mbox series

Patch

diff --git a/package/rpi-userland/Config.in b/package/rpi-userland/Config.in
index 342faf26e3..809ec6a6a2 100644
--- a/package/rpi-userland/Config.in
+++ b/package/rpi-userland/Config.in
@@ -1,6 +1,6 @@ 
 config BR2_PACKAGE_RPI_USERLAND
  bool "rpi-userland"
- depends on BR2_arm
+ depends on BR2_arm || BR2_aarch64
  depends on BR2_INSTALL_LIBSTDCPP
  depends on BR2_TOOLCHAIN_HAS_THREADS
  depends on !BR2_STATIC_LIBS
diff --git a/package/rpi-userland/rpi-userland.mk
b/package/rpi-userland/rpi-userland.mk
index 1204196e19..4ea51fa7f5 100644
--- a/package/rpi-userland/rpi-userland.mk
+++ b/package/rpi-userland/rpi-userland.mk
@@ -17,6 +17,10 @@  ifeq ($(BR2_PACKAGE_LIBEXECINFO),y)
 RPI_USERLAND_DEPENDENCIES += libexecinfo
 endif

+ifeq ($(BR2_aarch64),y)
+RPI_USERLAND_CONF_OPTS += -DARM64=1
+endif
+
 ifeq ($(BR2_PACKAGE_RPI_USERLAND_HELLO),y)

 RPI_USERLAND_CONF_OPTS += -DALL_APPS=ON