[Buildroot] [v6, 02/15] gpu-viv-bin-mx6q: fix compiling issues with EGL_API_FB

Gary Bisson gary.bisson at boundarydevices.com
Thu Apr 30 08:21:45 UTC 2015


Hi all,

On Sat, Jan 17, 2015 at 12:33:58AM +0100, Jérôme Pouiller wrote:
> To compile with Vivante header and use framebuffer, it is necessary to
> pass option -DEGL_API_FB. This option is declared in pkg-config file of
> Vivante library. But many packages (especialy qt5 components) does not
> consider these flags.
> 
> So instead of patching every packages that use EGL, it is more
> convenient to patch Vivante headers.
> 
> This commit add #define EGL_API_FB on top of eglvivante.h when
> necessary.
> 
> Signed-off-by: Jérôme Pouiller <jezz at sysmic.org>
> ---
>  package/freescale-imx/gpu-viv-bin-mx6q/egl.pc              |  2 +-
>  package/freescale-imx/gpu-viv-bin-mx6q/glesv2.pc           |  2 +-
>  package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk | 10 ++++++----
>  package/freescale-imx/gpu-viv-bin-mx6q/vg.pc               |  2 +-
>  4 files changed, 9 insertions(+), 7 deletions(-)
> 
> diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/egl.pc b/package/freescale-imx/gpu-viv-bin-mx6q/egl.pc
> index c984247..d1d09a0 100644
> --- a/package/freescale-imx/gpu-viv-bin-mx6q/egl.pc
> +++ b/package/freescale-imx/gpu-viv-bin-mx6q/egl.pc
> @@ -7,4 +7,4 @@ Name: egl
>  Description: Freescale gpu-viv-bin-mx6q implementation of EGL
>  Version: 1.0
>  Libs: -L${libdir} -lGAL -lEGL
> -Cflags: -I${includedir}/ -DEGL_API_FB=1
> +Cflags: -I${includedir}/
> diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/glesv2.pc b/package/freescale-imx/gpu-viv-bin-mx6q/glesv2.pc
> index 7cfb5e7..74ce792 100644
> --- a/package/freescale-imx/gpu-viv-bin-mx6q/glesv2.pc
> +++ b/package/freescale-imx/gpu-viv-bin-mx6q/glesv2.pc
> @@ -7,4 +7,4 @@ Name: glesv2
>  Description: Freescale gpu-viv-bin-mx6q implementation of OpenGL ESv2
>  Version: 2.0
>  Libs: -L${libdir} -lGAL -lEGL -lGLESv2
> -Cflags: -I${includedir}/ -DEGL_API_FB=1
> +Cflags: -I${includedir}/
> diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
> index 79c7a92..eb54b80 100644
> --- a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
> +++ b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
> @@ -48,14 +48,16 @@ endef
>  
>  define GPU_VIV_BIN_MX6Q_INSTALL_STAGING_CMDS
>  	cp -r $(@D)/usr/* $(STAGING_DIR)/usr
> +	if [ $(GPU_VIV_BIN_MX6Q_LIB_TARGET) == fb ]; then \
> +		$(SED) '/#define EGLAPIENTRY/ a \
> +			#if !defined(EGL_API_X11) && !defined(EGL_API_DFB) && !defined(EGL_API_FB) \n\
> +			#define EGL_API_FB \n\
> +			#endif' $(STAGING_DIR)/usr/include/EGL/eglvivante.h; \
> +	fi
>  	for lib in egl glesv2 vg; do \
>  		$(INSTALL) -m 0644 -D \
>  			package/freescale-imx/gpu-viv-bin-mx6q/$${lib}.pc \
>  			$(STAGING_DIR)/usr/lib/pkgconfig/$${lib}.pc; \
> -		if [ "$(GPU_VIV_BIN_MX6Q_LIB_TARGET)" != "fb" ]; then \
> -			$(SED) "s/-DEGL_API_FB=1//" \
> -				$(STAGING_DIR)/usr/lib/pkgconfig/$${lib}.pc; \
> -		fi; \
>  	done
>  endef
>  
> diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/vg.pc b/package/freescale-imx/gpu-viv-bin-mx6q/vg.pc
> index fb14005..677a7ee 100644
> --- a/package/freescale-imx/gpu-viv-bin-mx6q/vg.pc
> +++ b/package/freescale-imx/gpu-viv-bin-mx6q/vg.pc
> @@ -7,4 +7,4 @@ Name: vg
>  Description: Freescale gpu-viv-bin-mx6q implementation of OpenVG
>  Version: 1.1
>  Libs: -L${libdir} -lGAL -lEGL -lOpenVG
> -Cflags: -I${includedir}/ -DEGL_API_FB=1
> +Cflags: -I${includedir}/

As explained in my answer to the cover letter, this series of patch has
been successfully tested on a Nitrogen6x board.
http://lists.busybox.net/pipermail/buildroot/2015-April/124739.html

Tested-by: Gary Bisson <gary.bisson at boundarydevices.com>

Regards,
Gary


More information about the buildroot mailing list