From ce7b145f2901389c02ed7637be4f65f4c26ffe4d Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sat, 23 Mar 2019 13:43:13 +0100 Subject: [PATCH] bcm2835-driver: install GL libs only if using bcm2835 GLES driver Signed-off-by: Matthias Reichl --- packages/graphics/bcm2835-driver/package.mk | 48 +++++++++++++++------ 1 file changed, 36 insertions(+), 12 deletions(-) diff --git a/packages/graphics/bcm2835-driver/package.mk b/packages/graphics/bcm2835-driver/package.mk index e6c387260e..4e3372b4bf 100644 --- a/packages/graphics/bcm2835-driver/package.mk +++ b/packages/graphics/bcm2835-driver/package.mk @@ -22,15 +22,31 @@ fi make_target() { # Install vendor header files mkdir -p ${SYSROOT_PREFIX}/usr/include - cp -PRv ${PKG_FLOAT}/opt/vc/include/* ${SYSROOT_PREFIX}/usr/include + if [ "${OPENGLES}" = "bcm2835-driver" ]; then + cp -PRv ${PKG_FLOAT}/opt/vc/include/* ${SYSROOT_PREFIX}/usr/include + else + for f in $(cd ${PKG_FLOAT}/opt/vc/include; ls | grep -v "GL"); do + cp -PRv ${PKG_FLOAT}/opt/vc/include/$f ${SYSROOT_PREFIX}/usr/include + done + fi # Install EGL, OpenGL ES, Open VG, etc. vendor libs & pkgconfigs mkdir -p ${SYSROOT_PREFIX}/usr/lib - cp -PRv ${PKG_FLOAT}/opt/vc/lib/*.so ${SYSROOT_PREFIX}/usr/lib - ln -sf ${SYSROOT_PREFIX}/usr/lib/libbrcmEGL.so ${SYSROOT_PREFIX}/usr/lib/libEGL.so - ln -sf ${SYSROOT_PREFIX}/usr/lib/libbrcmGLESv2.so ${SYSROOT_PREFIX}/usr/lib/libGLESv2.so - cp -PRv ${PKG_FLOAT}/opt/vc/lib/*.a ${SYSROOT_PREFIX}/usr/lib - cp -PRv ${PKG_FLOAT}/opt/vc/lib/pkgconfig ${SYSROOT_PREFIX}/usr/lib + if [ "${OPENGLES}" = "bcm2835-driver" ]; then + cp -PRv ${PKG_FLOAT}/opt/vc/lib/*.so ${SYSROOT_PREFIX}/usr/lib + ln -sf ${SYSROOT_PREFIX}/usr/lib/libbrcmEGL.so ${SYSROOT_PREFIX}/usr/lib/libEGL.so + ln -sf ${SYSROOT_PREFIX}/usr/lib/libbrcmGLESv2.so ${SYSROOT_PREFIX}/usr/lib/libGLESv2.so + cp -PRv ${PKG_FLOAT}/opt/vc/lib/*.a ${SYSROOT_PREFIX}/usr/lib + cp -PRv ${PKG_FLOAT}/opt/vc/lib/pkgconfig ${SYSROOT_PREFIX}/usr/lib + else + for f in $(cd ${PKG_FLOAT}/opt/vc/lib; ls *.so *.a | grep -v "GL"); do + cp -PRv ${PKG_FLOAT}/opt/vc/lib/$f ${SYSROOT_PREFIX}/usr/lib + done + mkdir -p ${SYSROOT_PREFIX}/usr/lib/pkgconfig + for f in $(cd ${PKG_FLOAT}/opt/vc/lib/pkgconfig; ls | grep -v "gl"); do + cp -PRv ${PKG_FLOAT}/opt/vc/lib/pkgconfig/$f ${SYSROOT_PREFIX}/usr/lib/pkgconfig + done + fi # Update prefix in vendor pkgconfig files for PKG_CONFIGS in $(find "${SYSROOT_PREFIX}/usr/lib" -type f -name "*.pc" 2>/dev/null); do @@ -46,11 +62,17 @@ make_target() { makeinstall_target() { # Install EGL, OpenGL ES and other vendor libs mkdir -p ${INSTALL}/usr/lib - cp -PRv ${PKG_FLOAT}/opt/vc/lib/*.so ${INSTALL}/usr/lib - ln -sf /usr/lib/libbrcmEGL.so ${INSTALL}/usr/lib/libEGL.so - ln -sf /usr/lib/libbrcmEGL.so ${INSTALL}/usr/lib/libEGL.so.1 - ln -sf /usr/lib/libbrcmGLESv2.so ${INSTALL}/usr/lib/libGLESv2.so - ln -sf /usr/lib/libbrcmGLESv2.so ${INSTALL}/usr/lib/libGLESv2.so.2 + if [ "${OPENGLES}" = "bcm2835-driver" ]; then + cp -PRv ${PKG_FLOAT}/opt/vc/lib/*.so ${INSTALL}/usr/lib + ln -sf /usr/lib/libbrcmEGL.so ${INSTALL}/usr/lib/libEGL.so + ln -sf /usr/lib/libbrcmEGL.so ${INSTALL}/usr/lib/libEGL.so.1 + ln -sf /usr/lib/libbrcmGLESv2.so ${INSTALL}/usr/lib/libGLESv2.so + ln -sf /usr/lib/libbrcmGLESv2.so ${INSTALL}/usr/lib/libGLESv2.so.2 + else + for f in $(cd ${PKG_FLOAT}/opt/vc/lib; ls *.so | grep -v "GL"); do + cp -PRv ${PKG_FLOAT}/opt/vc/lib/$f ${INSTALL}/usr/lib + done + fi # Install useful tools mkdir -p ${INSTALL}/usr/bin @@ -68,5 +90,7 @@ makeinstall_target() { post_install() { # unbind Framebuffer console - enable_service unbind-console.service + if [ "${OPENGLES}" = "bcm2835-driver" ]; then + enable_service unbind-console.service + fi }