Commit e7481560 authored by Spenser Gilliland's avatar Spenser Gilliland Committed by Thomas Petazzoni
Browse files

sunxi-cedarx: add CedarX hardware video decoding library



[Thomas: rename package to sunxi-cedarx, improve help text
description, install libraries with executable permissions to make
sure they get stripped at the end of the build.]

Signed-off-by: default avatarSpenser Gilliland <spenser@gillilanding.com>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent 2f08cad9
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -295,6 +295,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-cedarx/Config.in"
source "package/sunxi-mali/Config.in"
source "package/sunxi-mali-prop/Config.in"
source "package/sysstat/Config.in"
+14 −0
Original line number Diff line number Diff line
config BR2_PACKAGE_SUNXI_CEDARX
	bool "sunxi-cedarx"
	depends on BR2_TOOLCHAIN_USES_GLIBC && BR2_arm
	help
	  Sunxi CedarX decoder libraries. CedarX is Allwinner's
	  multimedia co-processing technology for hardware accelerated
	  video and image decoding, as used inside their A10 SoC's and
	  others.

	  http://github.com/linux-sunxi/cedarx-libs
	  http://linux-sunxi.org/CedarX

comment "sunxi-cedarx requires an eglibc/glibc based toolchain"
	depends on !BR2_TOOLCHAIN_USES_GLIBC && BR2_arm
+49 −0
Original line number Diff line number Diff line
################################################################################
#
# sunxi-cedarx
#
################################################################################

SUNXI_CEDARX_VERSION = 74923e55fc
SUNXI_CEDARX_SITE = http://github.com/linux-sunxi/cedarx-libs/tarball/$(SUNXI_CEDARX_VERSION)

SUNXI_CEDARX_INSTALL_STAGING = YES

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

define SUNXI_CEDARX_BUILD_CMDS
	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(SUNXI_CEDARX_BIN_DIR)
	$(TARGET_CC) $(TARGET_CFLAGS) \
		-c $(SUNXI_CEDARX_BIN_DIR)/adapter/avheap/avheap.c \
		-o $(SUNXI_CEDARX_BIN_DIR)/adapter/avheap/avheap.o \
		-I $(SUNXI_CEDARX_BIN_DIR)/adapter/avheap \
		-I $(SUNXI_CEDARX_BIN_DIR)/
	$(TARGET_CC) -shared -L./ -Wl,-soname,libavheap.so \
		-o $(SUNXI_CEDARX_BIN_DIR)/adapter/avheap/libavheap.so \
		$(SUNXI_CEDARX_BIN_DIR)/adapter/avheap/avheap.o
endef

define SUNXI_CEDARX_INSTALL_STAGING_CMDS
	$(INSTALL) -d -m 755 $(STAGING_DIR)/usr/include/libvecore
	$(INSTALL) -m 664 $(SUNXI_CEDARX_BIN_DIR)/libvecore/*.h \
		$(STAGING_DIR)/usr/include/libvecore
	$(INSTALL) -m 644 $(SUNXI_CEDARX_BIN_DIR)/*.h \
		$(STAGING_DIR)/usr/include/
	$(INSTALL) -D -m 755 $(SUNXI_CEDARX_BIN_DIR)/libvecore/libvecore.so \
		$(STAGING_DIR)/usr/lib/libvecore.so
	$(INSTALL) -D -m 755 $(SUNXI_CEDARX_BIN_DIR)/adapter/avheap/libavheap.so \
		$(STAGING_DIR)/usr/lib/libavheap.so
endef

define SUNXI_CEDARX_INSTALL_TARGET_CMDS
	$(INSTALL) -D -m 755 $(SUNXI_CEDARX_BIN_DIR)/libvecore/libvecore.so \
		$(TARGET_DIR)/usr/lib/libvecore.so
	$(INSTALL) -D -m 755 $(SUNXI_CEDARX_BIN_DIR)/adapter/avheap/libavheap.so \
		$(TARGET_DIR)/usr/lib/libavheap.so
endef

$(eval $(generic-package))