From 716ca530e1c4515d8683c9d5be3d56b301758b66 Mon Sep 17 00:00:00 2001 From: James <> Date: Wed, 4 Nov 2015 11:49:21 +0000 Subject: trunk-47381 --- package/libs/libjson-c/Makefile | 55 ++++++++++++++++++++++ package/libs/libjson-c/patches/000-libm.patch | 50 ++++++++++++++++++++ .../patches/001-backport_compile_fix.patch | 23 +++++++++ 3 files changed, 128 insertions(+) create mode 100644 package/libs/libjson-c/Makefile create mode 100644 package/libs/libjson-c/patches/000-libm.patch create mode 100644 package/libs/libjson-c/patches/001-backport_compile_fix.patch (limited to 'package/libs/libjson-c') diff --git a/package/libs/libjson-c/Makefile b/package/libs/libjson-c/Makefile new file mode 100644 index 0000000..2b4c0a2 --- /dev/null +++ b/package/libs/libjson-c/Makefile @@ -0,0 +1,55 @@ +# +# Copyright (C) 2006-2014 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=json-c +PKG_VERSION:=0.12 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://s3.amazonaws.com/json-c_releases/releases/ +PKG_MD5SUM:=3ca4bbb881dfc4017e8021b5e0a8c491 + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=COPYING + +PKG_FIXUP:=autoreconf +PKG_INSTALL:=1 + +PKG_MAINTAINER:=Felix Fietkau + +include $(INCLUDE_DIR)/package.mk + +TARGET_CFLAGS += $(FPIC) + +define Package/libjson-c + SECTION:=libs + CATEGORY:=Libraries + TITLE:=javascript object notation + URL:=http://oss.metaparadigm.com/json-c/ +endef + +define Package/libjson-c/description + This package contains a library for javascript object notation backends. +endef + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/include/json-c $(1)/usr/include/ + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libjson-c.{a,so*} $(1)/usr/lib/ + $(INSTALL_DIR) $(1)/usr/lib/pkgconfig + $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/json-c.pc $(1)/usr/lib/pkgconfig/ +endef + +define Package/libjson-c/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libjson-c.so.* $(1)/usr/lib/ +endef + +$(eval $(call BuildPackage,libjson-c)) diff --git a/package/libs/libjson-c/patches/000-libm.patch b/package/libs/libjson-c/patches/000-libm.patch new file mode 100644 index 0000000..45adb05 --- /dev/null +++ b/package/libs/libjson-c/patches/000-libm.patch @@ -0,0 +1,50 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -43,12 +43,6 @@ + AC_FUNC_MALLOC + AC_FUNC_REALLOC + AC_CHECK_FUNCS(strcasecmp strdup strerror snprintf vsnprintf vasprintf open vsyslog strncasecmp setlocale) +-AC_CHECK_DECLS([INFINITY], [], [], [[#include ]]) +-AC_CHECK_DECLS([nan], [], [], [[#include ]]) +-AC_CHECK_DECLS([isnan], [], [], [[#include ]]) +-AC_CHECK_DECLS([isinf], [], [], [[#include ]]) +-AC_CHECK_DECLS([_isnan], [], [], [[#include ]]) +-AC_CHECK_DECLS([_finite], [], [], [[#include ]]) + + #check if .section.gnu.warning accepts long strings (for __warn_references) + AC_LANG_PUSH([C]) +--- a/math_compat.h ++++ b/math_compat.h +@@ -1,28 +1,9 @@ + #ifndef __math_compat_h + #define __math_compat_h + +-/* Define isnan and isinf on Windows/MSVC */ +- +-#ifndef HAVE_DECL_ISNAN +-# ifdef HAVE_DECL__ISNAN +-#include +-#define isnan(x) _isnan(x) +-# endif +-#endif +- +-#ifndef HAVE_DECL_ISINF +-# ifdef HAVE_DECL__FINITE +-#include +-#define isinf(x) (!_finite(x)) +-# endif +-#endif +- +-#ifndef HAVE_DECL_NAN +-#error This platform does not have nan() +-#endif +- +-#ifndef HAVE_DECL_INFINITY +-#error This platform does not have INFINITY +-#endif ++#undef isnan ++#define isnan(x) __builtin_isnan(x) ++#undef isinf ++#define isinf(x) __builtin_isinf(x) + + #endif diff --git a/package/libs/libjson-c/patches/001-backport_compile_fix.patch b/package/libs/libjson-c/patches/001-backport_compile_fix.patch new file mode 100644 index 0000000..e83f5d2 --- /dev/null +++ b/package/libs/libjson-c/patches/001-backport_compile_fix.patch @@ -0,0 +1,23 @@ +commit 3859e99f50abe11a8dade28efa9ea3d99dfaac11 +Author: Petar Koretić +Date: Fri Apr 11 10:03:40 2014 +0200 + + Remove unused variable 'size' + +diff --git a/json_tokener.c b/json_tokener.c +index 19de8ef..9a76293 100644 +--- a/json_tokener.c ++++ b/json_tokener.c +@@ -352,12 +352,10 @@ struct json_object* json_tokener_parse_ex(struct json_tokener *tok, + + case json_tokener_state_inf: /* aka starts with 'i' */ + { +- int size; + int size_inf; + int is_negative = 0; + + printbuf_memappend_fast(tok->pb, &c, 1); +- size = json_min(tok->st_pos+1, json_null_str_len); + size_inf = json_min(tok->st_pos+1, json_inf_str_len); + char *infbuf = tok->pb->buf; + if (*infbuf == '-') -- cgit v1.2.3