diff mbox

[v2,1/1] package/mesa3d: Remove libGL headers/pkgconfig when OpenGL is disabled

Message ID 1433711482-32265-1-git-send-email-bernd.kuhls@t-online.de
State Accepted
Headers show

Commit Message

Bernd Kuhls June 7, 2015, 9:11 p.m. UTC
mesa3d defaults to --enable-opengl due to its weird configure.ac:
http://git.buildroot.net/buildroot/commit/package/mesa3d/mesa3d.mk?id=384d601d4ea2c41bb7928f756bfe88af4d38b38b

This leads to include/GL/*.h and lib/pkgconfig/gl.pc being installed to
STAGING_DIR. These files are enough for other packages to wrongly assume
that libGL.so is present, like vlc.

Fixes
http://autobuild.buildroot.net/results/e63/e639dabfb260006acb8a204851b96f9275ce53a7/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v2: Instead of fixing vlc´s libGL detection let´s remove the superfluous
    files installed by mesa3d (Yann)

 package/mesa3d/mesa3d.mk |   10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

Comments

Yann E. MORIN July 10, 2015, 10:24 p.m. UTC | #1
Bernd, All,

On 2015-06-07 23:11 +0200, Bernd Kuhls spake thusly:
> mesa3d defaults to --enable-opengl due to its weird configure.ac:
> http://git.buildroot.net/buildroot/commit/package/mesa3d/mesa3d.mk?id=384d601d4ea2c41bb7928f756bfe88af4d38b38b
> 
> This leads to include/GL/*.h and lib/pkgconfig/gl.pc being installed to
> STAGING_DIR. These files are enough for other packages to wrongly assume
> that libGL.so is present, like vlc.
> 
> Fixes
> http://autobuild.buildroot.net/results/e63/e639dabfb260006acb8a204851b96f9275ce53a7/
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>

Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
> v2: Instead of fixing vlc´s libGL detection let´s remove the superfluous
>     files installed by mesa3d (Yann)
> 
>  package/mesa3d/mesa3d.mk |   10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
> index 4a419de..669eada 100644
> --- a/package/mesa3d/mesa3d.mk
> +++ b/package/mesa3d/mesa3d.mk
> @@ -77,9 +77,16 @@ MESA3D_CONF_OPTS += \
>  	--with-gallium-drivers=$(subst $(space),$(comma),$(MESA3D_GALLIUM_DRIVERS-y))
>  endif
>  
> +define MESA3D_REMOVE_OPENGL_PC
> +	rm -f $(STAGING_DIR)/usr/lib/pkgconfig/dri.pc
> +	rm -f $(STAGING_DIR)/usr/lib/pkgconfig/gl.pc
> +	rm -rf $(STAGING_DIR)/usr/include/GL/
> +endef
> +
>  ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),)
>  MESA3D_CONF_OPTS += \
>  	--without-dri-drivers --without-dri --disable-dri3
> +MESA3D_POST_INSTALL_STAGING_HOOKS += MESA3D_REMOVE_OPENGL_PC
>  else
>  ifeq ($(BR2_PACKAGE_XPROTO_DRI3PROTO),y)
>  MESA3D_DEPENDENCIES += xlib_libxshmfence xproto_dri3proto xproto_presentproto
> @@ -102,7 +109,8 @@ endif
>  
>  # Always enable OpenGL:
>  #   - it is needed for GLES (mesa3d's ./configure is a bit weird)
> -#   - but if no DRI driver is enabled, then libgl is not built
> +#   - but if no DRI driver is enabled, then libgl is not built,
> +#     remove dri.pc and gl.pc in this case (MESA3D_REMOVE_OPENGL_PC)
>  MESA3D_CONF_OPTS += --enable-opengl
>  
>  ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y)
> -- 
> 1.7.10.4
> 
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Thomas Petazzoni July 10, 2015, 10:31 p.m. UTC | #2
Dear Bernd Kuhls,

On Sun,  7 Jun 2015 23:11:22 +0200, Bernd Kuhls wrote:
> mesa3d defaults to --enable-opengl due to its weird configure.ac:
> http://git.buildroot.net/buildroot/commit/package/mesa3d/mesa3d.mk?id=384d601d4ea2c41bb7928f756bfe88af4d38b38b
> 
> This leads to include/GL/*.h and lib/pkgconfig/gl.pc being installed to
> STAGING_DIR. These files are enough for other packages to wrongly assume
> that libGL.so is present, like vlc.
> 
> Fixes
> http://autobuild.buildroot.net/results/e63/e639dabfb260006acb8a204851b96f9275ce53a7/
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
> v2: Instead of fixing vlc´s libGL detection let´s remove the superfluous
>     files installed by mesa3d (Yann)

Applied, thanks.

Thomas
diff mbox

Patch

diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index 4a419de..669eada 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -77,9 +77,16 @@  MESA3D_CONF_OPTS += \
 	--with-gallium-drivers=$(subst $(space),$(comma),$(MESA3D_GALLIUM_DRIVERS-y))
 endif
 
+define MESA3D_REMOVE_OPENGL_PC
+	rm -f $(STAGING_DIR)/usr/lib/pkgconfig/dri.pc
+	rm -f $(STAGING_DIR)/usr/lib/pkgconfig/gl.pc
+	rm -rf $(STAGING_DIR)/usr/include/GL/
+endef
+
 ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),)
 MESA3D_CONF_OPTS += \
 	--without-dri-drivers --without-dri --disable-dri3
+MESA3D_POST_INSTALL_STAGING_HOOKS += MESA3D_REMOVE_OPENGL_PC
 else
 ifeq ($(BR2_PACKAGE_XPROTO_DRI3PROTO),y)
 MESA3D_DEPENDENCIES += xlib_libxshmfence xproto_dri3proto xproto_presentproto
@@ -102,7 +109,8 @@  endif
 
 # Always enable OpenGL:
 #   - it is needed for GLES (mesa3d's ./configure is a bit weird)
-#   - but if no DRI driver is enabled, then libgl is not built
+#   - but if no DRI driver is enabled, then libgl is not built,
+#     remove dri.pc and gl.pc in this case (MESA3D_REMOVE_OPENGL_PC)
 MESA3D_CONF_OPTS += --enable-opengl
 
 ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y)