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: Dave Bender <bender@benegon.com>
Signed-off-by: David Bender <codehero@gmail.com>
[yann.morin.1998@free.fr: fix static/shared install; enhance help entry;
 fix extra space; add hash]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
David Bender 2015-01-25 18:57:42 +01:00 committed by Thomas Petazzoni
parent 3852a3e526
commit e5da992f20
4 changed files with 62 additions and 0 deletions

View file

@ -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"

View file

@ -0,0 +1,11 @@
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/

View file

@ -0,0 +1,2 @@
# Localy computed
sha256 2ce5f3c2323500bdf651e7fcaecbd1011997141e6067567b8d2caa4cf7182f4a benejson-0.9.7.tar.gz

View file

@ -0,0 +1,48 @@
################################################################################
#
# 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))