Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/4] ARM Mali Graphics Drivers
@ 2013-07-19 23:37 Spenser Gilliland
  2013-07-19 23:37 ` [Buildroot] [PATCH 1/4] a10disp: new package Spenser Gilliland
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Spenser Gilliland @ 2013-07-19 23:37 UTC (permalink / raw)
  To: buildroot

This patch adds the ARM Mali graphics driver for Allwinner based systems.

Spenser Gilliland (4):
  a10disp: new package
  sunxi-mali: new package
  opengl: add sunxi-mali as possible egl/gles provider
  sunxi-cedar: add cedar hardware video decoding library

 package/Config.in                          |  4 ++
 package/a10disp/Config.in                  | 12 +++++
 package/a10disp/a10disp.mk                 | 21 ++++++++
 package/opengl/libegl/libegl.mk            |  4 ++
 package/opengl/libgles/libgles.mk          |  4 ++
 package/sunxi-cedar/Config.in              | 10 ++++
 package/sunxi-cedar/sunxi-cedar.mk         | 49 ++++++++++++++++++
 package/sunxi-mali-prop/Config.in          |  4 ++
 package/sunxi-mali-prop/sunxi-mali-prop.mk | 10 ++++
 package/sunxi-mali/Config.in               | 52 +++++++++++++++++++
 package/sunxi-mali/S80mali                 | 54 ++++++++++++++++++++
 package/sunxi-mali/egl.pc                  | 12 +++++
 package/sunxi-mali/glesv2.pc               | 12 +++++
 package/sunxi-mali/sunxi-mali.mk           | 82 ++++++++++++++++++++++++++++++
 14 files changed, 330 insertions(+)
 create mode 100644 package/a10disp/Config.in
 create mode 100644 package/a10disp/a10disp.mk
 create mode 100644 package/sunxi-cedar/Config.in
 create mode 100644 package/sunxi-cedar/sunxi-cedar.mk
 create mode 100644 package/sunxi-mali-prop/Config.in
 create mode 100644 package/sunxi-mali-prop/sunxi-mali-prop.mk
 create mode 100644 package/sunxi-mali/Config.in
 create mode 100644 package/sunxi-mali/S80mali
 create mode 100644 package/sunxi-mali/egl.pc
 create mode 100644 package/sunxi-mali/glesv2.pc
 create mode 100644 package/sunxi-mali/sunxi-mali.mk

-- 
1.8.1.2

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 1/4] a10disp: new package
  2013-07-19 23:37 [Buildroot] [PATCH 0/4] ARM Mali Graphics Drivers Spenser Gilliland
@ 2013-07-19 23:37 ` Spenser Gilliland
  2013-07-19 23:37 ` [Buildroot] [PATCH 2/4] sunxi-mali: " Spenser Gilliland
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Spenser Gilliland @ 2013-07-19 23:37 UTC (permalink / raw)
  To: buildroot


Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
---
 package/Config.in          |  1 +
 package/a10disp/Config.in  | 12 ++++++++++++
 package/a10disp/a10disp.mk | 21 +++++++++++++++++++++
 3 files changed, 34 insertions(+)
 create mode 100644 package/a10disp/Config.in
 create mode 100644 package/a10disp/a10disp.mk

diff --git a/package/Config.in b/package/Config.in
index 286a605..0ba8ee4 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -229,6 +229,7 @@ source "package/ux500-firmware/Config.in"
 source "package/zd1211-firmware/Config.in"
 endmenu
 source "package/freescale-imx/Config.in"
+source "package/a10disp/Config.in"
 source "package/acpid/Config.in"
 source "package/cdrkit/Config.in"
 source "package/dbus/Config.in"
diff --git a/package/a10disp/Config.in b/package/a10disp/Config.in
new file mode 100644
index 0000000..b4edf31
--- /dev/null
+++ b/package/a10disp/Config.in
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_A10DISP
+	bool "a10disp"
+	depends on BR2_arm
+	depends on BR2_LINUX_KERNEL
+	help
+	  Program to change the display mode of Allwinner ARM SOCs running
+	  the linux-sunxi kernel (and not the mainline kernel.)
+
+	  http://github.com/hglm/a10disp
+
+comment "a10disp requires the linux kernel"
+	depends on BR2_arm && !BR2_LINUX_KERNEL
diff --git a/package/a10disp/a10disp.mk b/package/a10disp/a10disp.mk
new file mode 100644
index 0000000..7dfc1b5
--- /dev/null
+++ b/package/a10disp/a10disp.mk
@@ -0,0 +1,21 @@
+################################################################################
+#
+# a10disp
+#
+################################################################################
+
+A10DISP_VERSION = a899cc6dcf
+A10DISP_SITE = http://github.com/hglm/a10disp/tarball/$(A10DISP_VERSION)
+
+A10DISP_DEPENDENCIES = linux
+
+define A10DISP_BUILD_CMDS
+	cp -f $(LINUX_DIR)/include/video/sunxi_disp_ioctl.h $(@D)/
+	$(TARGET_CC) $(TARGET_CFLAGS) $(@D)/a10disp.c -o $(@D)/a10disp
+endef
+
+define A10DISP_INSTALL_TARGET_CMDS
+	$(INSTALL) -D -m 0755 $(@D)/a10disp $(TARGET_DIR)/usr/bin/a10disp
+endef
+
+$(eval $(generic-package))
-- 
1.8.1.2

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 2/4] sunxi-mali: new package
  2013-07-19 23:37 [Buildroot] [PATCH 0/4] ARM Mali Graphics Drivers Spenser Gilliland
  2013-07-19 23:37 ` [Buildroot] [PATCH 1/4] a10disp: new package Spenser Gilliland
