Commit 48a68499 authored by Simon Dawson's avatar Simon Dawson Committed by Peter Korsgaard
Browse files

schifra: new package



[Peter: minor fixes/cleanups]
Signed-off-by: default avatarSimon Dawson <spdawson@gmail.com>
Signed-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
parent b9e89b34
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -473,6 +473,7 @@ source "package/mtdev2tuio/Config.in"
source "package/orc/Config.in"
source "package/poco/Config.in"
source "package/protobuf/Config.in"
source "package/schifra/Config.in"
source "package/startup-notification/Config.in"
endmenu

+18 −0
Original line number Diff line number Diff line
config BR2_PACKAGE_SCHIFRA
	bool "schifra"
	depends on BR2_INSTALL_LIBSTDCPP
	help
	  Schifra is a very robust, highly optimized and extremely configurable
	  Reed-Solomon error correcting code library for both software and IP
	  core based applications with implementations in C++ and VHDL.

	  http://www.schifra.com/

config BR2_PACKAGE_SCHIFRA_EXAMPLES
	bool "schifra examples"
	depends on BR2_PACKAGE_SCHIFRA
	help
	  Build and install the schifra example applications.

comment "schifra requires a toolchain with C++ support enabled"
	depends on !BR2_INSTALL_LIBSTDCPP
+55 −0
Original line number Diff line number Diff line
#############################################################
#
# schifra
#
#############################################################
SCHIFRA_VERSION = 0.0.1
SCHIFRA_SITE = http://www.schifra.com/downloads
SCHIFRA_SOURCE = schifra.tgz
SCHIFRA_INSTALL_STAGING = YES
SCHIFRA_LICENSE = schifra license
SCHIFRA_LICENSE_FILES = schifra_license.txt

SCHIFRA_MAKE_OPT = COMPILER="$(TARGET_CXX)" \
		   OPTIONS="$(TARGET_CFLAGS) $(TARGET_LDFLAGS) -o"

# The examples are the only buildable artefacts.
ifeq ($(BR2_PACKAGE_SCHIFRA_EXAMPLES),y)
define SCHIFRA_BUILD_CMDS
	$(MAKE) -C $(@D) $(SCHIFRA_MAKE_OPT) all
endef

define SCHIFRA_INSTALL_EXAMPLES
	cd $(@D) && for i in `find -type f -name 'schifra_*' -executable` ; \
	do \
		$(INSTALL) -m 0755 -D $$i (TARGET_DIR)/usr/bin/$$i; \
	done
endef

SCHIFRA_POST_TARGET_INSTALL_HOOKS += SCHIFRA_INSTALL_EXAMPLES
endif

define SCHIFRA_INSTALL_TARGET_CMDS
	cd $(@D) && for i in schifra_*.hpp; do \
		$(INSTALL) -m 0644 -D $$i $(TARGET_DIR)/usr/include/$$i; done
endef

define SCHIFRA_INSTALL_STAGING_CMDS
	cd $(@D) && for i in schifra_*.hpp; do \
		$(INSTALL) -m 0644 -D $$i $(STAGING_DIR)/usr/include/$$i; done
endef

define SCHIFRA_UNINSTALL_TARGET_CMDS
	$(RM) $(TARGET_DIR)/usr/include/schifra_*.hpp
	$(RM) $(TARGET_DIR)/usr/bin/schifra_*
endef

define SCHIFRA_UNINSTALL_STAGING_CMDS
	$(RM) $(STAGING_DIR)/usr/include/schifra_*.hpp
endef

define SCHIFRA_CLEAN_CMDS
	$(MAKE) -C $(@D) $(SCHIFRA_MAKE_OPT) clean
endef

$(eval $(generic-package))