Commit e5da992f authored by David Bender's avatar David Bender Committed by Thomas Petazzoni
Browse files

benejson: new package



Added C/C++ JSON parsing package benejson.

[Thomas:
 - Get rid of the usage of BENEJSON_SCONS_OPTS, since this variable is
   never defined.
 - Remove BENEJSON_SCONS_ENV, and pass the options directly in the
   definition of <pkg>_BUILD_CMDS.
 - Fix indentation of BENEJSON_BUILD_CMDS.]

Signed-off-by: default avatarDave Bender <bender@benegon.com>
Signed-off-by: default avatarDavid Bender <codehero@gmail.com>
[yann.morin.1998@free.fr: fix static/shared install; enhance help entry;
 fix extra space; add hash]
Signed-off-by: default avatarYann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent 3852a3e5
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -763,6 +763,7 @@ menu "Javascript"
endmenu

menu "JSON/XML"
	source "package/benejson/Config.in"
	source "package/cjson/Config.in"
	source "package/expat/Config.in"
	source "package/ezxml/Config.in"
+11 −0
Original line number Diff line number Diff line
config BR2_PACKAGE_BENEJSON
	bool "benejson"
	help
	  benejson is a buffering SAX-style JSON parser library.
	  The library package contains 3 major components:

	  - benejson.js: SAX-style parser written in Javascript
	  - PullParser: A C++ class for JSON pull parsing
	  - Core: The parsing core with minimal dependencies

	  https://codehero.github.io/benejson/
+2 −0
Original line number Diff line number Diff line
# Localy computed
sha256  2ce5f3c2323500bdf651e7fcaecbd1011997141e6067567b8d2caa4cf7182f4a  benejson-0.9.7.tar.gz
+48 −0
Original line number Diff line number Diff line
################################################################################
#
# benejson
#
################################################################################

BENEJSON_VERSION = 0.9.7
BENEJSON_SITE = $(call github,codehero,benejson,$(BENEJSON_VERSION))
BENEJSON_LICENSE = MIT
BENEJSON_LICENSE_FILES = LICENSE
BENEJSON_INSTALL_STAGING = YES

BENEJSON_DEPENDENCIES = host-scons

define BENEJSON_BUILD_CMDS
	(cd $(@D); \
		$(TARGET_CONFIGURE_OPTS) CROSS=$(TARGET_CROSS) \
		$(SCONS))
endef

ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
define BENEJSON_INSTALL_STATIC_LIB
	$(INSTALL) -D -m 0644 $(@D)/lib/libbenejson.a \
		$(1)/usr/lib/libbenejson.a
endef
endif # Static enabled

ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
define BENEJSON_INSTALL_SHARED_LIB
	$(INSTALL) -D -m 0644 $(@D)/lib/libbenejson.so \
		$(1)/usr/lib/libbenejson.so
endef
endif # Shared enabled

define BENEJSON_INSTALL_STAGING_CMDS
	$(INSTALL) -D -m 0644 $(@D)/include/benejson/benejson.h \
		$(STAGING_DIR)/usr/include/benejson/benejson.h; \
	$(INSTALL) -D -m 0644 $(@D)/include/benejson/pull.hh \
		$(STAGING_DIR)/usr/include/benejson/pull.hh
	$(call BENEJSON_INSTALL_STATIC_LIB,$(STAGING_DIR))
	$(call BENEJSON_INSTALL_SHARED_LIB,$(STAGING_DIR))
endef

define BENEJSON_INSTALL_TARGET_CMDS
	$(call BENEJSON_INSTALL_SHARED_LIB,$(TARGET_DIR))
endef

$(eval $(generic-package))