@ 2013-07-19 23:37 ` Spenser Gilliland
  2013-07-28 15:40   ` Thomas Petazzoni
  2013-07-19 23:37 ` [Buildroot] [PATCH 3/4] opengl: add sunxi-mali as possible egl/gles provider Spenser Gilliland
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Spenser Gilliland @ 2013-07-19 23:37 UTC (permalink / raw)
  To: buildroot


Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
---
 package/Config.in                          |  2 +
 package/sunxi-mali-prop/Config.in          |  4 ++
 package/sunxi-mali-prop/sunxi-mali-prop.mk | 10 ++++
 package/sunxi-mali/Config.in               | 52 +++++++++++++++++++
 package/sunxi-mali/S80mali                 | 54 ++++++++++++++++++++
 package/sunxi-mali/egl.pc                  | 12 +++++
 package/sunxi-mali/glesv2.pc               | 12 +++++
 package/sunxi-mali/sunxi-mali.mk           | 82 ++++++++++++++++++++++++++++++
 8 files changed, 228 insertions(+)
 create mode 100644 package/sunxi-mali-prop/Config.in
 create mode 100644 package/sunxi-mali-prop/sunxi-mali-prop.mk
 create mode 100644 package/sunxi-mali/Config.in
 create mode 100644 package/sunxi-mali/S80mali
 create mode 100644 package/sunxi-mali/egl.pc
 create mode 100644 package/sunxi-mali/glesv2.pc
 create mode 100644 package/sunxi-mali/sunxi-mali.mk

diff --git a/package/Config.in b/package/Config.in
index 0ba8ee4..e49264f 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -294,6 +294,8 @@ source "package/smartmontools/Config.in"
 source "package/snowball-hdmiservice/Config.in"
 source "package/sredird/Config.in"
 source "package/statserial/Config.in"
+source "package/sunxi-mali/Config.in"
+source "package/sunxi-mali-prop/Config.in"
 source "package/sysstat/Config.in"
 source "package/ti-gfx/Config.in"
 source "package/ti-utils/Config.in"
diff --git a/package/sunxi-mali-prop/Config.in b/package/sunxi-mali-prop/Config.in
new file mode 100644
index 0000000..b9efb4e
--- /dev/null
+++ b/package/sunxi-mali-prop/Config.in
@@ -0,0 +1,4 @@
+# Sunxi-mali-prop is a git submodule of sunxi-mali. To use this package
+# select the sunxi-mali option.
+config BR2_PACKAGE_SUNXI_MALI_PROP
+	bool
diff --git a/package/sunxi-mali-prop/sunxi-mali-prop.mk b/package/sunxi-mali-prop/sunxi-mali-prop.mk
new file mode 100644
index 0000000..21960e6
--- /dev/null
+++ b/package/sunxi-mali-prop/sunxi-mali-prop.mk
@@ -0,0 +1,10 @@
+################################################################################
+#
+# sunxi-mali-prop
+#
+################################################################################
+
+SUNXI_MALI_PROP_VERSION = e4ced47
+SUNXI_MALI_PROP_SITE = http://github.com/linux-sunxi/sunxi-mali-proprietary/tarball/$(SUNXI_MALI_PROP_VERSION)
+
+$(eval $(generic-package))
diff --git a/package/sunxi-mali/Config.in b/package/sunxi-mali/Config.in
new file mode 100644
index 0000000..74b8ebc
--- /dev/null
+++ b/package/sunxi-mali/Config.in
@@ -0,0 +1,52 @@
+config BR2_PACKAGE_SUNXI_MALI
+	bool "sunxi-mali"
+	select BR2_PACKAGE_HAS_OPENGL_EGL
+	select BR2_PACKAGE_HAS_OPENGL_ES
+	# The egl/gles mali libraries are provided as a git submodule of the
+	# sunxi-mali repo and are downloaded by the sunxi-mali-prop package.
+	select BR2_PACKAGE_SUNXI_MALI_PROP
+	depends on BR2_TOOLCHAIN_USES_GLIBC
+	depends on BR2_arm
+	help
+	  Install the ARM Mali drivers for sunxi based systems.  This driver
+	  requires either the sunxi-kernel with the ARM Mali driver enabled or
+	  the installation of the ARM Mali drivers as an external module.
+
+	  http://github.com/linux-sunxi/sunxi-mali
+
+if BR2_PACKAGE_SUNXI_MALI
+
+config BR2_PACKAGE_SUNXI_MALI_DBG
+	bool "install malitest and maliver tools"
+	help
+	  Install 3D triangle demo malitest application and the maliver application
+	  which describes the kernel module version.
+
+choice
+	prompt "Version"
+	default BR2_PACKAGE_SUNXI_MALI_R3P0
+	help
+	  Select the version of the kernel module.  For the sunxi-kernel, the
+	  appropriate version number is r3p0. For other kernels, use the maliver
+	  application to determine the appropriate version.
+
+config BR2_PACKAGE_SUNXI_MALI_R2P4
+	bool "r2p4"
+
+config BR2_PACKAGE_SUNXI_MALI_R3P0
+	bool "r3p0"
+
+config BR2_PACKAGE_SUNXI_MALI_R3P1
+	depends on BR2_ARM_EABIHF
+	bool "r3p1"
+
+comment "r3p1 requires a toolchain with hard float support"
+	depends on !BR2_ARM_EABIHF
+
+endchoice
+
+endif
+
+comment "sunxi-mali requires an eglibc/glibc based toolchain"
+	depends on BR2_arm && !BR2_TOOLCHAIN_USES_GLIBC
+
diff --git a/package/sunxi-mali/S80mali b/package/sunxi-mali/S80mali
new file mode 100644
index 0000000..a1f32df
--- /dev/null
+++ b/package/sunxi-mali/S80mali
@@ -0,0 +1,54 @@
+#!/bin/sh -e
+
+install_driver() {
+	DRIVER=$1
+	OPTS=$2
+
+	modprobe $DRIVER $OPTS
+	maj=$(awk "$$2==\"${DRIVER}\" { print $$1; }" /proc/devices)
+
+	rm -f /dev/${DRIVER}
+
+	mknod /dev/${DRIVER} c $maj 0
+	chmod 600 /dev/${DRIVER}
+}
+
+start() {
+	echo "mali: starting driver"
+
+	BITSPERPIXEL="$(fbset | awk '/geom/ {print $6}')"
+	YRES="$(fbset | awk '/geom/ {print $3}')"
+	# Set RGBA ordering to something the drivers like
+	if [ "$BITSPERPIXEL" = "32" ] ; then
+		fbset -rgba 8/16,8/8,8/0,8/24
+	fi
+	# Try to enable triple buffering when there's enough VRAM
+	fbset -vyres $(( YRES*3 ))
+
+	install_driver mali
+	install_driver ump
+}	
+
+stop() {
+	echo "mali: stopping driver"
+
+	rmmod ump
+	rmmod mali
+}
+
+case "$1" in 
+start)
+	start
+;;
+stop)
+	stop
+;;
+restart)
+	stop
+	start
+;;
+*)
+	echo "mali: Please use start, stop, or restart."
+	exit 1
+;;
+esac
diff --git a/package/sunxi-mali/egl.pc b/package/sunxi-mali/egl.pc
new file mode 100644
index 0000000..56e3990
--- /dev/null
+++ b/package/sunxi-mali/egl.pc
@@ -0,0 +1,12 @@
+prefix=/usr/
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: egl
+Description: ARM Mali implementation of EGL
+Version: 1.4
+Requires:
+Libs: -L${libdir} -lEGL -lGLESv2 -lUMP
+Cflags: -I{includedir}/EGL/ -I${includedir}
+
diff --git a/package/sunxi-mali/glesv2.pc b/package/sunxi-mali/glesv2.pc
new file mode 100644
index 0000000..4e112ee
--- /dev/null
+++ b/package/sunxi-mali/glesv2.pc
@@ -0,0 +1,12 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: glesv2
+Description: ARM Mali implementation of OpenGL ESv2
+Version: 2.0
+Requires:
+Libs: -L${libdir} -lGLESv2 -lGLES_CM -lUMP
+Cflags: -I${includedir}/GLES2
+
diff --git a/package/sunxi-mali/sunxi-mali.mk b/package/sunxi-mali/sunxi-mali.mk
new file mode 100644
index 0000000..cfe5a73
--- /dev/null
+++ b/package/sunxi-mali/sunxi-mali.mk
@@ -0,0 +1,82 @@
+################################################################################
+#
+# sunxi-mali
+#
+################################################################################
+
+SUNXI_MALI_VERSION = c2491fe952
+SUNXI_MALI_SITE = http://github.com/linux-sunxi/sunxi-mali/tarball/$(SUNXI_MALI_VERSION)
+
+SUNXI_MALI_INSTALL_STAGING = YES
+SUNXI_MALI_DEPENDENCIES = sunxi-mali-prop
+
+# The options below must be provided in the environment.  Providing these
+# through options overrides the value and prevents the makefiles from
+# appending to these variables.  This is used throughout the sunxi-mali build
+# system.
+# 
+# Furthermore, the -lm -dl -lpthread options are included due to a possible bug
+# in the way the linaro 2013.06 toolchain handles shared libraries.
+SUNXI_MALI_MAKE_ENV = \
+	CC="$(TARGET_CC)" \
+	CFLAGS="$(TARGET_CFLAGS) -lm -ldl -lpthread" \
+	$(TARGET_MAKE_ENV)
+
+ifeq ($(BR2_ARM_EABIHF),y)
+SUNXI_MALI_MAKE_OPTS += ABI=armhf
+else
+SUNXI_MALI_MAKE_OPTS += ABI=armel
+endif
+
+SUNXI_MALI_MAKE_OPTS += EGL_TYPE=framebuffer
+
+ifeq ($(BR2_PACKAGE_SUNXI_MALI_R2P4),y)
+SUNXI_MALI_MAKE_OPTS += VERSION=r2p4
+endif
+ifeq ($(BR2_PACKAGE_SUNXI_MALI_R3P0),y)
+SUNXI_MALI_MAKE_OPTS += VERSION=r3p0
+endif
+ifeq ($(BR2_PACKAGE_SUNXI_MALI_R3P1),y)
+SUNXI_MALI_MAKE_OPTS += VERSION=r3p1
+endif
+
+define SUNXI_MALI_GIT_SUBMODULE_FIXUP
+	rm -rf $(@D)/lib/mali
+	cp -rf $(SUNXI_MALI_PROP_SRCDIR) $(@D)/lib/mali
+endef
+
+SUNXI_MALI_PRE_CONFIGURE_HOOKS += SUNXI_MALI_GIT_SUBMODULE_FIXUP
+
+define SUNXI_MALI_BUILD_CMDS
+	$(SUNXI_MALI_MAKE_ENV) $(MAKE) -C $(@D) $(SUNXI_MALI_MAKE_OPTS) all
+	$(TARGET_CC) $(TARGET_CFLAGS) -o $(@D)/version/version \
+		$(@D)/version/version.c
+endef
+
+define SUNXI_MALI_INSTALL_STAGING_CMDS
+	$(SUNXI_MALI_MAKE_ENV) $(MAKE) -C $(@D) \
+		$(SUNXI_MALI_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install
+	# test must be built after install because it depends on headers that are
+	# generated during the install above.
+	$(SUNXI_MALI_MAKE_ENV) $(MAKE) -C $(@D) $(SUNXI_MALI_MAKE_OPTS) test
+	$(INSTALL) -D -m 0644 package/sunxi-mali/egl.pc \
+		$(STAGING_DIR)/usr/lib/pkgconfig/egl.pc
+	$(INSTALL) -D -m 0644 package/sunxi-mali/glesv2.pc \
+		$(STAGING_DIR)/usr/lib/pkgconfig/glesv2.pc
+endef
+
+define SUNXI_MALI_INSTALL_TARGET_CMDS
+	$(SUNXI_MALI_MAKE_ENV) $(MAKE) -C $(@D)/lib \
+		$(SUNXI_MALI_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install
+	$(if $(BR2_PACKAGE_SUNXI_MALI_DBG),
+		$(INSTALL) -m 755 $(@D)/version/version $(TARGET_DIR)/usr/bin/maliver; \
+		$(INSTALL) -m 755 $(@D)/test/test $(TARGET_DIR)/usr/bin/malitest
+	)
+endef
+
+define SUNXI_MALI_INSTALL_INIT_SYSV
+	$(INSTALL) -D -m 0755 package/sunxi-mali/S80mali \
+		$(TARGET_DIR)/etc/init.d/S80mali
+endef
+
+$(eval $(generic-package))
-- 
1.8.1.2

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 3/4] opengl: add sunxi-mali as possible egl/gles provider
  2013-07-19 23:37 [Buildroot] [PATCH 0/4] ARM Mali Graphics Drivers Spenser Gilliland
  2013-07-19 23:37 ` [Buildroot] [PATCH 1/4] a10disp: new package Spenser Gilliland
  2013-07-19 23:37 ` [Buildroot] [PATCH 2/4] sunxi-mali: " Spenser Gilliland
@ 2013-07-19 23:37 ` Spenser Gilliland
  2013-07-19 23:37 ` [Buildroot] [PATCH 4/4] sunxi-cedar: add cedar hardware video decoding library Spenser Gilliland
  2013-07-28 15:40 ` [Buildroot] [PATCH 0/4] ARM Mali Graphics Drivers Thomas Petazzoni
  4 siblings, 0 replies; 9+ messages in thread
