libubox: correct json-c handling

Fixes http://autobuild.buildroot.net/results/5a8/5a85e0e132f38a4a1a42c2b041f66003b64e748a/
(and a bunch of similar failures)

libubox has optional json-c handling, including the legacy version which
used libjson.so.  Unfortunately this support is buggy, so we end up with the
wrong compiler flags, and more importantly it gets confused if libjson is
enabled, as that also provides a (incompatible) libjson.so.

Fix it by disabling the legacy handling.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Peter Korsgaard 2014-03-25 23:51:54 +01:00
parent 2e628372d3
commit 4a93b8f72b
2 changed files with 35 additions and 0 deletions

View File

@ -0,0 +1,34 @@
[PATCH] libubox: drop legacy json-c support
The cmake logic is wrong (E.G. PKG_CHECK_FOR_MODULES fails unless all
modules are found), and the legacy libjson.so name is also used by the other
libjson (http://sourceforge.net/projects/libjson/) which provides an
incompatible API, so just drop it.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
CMakeLists.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: libubox-bbd846ec2d72b2629758b69dc122ac0b0f2c3e4b/CMakeLists.txt
===================================================================
--- libubox-bbd846ec2d72b2629758b69dc122ac0b0f2c3e4b.orig/CMakeLists.txt
+++ libubox-bbd846ec2d72b2629758b69dc122ac0b0f2c3e4b/CMakeLists.txt
@@ -13,7 +13,7 @@
ENDIF()
INCLUDE(FindPkgConfig)
-PKG_CHECK_MODULES(JSONC json-c json)
+PKG_CHECK_MODULES(JSONC json-c)
IF(JSONC_FOUND)
ADD_DEFINITIONS(-DJSONC)
INCLUDE_DIRECTORIES(${JSONC_INCLUDE_DIRS})
@@ -42,7 +42,7 @@
ADD_SUBDIRECTORY(lua)
-find_library(json NAMES json-c json)
+find_library(json NAMES json-c)
IF(EXISTS ${json})
ADD_LIBRARY(blobmsg_json SHARED blobmsg_json.c)
TARGET_LINK_LIBRARIES(blobmsg_json ubox ${json})

View File

@ -8,6 +8,7 @@ LIBUBOX_VERSION = bbd846ec2d72b2629758b69dc122ac0b0f2c3e4b
LIBUBOX_SITE = git://nbd.name/luci2/libubox.git
LIBUBOX_LICENSE = LGPLv2.1, GPLv2, BSD-3c, MIT
LIBUBOX_INSTALL_STAGING = YES
LIBUBOX_DEPENDENCIES = host-pkgconf $(if $(BR2_PACKAGE_JSON_C),json-c)
ifeq ($(BR2_PACKAGE_LUA),y)
LIBUBOX_DEPENDENCIES += lua