diff mbox series

[1/1] package/rpi-userland: build on arm64

Message ID 20201017011356.50029-1-aman@tmm1.net
State Changes Requested
Headers show
Series [1/1] package/rpi-userland: build on arm64 | expand

Commit Message

Aman Karmani Oct. 17, 2020, 1:13 a.m. UTC
Parts of the userland (such as `vcgencmd`) are now usable on aarch64

Signed-off-by: Aman Karmani <aman@tmm1.net>
---
 package/rpi-userland/Config.in       | 4 ++--
 package/rpi-userland/rpi-userland.mk | 6 ++++++
 2 files changed, 8 insertions(+), 2 deletions(-)

Comments

Yann E. MORIN Oct. 17, 2020, 8:25 a.m. UTC | #1
Aman, All,

Thanks fior this patch. However, I have some comments about it, see
below...

On 2020-10-16 18:13 -0700, Aman Karmani spake thusly:
> Parts of the userland (such as `vcgencmd`) are now usable on aarch64

This has already been proposed a few times already (review all the
messages in those threads):

    http://lists.busybox.net/pipermail/buildroot/2020-August/289559.html
    http://lists.busybox.net/pipermail/buildroot/2020-January/271577.html

There, it was pointed out that the set of libraries instaleld on AArch64
is different from AArch32, and most notably "no libegl, libgles,
libopenmax, libopenvg" are built and installed.

This means that rpi-userland couldn't be an EGL or GLES or OPENMAX
provider when building for AArch64.

Has that situation improved now?

Regards,
Yann E. MORIN.

> Signed-off-by: Aman Karmani <aman@tmm1.net>
> ---
>  package/rpi-userland/Config.in       | 4 ++--
>  package/rpi-userland/rpi-userland.mk | 6 ++++++
>  2 files changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/package/rpi-userland/Config.in b/package/rpi-userland/Config.in
> index 342faf26e3..81f3588822 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
> @@ -40,6 +40,6 @@ config BR2_PACKAGE_RPI_USERLAND_HELLO
>  endif
>  
>  comment "rpi-userland needs a toolchain w/ C++, threads, dynamic library"
> -	depends on BR2_arm
> +	depends on BR2_arm || BR2_aarch64
>  	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
>  		BR2_STATIC_LIBS
> diff --git a/package/rpi-userland/rpi-userland.mk b/package/rpi-userland/rpi-userland.mk
> index 4cfd5cb832..97270f2eb4 100644
> --- a/package/rpi-userland/rpi-userland.mk
> +++ b/package/rpi-userland/rpi-userland.mk
> @@ -13,6 +13,12 @@ RPI_USERLAND_CONF_OPTS = -DVMCS_INSTALL_PREFIX=/usr
>  
>  RPI_USERLAND_PROVIDES = libegl libgles libopenmax libopenvg
>  
> +ifeq ($(BR2_aarch64),y)
> +
> +RPI_USERLAND_CONF_OPTS += -DARM64=ON
> +
> +endif
> +
>  ifeq ($(BR2_PACKAGE_RPI_USERLAND_HELLO),y)
>  
>  RPI_USERLAND_CONF_OPTS += -DALL_APPS=ON
> -- 
> 2.28.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Yann E. MORIN Oct. 17, 2020, 8:32 a.m. UTC | #2
Aman, All,

[sorry, I hit 'send' too early; see more review below...]

On 2020-10-17 10:25 +0200, Yann E. MORIN spake thusly:
> On 2020-10-16 18:13 -0700, Aman Karmani spake thusly:
> > Parts of the userland (such as `vcgencmd`) are now usable on aarch64
> This has already been proposed a few times already (review all the
> messages in those threads):
> 
>     http://lists.busybox.net/pipermail/buildroot/2020-August/289559.html
>     http://lists.busybox.net/pipermail/buildroot/2020-January/271577.html
> 
> There, it was pointed out that the set of libraries instaleld on AArch64
> is different from AArch32, and most notably "no libegl, libgles,
> libopenmax, libopenvg" are built and installed.
> 
> This means that rpi-userland couldn't be an EGL or GLES or OPENMAX
> provider when building for AArch64.
> 
> 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.
diff mbox series

Patch

diff --git a/package/rpi-userland/Config.in b/package/rpi-userland/Config.in
index 342faf26e3..81f3588822 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
@@ -40,6 +40,6 @@  config BR2_PACKAGE_RPI_USERLAND_HELLO
 endif
 
 comment "rpi-userland needs a toolchain w/ C++, threads, dynamic library"
-	depends on BR2_arm
+	depends on BR2_arm || BR2_aarch64
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
 		BR2_STATIC_LIBS
diff --git a/package/rpi-userland/rpi-userland.mk b/package/rpi-userland/rpi-userland.mk
index 4cfd5cb832..97270f2eb4 100644
--- a/package/rpi-userland/rpi-userland.mk
+++ b/package/rpi-userland/rpi-userland.mk
@@ -13,6 +13,12 @@  RPI_USERLAND_CONF_OPTS = -DVMCS_INSTALL_PREFIX=/usr
 
 RPI_USERLAND_PROVIDES = libegl libgles libopenmax libopenvg
 
+ifeq ($(BR2_aarch64),y)
+
+RPI_USERLAND_CONF_OPTS += -DARM64=ON
+
+endif
+
 ifeq ($(BR2_PACKAGE_RPI_USERLAND_HELLO),y)
 
 RPI_USERLAND_CONF_OPTS += -DALL_APPS=ON