From: Spenser Gilliland @ 2013-07-19 23:37 UTC (permalink / raw)
  To: buildroot


Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
---
 package/opengl/libegl/libegl.mk   | 4 ++++
 package/opengl/libgles/libgles.mk | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/package/opengl/libegl/libegl.mk b/package/opengl/libegl/libegl.mk
index 00e1f19..5943a3a 100644
--- a/package/opengl/libegl/libegl.mk
+++ b/package/opengl/libegl/libegl.mk
@@ -14,6 +14,10 @@ ifeq ($(BR2_PACKAGE_TI_GFX),y)
 LIBEGL_DEPENDENCIES += ti-gfx
 endif
 
+ifeq ($(BR2_PACKAGE_SUNXI_MALI),y)
+LIBEGL_DEPENDENCIES += sunxi-mali
+endif
+
 ifeq ($(LIBEGL_DEPENDENCIES),)
 define LIBEGL_CONFIGURE_CMDS
 	echo "No libEGL implementation selected. Configuration error."
diff --git a/package/opengl/libgles/libgles.mk b/package/opengl/libgles/libgles.mk
index d2fe11b..715d91a 100644
--- a/package/opengl/libgles/libgles.mk
+++ b/package/opengl/libgles/libgles.mk
@@ -14,6 +14,10 @@ ifeq ($(BR2_PACKAGE_TI_GFX),y)
 LIBGLES_DEPENDENCIES += ti-gfx
 endif
 
