* [Buildroot] [PATCH v3,1/1] cjson: bump to version v1.0.2
@ 2016-11-29 19:31 Fabrice Fontaine
2016-11-30 21:20 ` Thomas Petazzoni
0 siblings, 1 reply; 2+ messages in thread
From: Fabrice Fontaine @ 2016-11-29 19:31 UTC (permalink / raw)
To: buildroot
This is a major update in cjson:
- project site moved from sourceforge to github
- project recommends to use the new cmake buildsystem instead of the
legacy make
- BR2_STATIC_LIBS is now OK (README does not mention issue anymore)
- As include path and library name have changed, tinycbor has to be
updated
Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com>
---
Changes v2 -> v3 (after review of Thomas Petazzoni):
- Update commit message
- Merge tinycbor patch inside cjson patch
Changes v1 -> v2 (after review of Danomi Manchego):
- Retrieve cjson version v1.0.1 instead of v1.0.0
package/cjson/Config.in | 4 +-
package/cjson/cjson.hash | 2 +
package/cjson/cjson.mk | 22 +------
.../tinycbor/0001-Update-cjson-include-path.patch | 69 ++++++++++++++++++++++
4 files changed, 75 insertions(+), 22 deletions(-)
create mode 100644 package/cjson/cjson.hash
create mode 100644 package/tinycbor/0001-Update-cjson-include-path.patch
diff --git a/package/cjson/Config.in b/package/cjson/Config.in
index bbe4c4a..04eff4c 100644
--- a/package/cjson/Config.in
+++ b/package/cjson/Config.in
@@ -1,9 +1,7 @@
config BR2_PACKAGE_CJSON
bool "cJSON"
- # For static build with cJSON.c directly see README
- depends on !BR2_STATIC_LIBS
help
An ultra-lightweight, portable, single-file, simple-as-can-be ANSI-C
compliant JSON parser, under MIT license.
- http://cjson.sourceforge.net/
+ https://github.com/DaveGamble/cJSON
diff --git a/package/cjson/cjson.hash b/package/cjson/cjson.hash
new file mode 100644
index 0000000..27f1d46
--- /dev/null
+++ b/package/cjson/cjson.hash
@@ -0,0 +1,2 @@
+# Locally computed:
+sha256 5c3a4a77796b230efbd74369b0974d14ac0408f2677bd116d4a4b5894b9be372 cjson-v1.0.2.tar.gz
diff --git a/package/cjson/cjson.mk b/package/cjson/cjson.mk
index 8f21ef8..c544a77 100644
--- a/package/cjson/cjson.mk
+++ b/package/cjson/cjson.mk
@@ -4,26 +4,10 @@
#
################################################################################
-CJSON_VERSION = 58
-CJSON_SITE_METHOD = svn
-CJSON_SITE = http://svn.code.sf.net/p/cjson/code
+CJSON_VERSION = v1.0.2
+CJSON_SITE = $(call github,DaveGamble,cjson,$(CJSON_VERSION))
CJSON_INSTALL_STAGING = YES
CJSON_LICENSE = MIT
CJSON_LICENSE_FILES = LICENSE
-define CJSON_BUILD_CMDS
- cd $(@D) && $(TARGET_CC) $(TARGET_CFLAGS) -shared -fPIC -lm \
- cJSON.c -o libcJSON.so
-endef
-
-define CJSON_INSTALL_STAGING_CMDS
- $(INSTALL) -D $(@D)/cJSON.h $(STAGING_DIR)/usr/include/cJSON.h
- $(INSTALL) -D $(@D)/libcJSON.so $(STAGING_DIR)/usr/lib/libcJSON.so
-endef
-
-define CJSON_INSTALL_TARGET_CMDS
- $(INSTALL) -D $(@D)/cJSON.h $(TARGET_DIR)/usr/include/cJSON.h
- $(INSTALL) -D $(@D)/libcJSON.so $(TARGET_DIR)/usr/lib/libcJSON.so
-endef
-
-$(eval $(generic-package))
+$(eval $(cmake-package))
diff --git a/package/tinycbor/0001-Update-cjson-include-path.patch b/package/tinycbor/0001-Update-cjson-include-path.patch
new file mode 100644
index 0000000..5eea937
--- /dev/null
+++ b/package/tinycbor/0001-Update-cjson-include-path.patch
@@ -0,0 +1,69 @@
+From 9aa79d8e9e38b31b34d9933a266c698e79808a79 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fabrice.fontaine@orange.com>
+Date: Sun, 13 Nov 2016 15:43:40 +0100
+Subject: [PATCH] Update cjson include path
+
+Since cjson-v1.0.0 (https://github.com/DaveGamble/cJSON/releases),
+cJSON.h is installed into cjson/cJSON.h and library has been renamed
+from cJSON to cjson
+
+Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com>
+---
+ Makefile | 4 ++--
+ Makefile.configure | 4 ++--
+ tools/json2cbor/json2cbor.c | 2 +-
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index acd52eb..905fbdf 100644
+--- a/Makefile
++++ b/Makefile
+@@ -82,12 +82,12 @@ ifeq ($(open_memstream-pass),)
+ endif
+ endif
+
+-# json2cbor depends on an external library (cJSON)
++# json2cbor depends on an external library (cjson)
+ ifneq ($(cjson-pass)$(system-cjson-pass),)
+ JSON2CBOR_SOURCES = tools/json2cbor/json2cbor.c
+ INSTALL_TARGETS += $(bindir)/json2cbor
+ ifeq ($(system-cjson-pass),1)
+- LDFLAGS_CJSON = -lcJSON
++ LDFLAGS_CJSON = -lcjson
+ else
+ JSON2CBOR_SOURCES += src/cjson/cJSON.c
+ json2cbor_CCFLAGS = -I$(SRCDIR)src/cjson
+diff --git a/Makefile.configure b/Makefile.configure
+index 28f4c92..424efb3 100644
+--- a/Makefile.configure
++++ b/Makefile.configure
+@@ -10,11 +10,11 @@ PROGRAM-gc_sections = int main() {}
+ CCFLAGS-gc_sections = -Wl,--gc-sections
+
+ PROGRAM-cjson = \#include <stdlib.h>\n
+-PROGRAM-cjson += \#include <cJSON.h>\n
++PROGRAM-cjson += \#include <cjson/cJSON.h>\n
+ PROGRAM-cjson += int main() { return cJSON_False; }
+ CCFLAGS-cjson = -I$(dir $(MAKEFILE))src/cjson
+ PROGRAM-system-cjson = $(PROGRAM-cjson)
+-CCFLAGS-system-cjson = -lcJSON
++CCFLAGS-system-cjson = -lcjson
+
+ sink:
+ @echo >&2 Please run from the top-level Makefile.
+diff --git a/tools/json2cbor/json2cbor.c b/tools/json2cbor/json2cbor.c
+index 96d3ed1..e194299 100644
+--- a/tools/json2cbor/json2cbor.c
++++ b/tools/json2cbor/json2cbor.c
+@@ -27,7 +27,7 @@
+ #include "cbor.h"
+ #include "compilersupport_p.h"
+
+-#include <cJSON.h>
++#include <cjson/cJSON.h>
+
+ #include <errno.h>
+ #include <math.h>
+--
+2.5.0
+
--
2.5.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [Buildroot] [PATCH v3,1/1] cjson: bump to version v1.0.2
2016-11-29 19:31 [Buildroot] [PATCH v3,1/1] cjson: bump to version v1.0.2 Fabrice Fontaine
@ 2016-11-30 21:20 ` Thomas Petazzoni
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni @ 2016-11-30 21:20 UTC (permalink / raw)
To: buildroot
Hello,
On Tue, 29 Nov 2016 20:31:48 +0100, Fabrice Fontaine wrote:
> This is a major update in cjson:
> - project site moved from sourceforge to github
> - project recommends to use the new cmake buildsystem instead of the
> legacy make
> - BR2_STATIC_LIBS is now OK (README does not mention issue anymore)
> - As include path and library name have changed, tinycbor has to be
> updated
>
> Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com>
Unfortunately, with this patch applied to the next branch, the
following defconfig:
BR2_arm=y
BR2_STATIC_LIBS=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-static-2016.08-613-ge98b4dd.tar.bz2"
BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14=y
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_CJSON=y
BR2_PACKAGE_TINYCBOR=y
# BR2_TARGET_ROOTFS_TAR is not set
does not build:
/home/thomas/projets/buildroot/output/host/usr/bin/arm-linux-gcc -o bin/cbordump -static tools/cbordump/cbordump.o lib/libtinycbor.a -lm
/home/thomas/projets/buildroot/output/host/usr/bin/arm-linux-gcc -o bin/json2cbor -static -lcjson tools/json2cbor/json2cbor.o lib/libtinycbor.a -lm
tools/json2cbor/json2cbor.o: In function `get_meta_data':
json2cbor.c:(.text.get_meta_data+0x3c): undefined reference to `cJSON_GetObjectItem'
tools/json2cbor/json2cbor.o: In function `main':
json2cbor.c:(.text.startup.main+0x244): undefined reference to `cJSON_ParseWithOpts'
json2cbor.c:(.text.startup.main+0x294): undefined reference to `cJSON_Delete'
collect2: error: ld returned 1 exit status
Makefile:118: recipe for target 'bin/json2cbor' failed
make[2]: *** [bin/json2cbor] Error 1
package/pkg-generic.mk:216: recipe for target '/home/thomas/projets/buildroot/output/build/tinycbor-v0.4/.stamp_built' failed
make[1]: *** [/home/thomas/projets/buildroot/output/build/tinycbor-v0.4/.stamp_built] Error 2
Makefile:79: recipe for target '_all' failed
Could you have a look and send an updated version?
Thanks a lot!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-11-30 21:20 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-29 19:31 [Buildroot] [PATCH v3,1/1] cjson: bump to version v1.0.2 Fabrice Fontaine
2016-11-30 21:20 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox