[OpenWrt-Devel] [PATCH 1/2] fix building with json-c.0.12
Yousong Zhou
yszhou4tech at gmail.com
Fri Feb 27 06:01:05 EST 2015
On 26 February 2015 at 23:52, William Holland
<william.holland at codethink.co.uk> wrote:
> ---
> CMakeLists.txt | 7 +++++++
> plug/hotplug.c | 6 +++++-
> service/validate.c | 6 +++++-
> 3 files changed, 17 insertions(+), 2 deletions(-)
>
> diff --git a/CMakeLists.txt b/CMakeLists.txt
> index 5414677..058d774 100644
> --- a/CMakeLists.txt
> +++ b/CMakeLists.txt
> @@ -14,6 +14,13 @@ SET(SOURCES procd.c signal.c watchdog.c state.c inittab.c rcS.c ubus.c system.c
> service/service.c service/instance.c service/validate.c service/trigger.c service/watch.c
> plug/coldplug.c plug/hotplug.c utils/utils.c)
>
> +INCLUDE(FindPkgConfig)
> +PKG_CHECK_MODULES(JSONC json-c)
> +IF(JSONC_FOUND)
> + ADD_DEFINITIONS(-DJSONC)
> + INCLUDE_DIRECTORIES(${JSONC_INCLUDE_DIRS})
> +ENDIF()
> +
> find_library(json NAMES json-c json)
> SET(LIBS ubox ubus ${json} blobmsg_json json_script)
>
The above only detects the cinclude path for json-c and is not version specific.
> diff --git a/plug/hotplug.c b/plug/hotplug.c
> index 061833a..3bf6253 100644
> --- a/plug/hotplug.c
> +++ b/plug/hotplug.c
> @@ -22,7 +22,11 @@
> #include <libubox/blobmsg_json.h>
> #include <libubox/json_script.h>
> #include <libubox/uloop.h>
> -#include <json/json.h>
> +#ifdef JSONC
> + #include <json.h>
> +#else
> + #include <json/json.h>
> +#endif
>
Original code compiles in OpenWrt because exact copy of json-c header
files are copied to usr/include/json/ in addition to
usr/include/json-c/. I suggest we drop this JSONC convention in
procd, libubox, etc. and stick to pkg-config and "#include <json.h>".
Regards
yousong
> #include <fcntl.h>
> #include <unistd.h>
> diff --git a/service/validate.c b/service/validate.c
> index a33a48e..0e45493 100644
> --- a/service/validate.c
> +++ b/service/validate.c
> @@ -13,7 +13,11 @@
>
> #include <libubox/blobmsg_json.h>
> #include <libubox/avl-cmp.h>
> -#include <json/json.h>
> +#ifdef JSONC
> + #include <json.h>
> +#else
> + #include <json/json.h>
> +#endif
>
> #include "../procd.h"
>
> --
> 1.7.10.4
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list