+ifeq ($(BR2_PACKAGE_SUNXI_MALI),y)
+LIBGLES_DEPENDENCIES += sunxi-mali
+endif
+
 ifeq ($(LIBGLES_DEPENDENCIES),)
 define LIBGLES_CONFIGURE_CMDS
 	echo "No libGLES implementation selected. Configuration error."
-- 
1.8.1.2

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 4/4] sunxi-cedar: add cedar hardware video decoding library
  2013-07-19 23:37 [Buildroot] [PATCH 0/4] ARM Mali Graphics Drivers Spenser Gilliland
                   ` (2 preceding siblings ...)
  2013-07-19 23:37 ` [Buildroot] [PATCH 3/4] opengl: add sunxi-mali as possible egl/gles provider Spenser Gilliland
@ 2013-07-19 23:37 ` Spenser Gilliland
  2013-07-28 15:41   ` Thomas Petazzoni
  2013-07-29 22:01   ` Thomas Petazzoni
  2013-07-28 15:40 ` [Buildroot] [PATCH 0/4] ARM Mali Graphics Drivers Thomas Petazzoni
  4 siblings, 2 replies; 9+ messages in thread
From: Spenser Gilliland @ 2013-07-19 23:37 UTC (permalink / raw)
  To: buildroot


Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
---
 package/Config.in                  |  1 +
 package/sunxi-cedar/Config.in      | 10 ++++++++
 package/sunxi-cedar/sunxi-cedar.mk | 49 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 60 insertions(+)
 create mode 100644 package/sunxi-cedar/Config.in
 create mode 100644 package/sunxi-cedar/sunxi-cedar.mk

