package/nvidia-driver: don't install gl.pc when not providing libgl
authorYann E. MORIN <yann.morin.1998@free.fr>
Fri, 24 Apr 2015 21:39:57 +0000 (23:39 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 25 Apr 2015 08:34:41 +0000 (10:34 +0200)
When nvidia-driver does not provide libgl (i.e. when it does not install
the X.org driver), it should also not install gl.pc, otherwise, packages
that depend on pkg-config will mis-detect presence of GL and fail to
build, like vlc:

    http://autobuild.buildroot.org/results/724/724fce8ce51c2c0578192b1369a1cfcea3d72638/

So, only install gl.pc when we install the X.org driver. Similarly, we
do not need to install libGL.la either.

Reported-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
Reviewed-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/nvidia-driver/nvidia-driver.mk

index a85cc1cd1171a6e2e16eac3346e40f16cbe94be8..71babfbf1b5b83e941cd739ae15ee5c0a8035dde 100644 (file)
@@ -40,6 +40,15 @@ NVIDIA_DRIVER_LIBS = \
        libvdpau libvdpau_nvidia \
        libnvidia-ml
 
+# Install the gl.pc file
+define NVIDIA_DRIVER_INSTALL_GL_DEV
+       $(INSTALL) -D -m 0644 $(@D)/libGL.la $(STAGING_DIR)/usr/lib/libGL.la
+       $(SED) 's:__GENERATED_BY__:Buildroot:' $(STAGING_DIR)/usr/lib/libGL.la
+       $(SED) 's:__LIBGL_PATH__:/usr/lib:' $(STAGING_DIR)/usr/lib/libGL.la
+       $(SED) 's:-L[^[:space:]]\+::' $(STAGING_DIR)/usr/lib/libGL.la
+       $(INSTALL) -D -m 0644 package/nvidia-driver/gl.pc $(STAGING_DIR)/usr/lib/pkgconfig/gl.pc
+endef
+
 # Those libraries are 'private' libraries requiring an agreement with
 # NVidia to develop code for those libs. There seems to be no restriction
 # on using those libraries (e.g. if the user has such an agreement, or
@@ -154,11 +163,7 @@ endef
 # For staging, install libraries and development files
 define NVIDIA_DRIVER_INSTALL_STAGING_CMDS
        $(call NVIDIA_DRIVER_INSTALL_LIBS,$(STAGING_DIR))
-       $(INSTALL) -D -m 0644 $(@D)/libGL.la $(STAGING_DIR)/usr/lib/libGL.la
-       $(SED) 's:__GENERATED_BY__:Buildroot:' $(STAGING_DIR)/usr/lib/libGL.la
-       $(SED) 's:__LIBGL_PATH__:/usr/lib:' $(STAGING_DIR)/usr/lib/libGL.la
-       $(SED) 's:-L[^[:space:]]\+::' $(STAGING_DIR)/usr/lib/libGL.la
-       $(INSTALL) -D -m 0644 package/nvidia-driver/gl.pc $(STAGING_DIR)/usr/lib/pkgconfig/gl.pc
+       $(NVIDIA_DRIVER_INSTALL_GL_DEV)
 endef
 
 # For target, install libraries and X.org modules