Browse Source

New package: zxing

[Peter: build using make instead of scons, fixup whitespace, target install]
Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Frank Hunleth 13 years ago
parent
commit
47aa58a4dd
4 changed files with 84 additions and 0 deletions
  1. 1 0
      package/Config.in
  2. 14 0
      package/zxing/Config.in
  3. 30 0
      package/zxing/zxing-makefile.patch
  4. 39 0
      package/zxing/zxing.mk

+ 1 - 0
package/Config.in

@@ -361,6 +361,7 @@ source "package/pango/Config.in"
 source "package/pixman/Config.in"
 source "package/tiff/Config.in"
 source "package/webkit/Config.in"
+source "package/zxing/Config.in"
 endmenu
 
 menu "Hardware handling"

+ 14 - 0
package/zxing/Config.in

@@ -0,0 +1,14 @@
+comment "zxing requires a toolchain with C++ support"
+	depends on !BR2_INSTALL_LIBSTDCPP
+
+config BR2_PACKAGE_ZXING
+	bool "zxing"
+	depends on BR2_INSTALL_LIBSTDCPP
+	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
+	help
+	  ZXing (pronounced "zebra crossing") is an open-source,
+	  multi-format 1D/2D barcode image processing library
+	  implemented in Java, with ports to other languages. This
+	  compiles the C++ port.
+
+	  http://code.google.com/p/zxing/

+ 30 - 0
package/zxing/zxing-makefile.patch

@@ -0,0 +1,30 @@
+[PATCH] add Makefile
+
+The scons based build system doesn't handle cross compilation, special
+compiler flags or (un)installation, so add a simple makefile instead
+which does.
+
+Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
+---
+ cpp/core/src/Makefile |   14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+Index: zxing-2.0/cpp/core/src/Makefile
+===================================================================
+--- /dev/null
++++ zxing-2.0/cpp/core/src/Makefile
+@@ -0,0 +1,14 @@
++override CXXFLAGS += -I.
++SRCS := $(shell find -name '*.cpp')
++
++libzxing.a: $(SRCS:.cpp=.o)
++	$(AR) $(ARFLAGS) $@ $^
++
++install: libzxing.a
++	install -D -m 0644 $^ $(DESTDIR)/usr/lib/$^
++	find -name '*.h' -exec install -m 0644 -D "{}" \
++		"$(DESTDIR)/usr/include/{}" ";"
++
++uninstall:
++	rm -f $(DESTDIR)/usr/lib/libzxing.a
++	rm -rf $(DESTDIR)/usr/include/zxing

+ 39 - 0
package/zxing/zxing.mk

@@ -0,0 +1,39 @@
+#############################################################
+#
+# zxing
+#
+#############################################################
+ZXING_VERSION = 2.0
+ZXING_SITE = http://zxing.googlecode.com/files
+ZXING_SOURCE = ZXing-$(ZXING_VERSION).zip
+ZXING_INSTALL_STAGING = YES
+
+ifneq ($(BR2_ENABLE_LOCALE),y)
+ZXING_DEPENDENCIES += libiconv
+endif
+
+define ZXING_EXTRACT_CMDS
+	unzip -d $(BUILD_DIR) $(DL_DIR)/$(ZXING_SOURCE)
+endef
+
+define ZXING_BUILD_CMDS
+	$(MAKE) -C $(@D)/cpp/core/src $(TARGET_CONFIGURE_OPTS)
+endef
+
+define ZXING_INSTALL_STAGING_CMDS
+	$(MAKE) -C $(@D)/cpp/core/src DESTDIR=$(STAGING_DIR) install
+endef
+
+define ZXING_UNINSTALL_STAGING_CMDS
+	$(MAKE) -C $(@D)/cpp/core/src DESTDIR=$(STAGING_DIR) uninstall
+endef
+
+define ZXING_INSTALL_TARGET_CMDS
+	$(MAKE) -C $(@D)/cpp/core/src DESTDIR=$(TARGET_DIR) install
+endef
+
+define ZXING_UNINSTALL_TARGET_CMDS
+	$(MAKE) -C $(@D)/cpp/core/src DESTDIR=$(TARGET_DIR) uninstall
+endef
+
+$(eval $(call GENTARGETS))