diff --git a/package/Config.in b/package/Config.in
index e49264f..3825668 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -294,6 +294,7 @@ source "package/smartmontools/Config.in"
 source "package/snowball-hdmiservice/Config.in"
 source "package/sredird/Config.in"
 source "package/statserial/Config.in"
+source "package/sunxi-cedar/Config.in"
 source "package/sunxi-mali/Config.in"
 source "package/sunxi-mali-prop/Config.in"
 source "package/sysstat/Config.in"
diff --git a/package/sunxi-cedar/Config.in b/package/sunxi-cedar/Config.in
new file mode 100644
index 0000000..859de84
--- /dev/null
+++ b/package/sunxi-cedar/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_SUNXI_CEDAR
+	bool "sunxi-cedar"
+	depends on BR2_TOOLCHAIN_USES_GLIBC && BR2_arm
+	help
+	  Sunxi cedar decoder libraries
+
+	  http://github.com/linux-sunxi/cedarx-libs
+
+comment "sunxi-cedar requires an eglibc/glibc based toolchain"
+	depends on !(BR2_TOOLCHAIN_USES_GLIBC) && BR2_arm
diff --git a/package/sunxi-cedar/sunxi-cedar.mk b/package/sunxi-cedar/sunxi-cedar.mk
new file mode 100644
index 0000000..9104ec0
--- /dev/null
+++ b/package/sunxi-cedar/sunxi-cedar.mk
@@ -0,0 +1,49 @@
+################################################################################
+#
+# sunxi-cedar
+#
+################################################################################
+
+SUNXI_CEDAR_VERSION = 74923e55fc
+SUNXI_CEDAR_SITE = http://github.com/linux-sunxi/cedarx-libs/tarball/$(SUNXI_CEDAR_VERSION)
+
+SUNXI_CEDAR_INSTALL_STAGING = YES
+
+ifeq ($(BR2_ARM_EABIHF),y)
+SUNXI_CEDAR_BIN_DIR = $(@D)/libcedarv/linux-armhf
+else
+SUNXI_CEDAR_BIN_DIR = $(@D)/libcedarv/linux-armel
+endif
+
+define SUNXI_CEDAR_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(SUNXI_CEDAR_BIN_DIR)
+	$(TARGET_CC) $(TARGET_CFLAGS) \
+		-c $(SUNXI_CEDAR_BIN_DIR)/adapter/avheap/avheap.c \
+		-o $(SUNXI_CEDAR_BIN_DIR)/adapter/avheap/avheap.o \
+		-I $(SUNXI_CEDAR_BIN_DIR)/adapter/avheap \
+		-I $(SUNXI_CEDAR_BIN_DIR)/
+	$(TARGET_CC) -shared -L./ -Wl,-soname,libavheap.so \
+		-o $(SUNXI_CEDAR_BIN_DIR)/adapter/avheap/libavheap.so \
+		$(SUNXI_CEDAR_BIN_DIR)/adapter/avheap/avheap.o
+endef
+
+define SUNXI_CEDAR_INSTALL_STAGING_CMDS
+	$(INSTALL) -d -m 755 $(STAGING_DIR)/usr/include/libvecore
+	$(INSTALL) -m 664 $(SUNXI_CEDAR_BIN_DIR)/libvecore/*.h \
+		$(STAGING_DIR)/usr/include/libvecore
+	$(INSTALL) -m 644 $(SUNXI_CEDAR_BIN_DIR)/*.h \
+		$(STAGING_DIR)/usr/include/
+	$(INSTALL) -m 644 $(SUNXI_CEDAR_BIN_DIR)/libvecore/libvecore.so \
+		$(STAGING_DIR)/usr/lib/
+	$(INSTALL) -m 644 $(SUNXI_CEDAR_BIN_DIR)/adapter/avheap/libavheap.so \
+		$(STAGING_DIR)/usr/lib/
+endef
+
+define SUNXI_CEDAR_INSTALL_TARGET_CMDS
+	$(INSTALL) -m 644 $(SUNXI_CEDAR_BIN_DIR)/libvecore/libvecore.so \
+		$(TARGET_DIR)/usr/lib/
+	$(INSTALL) -m 644 $(SUNXI_CEDAR_BIN_DIR)/adapter/avheap/libavheap.so \
+		$(TARGET_DIR)/usr/lib/
+endef
+
+$(eval $(generic-package))
-- 
1.8.1.2

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 2/4] sunxi-mali: new package
  2013-07-19 23:37 ` [Buildroot] [PATCH 2/4] sunxi-mali: " Spenser Gilliland
@ 2013-07-28 15:40   ` Thomas Petazzoni
  0 siblings, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2013-07-28 15:40 UTC (permalink / raw)
  To: buildroot

Dear Spenser Gilliland,

On Fri, 19 Jul 2013 18:37:52 -0500, Spenser Gilliland wrote:

> +config BR2_PACKAGE_SUNXI_MALI_R2P4
> +	bool "r2p4"

This one is only available on EABI toolchains.

> +
> +config BR2_PACKAGE_SUNXI_MALI_R3P0
> +	bool "r3p0"

and this one on EABIhf toolchains.


> +define SUNXI_MALI_INSTALL_TARGET_CMDS
> +	$(SUNXI_MALI_MAKE_ENV) $(MAKE) -C $(@D)/lib \
> +		$(SUNXI_MALI_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install

I've added here a chmod +x to ensure libraries are installed with
execution permissions, so that they are properly stripped by Buildroot.

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 0/4] ARM Mali Graphics Drivers
  2013-07-19 23:37 [Buildroot] [PATCH 0/4] ARM Mali Graphics Drivers Spenser Gilliland
                   ` (3 preceding siblings ...)
  2013-07-19 23:37 ` [Buildroot] [PATCH 4/4] sunxi-cedar: add cedar hardware video decoding library Spenser Gilliland
@ 2013-07-28 15:40 ` Thomas Petazzoni
  4 siblings, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2013-07-28 15:40 UTC (permalink / raw)
  To: buildroot

Dear Spenser Gilliland,

On Fri, 19 Jul 2013 18:37:50 -0500, Spenser Gilliland wrote:

> Spenser Gilliland (4):
>   a10disp: new package
>   sunxi-mali: new package
>   opengl: add sunxi-mali as possible egl/gles provider
>   sunxi-cedar: add cedar hardware video decoding library

Committed, thanks. I did a few fixes, which I detailed in a reply to
each patch.

Thanks,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 4/4] sunxi-cedar: add cedar hardware video decoding library
  2013-07-19 23:37 ` [Buildroot] [PATCH 4/4] sunxi-cedar: add cedar hardware video decoding library Spenser Gilliland
@ 2013-07-28 15:41   ` Thomas Petazzoni
  2013-07-29 22:01   ` Thomas Petazzoni
  1 sibling, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2013-07-28 15:41 UTC (permalink / raw)
  To: buildroot

Dear Spenser Gilliland,

On Fri, 19 Jul 2013 18:37:54 -0500, Spenser Gilliland wrote:
> 
> Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
> ---
>  package/Config.in                  |  1 +
>  package/sunxi-cedar/Config.in      | 10 ++++++++
>  package/sunxi-cedar/sunxi-cedar.mk | 49 ++++++++++++++++++++++++++++++++++++++
>  3 files changed, 60 insertions(+)
>  create mode 100644 package/sunxi-cedar/Config.in
>  create mode 100644 package/sunxi-cedar/sunxi-cedar.mk

I've renamed this package to sunxi-cedarx and modified the installation
steps to ensure libraries are installed with execution permissions.

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 4/4] sunxi-cedar: add cedar hardware video decoding library
  2013-07-19 23:37 ` [Buildroot] [PATCH 4/4] sunxi-cedar: add cedar hardware video decoding library Spenser Gilliland
  2013-07-28 15:41   ` Thomas Petazzoni
@ 2013-07-29 22:01   ` Thomas Petazzoni
  1 sibling, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2013-07-29 22:01 UTC (permalink / raw)
  To: buildroot

Dear Spenser Gilliland,

On Fri, 19 Jul 2013 18:37:54 -0500, Spenser Gilliland wrote:

> +ifeq ($(BR2_ARM_EABIHF),y)
> +SUNXI_CEDAR_BIN_DIR = $(@D)/libcedarv/linux-armhf
> +else
> +SUNXI_CEDAR_BIN_DIR = $(@D)/libcedarv/linux-armel
> +endif

The package fails to build in the linux-armel case, because avheap.c
doesn't exist in this case:

  http://autobuild.buildroot.org/results/739/7395780dafedb6126dad7f9405609c2fe02104ec/build-end.log

Also for some reason, in another build it uses the host compiler
instead of the cross compiler:

  http://autobuild.buildroot.org/results/5b0/5b0e52f2fd59916e46572b0f34403972e77e8283/build-end.log

Could you have a look into these issues?

Thanks,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2013-07-29 22:01 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-19 23:37 [Buildroot] [PATCH 0/4] ARM Mali Graphics Drivers Spenser Gilliland
2013-07-19 23:37 ` [Buildroot] [PATCH 1/4] a10disp: new package Spenser Gilliland
2013-07-19 23:37 ` [Buildroot] [PATCH 2/4] sunxi-mali: " Spenser Gilliland
2013-07-28 15:40   ` Thomas Petazzoni
2013-07-19 23:37 ` [Buildroot] [PATCH 3/4] opengl: add sunxi-mali as possible egl/gles provider Spenser Gilliland
2013-07-19 23:37 ` [Buildroot] [PATCH 4/4] sunxi-cedar: add cedar hardware video decoding library Spenser Gilliland
2013-07-28 15:41   ` Thomas Petazzoni
2013-07-29 22:01   ` Thomas Petazzoni
2013-07-28 15:40 ` [Buildroot] [PATCH 0/4] ARM Mali Graphics Drivers Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox