summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/Config.in1
-rw-r--r--package/cjson/Config.in7
-rw-r--r--package/cjson/cjson.mk43
3 files changed, 51 insertions, 0 deletions
diff --git a/package/Config.in b/package/Config.in
index b3a2f8011..ddb504a12 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -469,6 +469,7 @@ source "package/slang/Config.in"
endmenu
menu "JSON/XML"
+source "package/cjson/Config.in"
source "package/expat/Config.in"
source "package/ezxml/Config.in"
source "package/json-c/Config.in"
diff --git a/package/cjson/Config.in b/package/cjson/Config.in
new file mode 100644
index 000000000..ff9007477
--- /dev/null
+++ b/package/cjson/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_CJSON
+ bool "cJSON"
+ help
+ An ultra-lightweight, portable, single-file, simple-as-can-be ANSI-C
+ compliant JSON parser, under MIT license.
+
+ http://cjson.sourceforge.net/
diff --git a/package/cjson/cjson.mk b/package/cjson/cjson.mk
new file mode 100644
index 000000000..f0e1fc4a7
--- /dev/null
+++ b/package/cjson/cjson.mk
@@ -0,0 +1,43 @@
+#############################################################
+#
+# cjson
+#
+#############################################################
+CJSON_VERSION = undefined
+CJSON_SOURCE = cJSONFiles.zip
+CJSON_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/cjson/
+CJSON_INSTALL_STAGING = YES
+
+define CJSON_EXTRACT_CMDS
+ unzip -d $(@D) $(DL_DIR)/$(CJSON_SOURCE)
+endef
+
+define CJSON_BUILD_CMDS
+ cd $(@D)/cJSON && $(TARGET_CC) $(TARGET_CFLAGS) -shared -fpic cJSON.c -o libcJSON.so
+endef
+
+define CJSON_INSTALL_STAGING_CMDS
+ $(INSTALL) -D $(@D)/cJSON/cJSON.h $(STAGING_DIR)/usr/include/cJSON.h
+ $(INSTALL) -D $(@D)/cJSON/libcJSON.so $(STAGING_DIR)/usr/lib/libcJSON.so
+endef
+
+define CJSON_INSTALL_TARGET_CMDS
+ $(INSTALL) -D $(@D)/cJSON/cJSON.h $(STAGING_DIR)/usr/include/cJSON.h
+ $(INSTALL) -D $(@D)/cJSON/libcJSON.so $(TARGET_DIR)/usr/lib/libcJSON.so
+endef
+
+define CJSON_UNINSTALL_STAGING_CMDS
+ rm -f $(STAGING_DIR)/usr/include/cJSON.h
+ rm -f $(STAGING_DIR)/usr/lib/libcJSON.so
+endef
+
+define CJSON_UNINSTALL_TARGET_CMDS
+ rm -f $(TARGET_DIR)/usr/include/cJSON.h
+ rm -f $(TARGET_DIR)/usr/lib/libcJSON.so
+endef
+
+define CJSON_CLEAN_CMDS
+ cd $(@D)/cJSON && rm -f libcJSON.so
+endef
+
+$(eval $(call GENTARGETS))