ti-gfx: add new package
PATCH v4 1/2 ti-gfx: add new package
adds accelerated GPU support for the OMAP35xx, AM35xx, AM37xx, DM37xx, AM387x, C6A814x, AM389x, C6A816x, and AM335x platforms.
---
v4:
- Fix header issue with qt.
- Add eglimage version installation.
v3:
- integrate reviews from thomas.
- Add qt patch
v2:
- Take into account reviews.
- Simplfy init script.
- Fix header installation.
v1:
- Added .pc files
- all review issues addressed
RFC v3:
- all reviews addressed
- added demos
- added hard float (not runtime tested)
- added init script
- added SGX detection script (untested)
- tested on beaglexm using demos
RFC v2:
- basic working with minor issues during tests
RFC v1:
- inital revision
--- package/Config.in | 1 + package/opengl/libegl/libegl.mk | 4 + package/opengl/libgles/libgles.mk | 4 + package/ti-gfx/Config.in | 68 +++++++++ package/ti-gfx/S80ti-gfx | 54 +++++++ package/ti-gfx/egl.pc | 10 ++ package/ti-gfx/esrev.sh | 59 ++++++++ package/ti-gfx/glesv2.pc | 10 ++ package/ti-gfx/powervr.ini | 2 + package/ti-gfx/ti-gfx-km_install_modules.patch | 19 +++ package/ti-gfx/ti-gfx-newclkapi.patch | 143 ++++++++++++++++++ package/ti-gfx/ti-gfx.mk | 192 +++++++++++++++++++++++++ 12 files changed, 566 insertions(+) create mode 100644 package/ti-gfx/Config.in create mode 100644 package/ti-gfx/S80ti-gfx create mode 100644 package/ti-gfx/egl.pc create mode 100644 package/ti-gfx/esrev.sh create mode 100644 package/ti-gfx/glesv2.pc create mode 100644 package/ti-gfx/powervr.ini create mode 100644 package/ti-gfx/ti-gfx-km_install_modules.patch create mode 100644 package/ti-gfx/ti-gfx-newclkapi.patch create mode 100644 package/ti-gfx/ti-gfx.mk
package/Config.in +1 -0
@@ -292,6 +292,7 @@ source "package/snowball-hdmiservice/Config.in" source "package/sredird/Config.in" source "package/statserial/Config.in" source "package/sysstat/Config.in" +source "package/ti-gfx/Config.in" source "package/ti-utils/Config.in" source "package/uboot-tools/Config.in" source "package/udev/Config.in"
package/opengl/libegl/libegl.mk +4 -0
@@ -10,6 +10,10 @@ ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) LIBEGL_DEPENDENCIES += rpi-userland endif +ifeq ($(BR2_PACKAGE_TI_GFX),y) +LIBEGL_DEPENDENCIES += ti-gfx +endif + ifeq ($(LIBEGL_DEPENDENCIES),) define LIBEGL_CONFIGURE_CMDS echo "No libEGL implementation selected. Configuration error."
package/opengl/libgles/libgles.mk +4 -0
@@ -10,6 +10,10 @@ ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) LIBGLES_DEPENDENCIES += rpi-userland endif +ifeq ($(BR2_PACKAGE_TI_GFX),y) +LIBGLES_DEPENDENCIES += ti-gfx +endif + ifeq ($(LIBGLES_DEPENDENCIES),) define LIBGLES_CONFIGURE_CMDS echo "No libGLES implementation selected. Configuration error."
package/ti-gfx/Config.in new file +68 -0
68 lines not on this page · raw message
package/ti-gfx/S80ti-gfx new file +54 -0
54 lines not on this page · raw message
package/ti-gfx/egl.pc new file +10 -0
@@ -0,0 +1,10 @@ +prefix=/usr/ +exec_prefix=/usr/ +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: egl +Description: TI Graphics SDK implementation of EGL +Version: 1.9.2188537 +Libs: -L${libdir} -lEGL -lIMGegl +Cflags: -I{includedir}/EGL/
package/ti-gfx/esrev.sh new file +59 -0
59 lines not on this page · raw message
package/ti-gfx/glesv2.pc new file +10 -0
@@ -0,0 +1,10 @@ +prefix=/usr +exec_prefix=/usr +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: glesv2 +Description: TI Graphics SDK implementation of OpenGL ESv2 +Version: 1.9.2188537 +Libs: -L${libdir} -lGLESv2 -lGLES_CM -lsrv_um -lusc -lEGL -lIMGegl +Cflags: -I${includedir}/
package/ti-gfx/powervr.ini new file +2 -0
@@ -0,0 +1,2 @@ +[default] +WindowSystem=libpvrPVR2D_FRONTWSEGL.so
package/ti-gfx/ti-gfx-km_install_modules.patch new file +19 -0
@@ -0,0 +1,19 @@ +Patch to add modules_install target to the modules makefile. This makes +installation a little easier. + +Signed-off-by: Spenser Gilliland <[email protected]> +---- +Index: ti-gfx-4_09_00_01/GFX_Linux_KM/Makefile +=================================================================== +--- ti-gfx-4_09_00_01.orig/GFX_Linux_KM/Makefile 2013-03-07 11:00:11.000000000 -0600 ++++ ti-gfx-4_09_00_01/GFX_Linux_KM/Makefile 2013-05-23 01:36:29.356676281 -0500 +@@ -479,6 +479,9 @@ + all: + $(MAKE) -C $(KERNELDIR) M=`pwd` $* + ++install: ++ $(MAKE) -C $(KERNELDIR) M=`pwd` modules_install ++ + clean: + @find . -name "*.o" -exec rm -r {} \; + @find . -name "*.ko" -exec rm -r {} \;
package/ti-gfx/ti-gfx-newclkapi.patch new file +143 -0
143 lines not on this page · raw message
package/ti-gfx/ti-gfx.mk new file +192 -0
192 lines not on this page · raw message
Signature · 1 line
1.8.1.2
PATCH v4 1/2 ti-gfx: add new package
adds accelerated GPU support for the OMAP35xx, AM35xx, AM37xx, DM37xx, AM387x, C6A814x, AM389x, C6A816x, and AM335x platforms.
---
v4:
- Fix header issue with qt.
- Add eglimage version installation.
v3:
- integrate reviews from thomas.
- Add qt patch
v2:
- Take into account reviews.
- Simplfy init script.
- Fix header installation.
v1:
- Added .pc files
- all review issues addressed
RFC v3:
- all reviews addressed
- added demos
- added hard float (not runtime tested)
- added init script
- added SGX detection script (untested)
- tested on beaglexm using demos
RFC v2:
- basic working with minor issues during tests
RFC v1:
- inital revision
--- package/Config.in | 1 + package/opengl/libegl/libegl.mk | 4 + package/opengl/libgles/libgles.mk | 4 + package/ti-gfx/Config.in | 68 +++++++++ package/ti-gfx/S80ti-gfx | 54 +++++++ package/ti-gfx/egl.pc | 10 ++ package/ti-gfx/esrev.sh | 59 ++++++++ package/ti-gfx/glesv2.pc | 10 ++ package/ti-gfx/powervr.ini | 2 + package/ti-gfx/ti-gfx-km_install_modules.patch | 19 +++ package/ti-gfx/ti-gfx-newclkapi.patch | 143 ++++++++++++++++++ package/ti-gfx/ti-gfx.mk | 192 +++++++++++++++++++++++++ 12 files changed, 566 insertions(+) create mode 100644 package/ti-gfx/Config.in create mode 100644 package/ti-gfx/S80ti-gfx create mode 100644 package/ti-gfx/egl.pc create mode 100644 package/ti-gfx/esrev.sh create mode 100644 package/ti-gfx/glesv2.pc create mode 100644 package/ti-gfx/powervr.ini create mode 100644 package/ti-gfx/ti-gfx-km_install_modules.patch create mode 100644 package/ti-gfx/ti-gfx-newclkapi.patch create mode 100644 package/ti-gfx/ti-gfx.mk
package/Config.in +1 -0
@@ -292,6 +292,7 @@ source "package/snowball-hdmiservice/Config.in" source "package/sredird/Config.in" source "package/statserial/Config.in" source "package/sysstat/Config.in" +source "package/ti-gfx/Config.in" source "package/ti-utils/Config.in" source "package/uboot-tools/Config.in" source "package/udev/Config.in"
package/opengl/libegl/libegl.mk +4 -0
@@ -10,6 +10,10 @@ ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) LIBEGL_DEPENDENCIES += rpi-userland endif +ifeq ($(BR2_PACKAGE_TI_GFX),y) +LIBEGL_DEPENDENCIES += ti-gfx +endif + ifeq ($(LIBEGL_DEPENDENCIES),) define LIBEGL_CONFIGURE_CMDS echo "No libEGL implementation selected. Configuration error."
package/opengl/libgles/libgles.mk +4 -0
@@ -10,6 +10,10 @@ ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) LIBGLES_DEPENDENCIES += rpi-userland endif +ifeq ($(BR2_PACKAGE_TI_GFX),y) +LIBGLES_DEPENDENCIES += ti-gfx +endif + ifeq ($(LIBGLES_DEPENDENCIES),) define LIBGLES_CONFIGURE_CMDS echo "No libGLES implementation selected. Configuration error."
package/ti-gfx/Config.in new file +68 -0
68 lines not on this page · raw message
package/ti-gfx/S80ti-gfx new file +54 -0
54 lines not on this page · raw message
package/ti-gfx/egl.pc new file +10 -0
@@ -0,0 +1,10 @@ +prefix=/usr/ +exec_prefix=/usr/ +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: egl +Description: TI Graphics SDK implementation of EGL +Version: 1.9.2188537 +Libs: -L${libdir} -lEGL -lIMGegl +Cflags: -I{includedir}/EGL/
package/ti-gfx/esrev.sh new file +59 -0
59 lines not on this page · raw message
package/ti-gfx/glesv2.pc new file +10 -0
@@ -0,0 +1,10 @@ +prefix=/usr +exec_prefix=/usr +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: glesv2 +Description: TI Graphics SDK implementation of OpenGL ESv2 +Version: 1.9.2188537 +Libs: -L${libdir} -lGLESv2 -lGLES_CM -lsrv_um -lusc -lEGL -lIMGegl +Cflags: -I${includedir}/
package/ti-gfx/powervr.ini new file +2 -0
@@ -0,0 +1,2 @@ +[default] +WindowSystem=libpvrPVR2D_FRONTWSEGL.so
package/ti-gfx/ti-gfx-km_install_modules.patch new file +19 -0
@@ -0,0 +1,19 @@ +Patch to add modules_install target to the modules makefile. This makes +installation a little easier. + +Signed-off-by: Spenser Gilliland <[email protected]> +---- +Index: ti-gfx-4_09_00_01/GFX_Linux_KM/Makefile +=================================================================== +--- ti-gfx-4_09_00_01.orig/GFX_Linux_KM/Makefile 2013-03-07 11:00:11.000000000 -0600 ++++ ti-gfx-4_09_00_01/GFX_Linux_KM/Makefile 2013-05-23 01:36:29.356676281 -0500 +@@ -479,6 +479,9 @@ + all: + $(MAKE) -C $(KERNELDIR) M=`pwd` $* + ++install: ++ $(MAKE) -C $(KERNELDIR) M=`pwd` modules_install ++ + clean: + @find . -name "*.o" -exec rm -r {} \; + @find . -name "*.ko" -exec rm -r {} \;
package/ti-gfx/ti-gfx-newclkapi.patch new file +143 -0
143 lines not on this page · raw message
package/ti-gfx/ti-gfx.mk new file +192 -0
192 lines not on this page · raw message
Signature · 1 line
1.8.1.2
PATCH v4 1/2 ti-gfx: add new package
In reply to Spenser GillilandDear Spenser Gilliland,
package/ti-gfx/Config.in line 68
Quoted 2 lines · Spenser Gilliland
package/ti-gfx/Config.in new file +2
-0+comment "requires an eglibc/glibc based toolchain and the linux kernel" + depends on !(BR2_LINUX_KERNEL && BR2_TOOLCHAIN_USES_GLIBC && BR2_arm)
When a comment like this a shown, the package option is not visible, so you must mention the package name in the comment, otherwise it's impossible for the user to understand what the comment is about. So it should be:
comment "ti-gfx requires ..."
package/ti-gfx/ti-gfx.mk line 107
Quoted 13 lines
package/ti-gfx/ti-gfx.mk new file +13
-0+define TI_GFX_CONFIGURE_CMDS + $(if $(BR2_PACKAGE_TI_GFX_EGLIMAGE), + mv -f $(@D)/$(TI_GFX_BIN_PATH)/libEGL_eglimage.so \ + $(@D)/$(TI_GFX_BIN_PATH)/libEGL.so; \ + mv -f $(@D)/$(TI_GFX_BIN_PATH)/libGLES_CM_eglimage.so \ + $(@D)/$(TI_GFX_BIN_PATH)/libGLES_CM.so; \ + mv -f $(@D)/$(TI_GFX_BIN_PATH)/libGLESv2_eglimage.so \ + $(@D)/$(TI_GFX_BIN_PATH)/libGLESv2.so; \ + mv -f $(@D)/$(TI_GFX_BIN_PATH)/libglslcompiler_eglimage.so \ + $(@D)/$(TI_GFX_BIN_PATH)/libglslcompiler.so; \ + mv -f $(@D)/$(TI_GFX_BIN_PATH)/libIMGegl_eglimage.so \ + $(@D)/$(TI_GFX_BIN_PATH)/libIMGegl.so; + )
This seems not really nice to do, it should be handled at install time.
package/ti-gfx/ti-gfx.mk line 117
Quoted 10 lines
package/ti-gfx/ti-gfx.mk new file +10
-0+endef + +define TI_GFX_BUILD_KM_CMDS + $(MAKE) $(TI_GFX_KM_MAKE_OPTS) -C $(@D)/GFX_Linux_KM all +endef + +define TI_GFX_BUILD_DEMO_CMDS + $(foreach demo, $(TI_GFX_DEMOS), \ + cd $(@D)/$(TI_GFX_DEMOS_LOC)/$(demo)/$(TI_GFX_DEMOS_MAKE_LOC); \ + $(TARGET_MAKE_ENV) $(MAKE1) $(TI_GFX_DEMO_MAKE_OPTS) all
$(MAKE1) -C $(@D)/$(TI_GFX_DEMOS_LOC)/$(demo)/$(TI_GFX_DEMOS_MAKE_LOC)
will avoid the need for the cd.
package/ti-gfx/ti-gfx.mk line 126
Quoted 9 lines
package/ti-gfx/ti-gfx.mk new file +9
-0+ ) +endef + +define TI_GFX_BUILD_CMDS + $(TI_GFX_BUILD_KM_CMDS) + $(if $(BR2_PACKAGE_TI_GFX_DEMOS), + $(TI_GFX_BUILD_DEMO_CMDS) + ) +endef
I think I've said it before, but we generally do:
ifeq ($(BR2_PACKAGE_TI_GFX_DEMOS),y)
define TI_GFX_BUILD_DEMO_CMDS
...
endef
endif
define TI_GFX_BUILD_CMDS
... $(TI_GFX_BUILD_DEMO_CMDS)
endef
Quoted 20 lines
package/ti-gfx/ti-gfx.mk new file +20
-0+ +define TI_GFX_INSTALL_STAGING_CMDS + $(foreach incdir,$(TI_GFX_HDR_DIRS), + $(INSTALL) -d $(STAGING_DIR)/usr/include/$(notdir $(incdir)); \ + $(INSTALL) -D -m 0644 $(@D)/include/$(incdir)/*.h \ + $(STAGING_DIR)/usr/include/$(notdir $(incdir))/ + ) + $(INSTALL) -D -m 0755 $(@D)/$(TI_GFX_BIN_PATH)/*.so $(STAGING_DIR)/usr/lib/ + $(INSTALL) -D -m 0644 package/ti-gfx/egl.pc $(STAGING_DIR)/usr/lib/pkgconfig/ + $(INSTALL) -D -m 0644 package/ti-gfx/glesv2.pc $(STAGING_DIR)/usr/lib/pkgconfig/ +endef + +define TI_GFX_INSTALL_KM_CMDS + $(MAKE) $(TI_GFX_KM_MAKE_OPTS) -C $(@D)/GFX_Linux_KM install +endef + +define TI_GFX_INSTALL_BINS_CMDS + $(foreach bin,$(TI_GFX_BIN), + $(INSTALL) -D -m 0755 $(@D)/$(TI_GFX_BIN_PATH)/$(bin) \ + $(TARGET_DIR)/usr/bin/$(bin)
package/ti-gfx/ti-gfx.mk line 156
Quoted 10 lines
package/ti-gfx/ti-gfx.mk new file +10
-0+ ) + $(if $(BR2_PACKAGE_TI_GFX_DEBUG), + $(INSTALL) -D -m 0755 package/ti-gfx/esrev.sh \ + $(TARGET_DIR)/usr/bin/esrev) +endef + +define TI_GFX_INSTALL_LIBS_CMDS + # create symlinks and install libraries. these libraries do not have a + # SONAME defined; therefore, they will not be automatically renamed and + # must be renamed manually.
I still don't understand this "automatically renamed" comment here.
Quoted 23 lines
package/ti-gfx/ti-gfx.mk new file +23
-0+ $(foreach lib,$(TI_GFX_LIBS), + $(INSTALL) -D -m 0755 $(@D)/$(TI_GFX_BIN_PATH)/$(lib).so \ + $(TARGET_DIR)/usr/lib/$(lib).so.$(TI_GFX_SO_VERSION); \ + ln -sf $(lib).so.$(TI_GFX_SO_VERSION) \ + $(TARGET_DIR)/usr/lib/$(lib).so + ) + # libs use the following file for configuration. + $(INSTALL) -D -m 0644 package/ti-gfx/powervr.ini \ + $(TARGET_DIR)/etc/powervr.ini +endef + +ifeq ($(BR2_PACKAGE_TI_GFX_DEMOS),y) +define TI_GFX_INSTALL_DEMOS_CMDS + $(foreach demo,$(TI_GFX_DEMOS), + $(INSTALL) -D -m 0755 \ + $(@D)/$(TI_GFX_DEMOS_LOC)/$(demo)/$(TI_GFX_DEMOS_BIN_LOC)/OGLES2$(demo) \ + $(TARGET_DIR)/usr/bin/OGLES2$(demo) + ) +endef +endif + +define TI_GFX_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 package/ti-gfx/S80ti-gfx \
package/ti-gfx/ti-gfx.mk line 189
Quoted 10 lines
package/ti-gfx/ti-gfx.mk new file +10
-0+ $(TARGET_DIR)/etc/init.d/S80ti-gfx +endef + +define TI_GFX_INSTALL_TARGET_CMDS + $(TI_GFX_INSTALL_KM_CMDS) + $(TI_GFX_INSTALL_BINS_CMDS) + $(TI_GFX_INSTALL_LIBS_CMDS) + $(if $(BR2_PACKAGE_TI_GFX_DEMOS), + $(TI_GFX_INSTALL_DEMOS_CMDS) + )
Same comment as above for demo build, especially since TI_GFX_INSTALL_DEMOS_CMDS is not defined when BR2_PACKAGE_TI_GFX_DEMOS is not enabled.
package/ti-gfx/ti-gfx.mk line 192
Quoted 3 lines
package/ti-gfx/ti-gfx.mk new file +3
-0+endef + +$(eval $(generic-package))
Thanks!
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH v4 1/2 ti-gfx: add new package
Thomas,
Quoted 6 lines
When a comment like this a shown, the package option is not visible, so you must mention the package name in the comment, otherwise it's impossible for the user to understand what the comment is about. So it should be:
comment "ti-gfx requires ..."
Will fix.
Quoted 14 lines
package/ti-gfx/ti-gfx.mk line 107
Quoted 13 lines
package/ti-gfx/ti-gfx.mk new file +13
-0+define TI_GFX_CONFIGURE_CMDS + $(if $(BR2_PACKAGE_TI_GFX_EGLIMAGE), + mv -f $(@D)/$(TI_GFX_BIN_PATH)/libEGL_eglimage.so \ + $(@D)/$(TI_GFX_BIN_PATH)/libEGL.so; \ + mv -f $(@D)/$(TI_GFX_BIN_PATH)/libGLES_CM_eglimage.so \ + $(@D)/$(TI_GFX_BIN_PATH)/libGLES_CM.so; \ + mv -f $(@D)/$(TI_GFX_BIN_PATH)/libGLESv2_eglimage.so \ + $(@D)/$(TI_GFX_BIN_PATH)/libGLESv2.so; \ + mv -f $(@D)/$(TI_GFX_BIN_PATH)/libglslcompiler_eglimage.so \ + $(@D)/$(TI_GFX_BIN_PATH)/libglslcompiler.so; \ + mv -f $(@D)/$(TI_GFX_BIN_PATH)/libIMGegl_eglimage.so \ + $(@D)/$(TI_GFX_BIN_PATH)/libIMGegl.so; + )
Quoted 1 line
This seems not really nice to do, it should be handled at install time.
Will fix.
Quoted 13 lines
package/ti-gfx/ti-gfx.mk line 117
Quoted 10 lines
package/ti-gfx/ti-gfx.mk new file +10
-0+endef + +define TI_GFX_BUILD_KM_CMDS + $(MAKE) $(TI_GFX_KM_MAKE_OPTS) -C $(@D)/GFX_Linux_KM all +endef + +define TI_GFX_BUILD_DEMO_CMDS + $(foreach demo, $(TI_GFX_DEMOS), \ + cd $(@D)/$(TI_GFX_DEMOS_LOC)/$(demo)/$(TI_GFX_DEMOS_MAKE_LOC); \ + $(TARGET_MAKE_ENV) $(MAKE1) $(TI_GFX_DEMO_MAKE_OPTS) all$(MAKE1) -C $(@D)/$(TI_GFX_DEMOS_LOC)/$(demo)/$(TI_GFX_DEMOS_MAKE_LOC)
Quoted 1 line
will avoid the need for the cd.
Will fix.
Quoted 14 lines
package/ti-gfx/ti-gfx.mk line 126
Quoted 9 lines
package/ti-gfx/ti-gfx.mk new file +9
-0+ ) +endef + +define TI_GFX_BUILD_CMDS + $(TI_GFX_BUILD_KM_CMDS) + $(if $(BR2_PACKAGE_TI_GFX_DEMOS), + $(TI_GFX_BUILD_DEMO_CMDS) + ) +endefI think I've said it before, but we generally do:
ifeq ($(BR2_PACKAGE_TI_GFX_DEMOS),y)
defineTI_GFX_BUILD_DEMO_CMDS
Quoted 8 lines
...endef
endifdefine
TI_GFX_BUILD_CMDS... $(TI_GFX_BUILD_DEMO_CMDS)endef
Ok I think I understand this better now. Will fix.
Quoted 24 lines
Quoted 24 lines
package/ti-gfx/ti-gfx.mk new file +24
-0+ +define TI_GFX_INSTALL_STAGING_CMDS + $(foreach incdir,$(TI_GFX_HDR_DIRS), + $(INSTALL) -d $(STAGING_DIR)/usr/include/$(notdir $(incdir)); \ + $(INSTALL) -D -m 0644 $(@D)/include/$(incdir)/*.h \ + $(STAGING_DIR)/usr/include/$(notdir $(incdir))/ + ) + $(INSTALL) -D -m 0755 $(@D)/$(TI_GFX_BIN_PATH)/*.so $(STAGING_DIR)/usr/lib/ + $(INSTALL) -D -m 0644 package/ti-gfx/egl.pc $(STAGING_DIR)/usr/lib/pkgconfig/ + $(INSTALL) -D -m 0644 package/ti-gfx/glesv2.pc $(STAGING_DIR)/usr/lib/pkgconfig/ +endef + +define TI_GFX_INSTALL_KM_CMDS + $(MAKE) $(TI_GFX_KM_MAKE_OPTS) -C $(@D)/GFX_Linux_KM install +endef + +define TI_GFX_INSTALL_BINS_CMDS + $(foreach bin,$(TI_GFX_BIN), + $(INSTALL) -D -m 0755 $(@D)/$(TI_GFX_BIN_PATH)/$(bin) \ + $(TARGET_DIR)/usr/bin/$(bin) + ) + $(if $(BR2_PACKAGE_TI_GFX_DEBUG), + $(INSTALL) -D -m 0755 package/ti-gfx/esrev.sh \ + $(TARGET_DIR)/usr/bin/esrev)
Quoted 8 lines
package/ti-gfx/ti-gfx.mk line 156
Quoted 6 lines
package/ti-gfx/ti-gfx.mk new file +6
-0+endef + +define TI_GFX_INSTALL_LIBS_CMDS + # create symlinks and install libraries. these libraries do not have a + # SONAME defined; therefore, they will not be automatically renamed and + # must be renamed manually.I still don't understand this "automatically renamed" comment here.
i remember hearing that in some rootfs fixup, the libraries are renamed with symlinks according to the SONAME. However, I can't find it in the code so maybe this was just bad information. I'll remove the comment.
Quoted 29 lines
Quoted 29 lines
package/ti-gfx/ti-gfx.mk new file +29
-0+ $(foreach lib,$(TI_GFX_LIBS), + $(INSTALL) -D -m 0755 $(@D)/$(TI_GFX_BIN_PATH)/$(lib).so \ + $(TARGET_DIR)/usr/lib/$(lib).so.$(TI_GFX_SO_VERSION); \ + ln -sf $(lib).so.$(TI_GFX_SO_VERSION) \ + $(TARGET_DIR)/usr/lib/$(lib).so + ) + # libs use the following file for configuration. + $(INSTALL) -D -m 0644 package/ti-gfx/powervr.ini \ + $(TARGET_DIR)/etc/powervr.ini +endef + +ifeq ($(BR2_PACKAGE_TI_GFX_DEMOS),y) +define TI_GFX_INSTALL_DEMOS_CMDS + $(foreach demo,$(TI_GFX_DEMOS), + $(INSTALL) -D -m 0755 \ + $(@D)/$(TI_GFX_DEMOS_LOC)/$(demo)/$(TI_GFX_DEMOS_BIN_LOC)/OGLES2$(demo) \ + $(TARGET_DIR)/usr/bin/OGLES2$(demo) + ) +endef +endif + +define TI_GFX_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 package/ti-gfx/S80ti-gfx \ + $(TARGET_DIR)/etc/init.d/S80ti-gfx +endef + +define TI_GFX_INSTALL_TARGET_CMDS + $(TI_GFX_INSTALL_KM_CMDS) + $(TI_GFX_INSTALL_BINS_CMDS)
Quoted 8 lines
package/ti-gfx/ti-gfx.mk line 189
Quoted 4 lines
package/ti-gfx/ti-gfx.mk new file +4
-0+ $(TI_GFX_INSTALL_LIBS_CMDS) + $(if $(BR2_PACKAGE_TI_GFX_DEMOS), + $(TI_GFX_INSTALL_DEMOS_CMDS) + )Same comment as above for demo build, especially since
TI_GFX_INSTALL_DEMOS_CMDSis not defined whenBR2_PACKAGE_TI_GFX_DEMOSis not enabled.
Wil fix.
Quoted 6 lines
package/ti-gfx/ti-gfx.mk line 192
Quoted 3 lines
package/ti-gfx/ti-gfx.mk new file +3
-0+endef + +$(eval $(generic-package))Thanks!
Quoted 6 lines
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
--
Spenser Gilliland
Computer Engineer
Doctoral Candidate
PATCH v4 1/2 ti-gfx: add new package
Spenser, All,
On 2013-07-11 11:07 -0500, Spenser Gilliland spake thusly:
[--SNIP--]
Quoted 10 lines
Quoted 6 lines
package/ti-gfx/ti-gfx.mk line 156
Quoted 4 lines
package/ti-gfx/ti-gfx.mk new file +4
-0+define TI_GFX_INSTALL_LIBS_CMDS + # create symlinks and install libraries. these libraries do not have a + # SONAME defined; therefore, they will not be automatically renamed and + # must be renamed manually.I still don't understand this "automatically renamed" comment here.
i remember hearing that in some rootfs fixup, the libraries are renamed with symlinks according to the SONAME. However, I can't find it in the code so maybe this was just bad information.
No, that's not done.
I suggested the idea that, by renaming the libraries to their SONAME, we could get rid of the symlinks (since we do not need them at runtime), and thus reduce the number of inodes needed (since symlinks take one inode each), and thus reduce the filesystem size.
But the gain would be small, and almost un-noticeable on large filesystem with biggish libs (Qt, Xorg...), so doing it in Buildroot has been deemed too complex given the small size it would gain.
If anyone wants to do it, it would be fit for a post-build script.
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'