Initial commit

This commit is contained in:
domenico
2025-06-24 16:04:15 +02:00
commit 11393b3f74
8105 changed files with 1539628 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
#
# 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.15
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-nodoc.tar.gz
PKG_SOURCE_URL:=https://s3.amazonaws.com/json-c_releases/releases/
PKG_HASH:=99bca4f944b8ced8ae0bbc6310d6a3528ca715e69541793a1ef51f8c5b4b0878
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
PKG_CPE_ID:=cpe:/a:json-c_project:json-c
PKG_BUILD_PARALLEL:=1
HOST_BUILD_PREFIX:=$(STAGING_DIR_HOST)
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/cmake.mk
CMAKE_HOST_OPTIONS += \
-DCMAKE_SKIP_RPATH=FALSE \
-DCMAKE_MACOSX_RPATH=1 \
-DCMAKE_INSTALL_RPATH="${STAGING_DIR_HOST}/lib"
define Package/libjson-c
SECTION:=libs
CATEGORY:=Libraries
TITLE:=javascript object notation
URL:=https://json-c.github.io/json-c/
ABI_VERSION:=5
endef
define Package/libjson-c/description
This package contains a library for javascript object notation backends.
endef
define Build/InstallDev
$(call Build/InstallDev/cmake,$(1))
$(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/json-c.pc
$(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/json-c.pc
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))
$(eval $(call HostBuild))

View File

@@ -0,0 +1,45 @@
--- a/math_compat.h
+++ b/math_compat.h
@@ -6,38 +6,9 @@
* @brief Do not use, json-c internal, may be changed or removed at any time.
*/
-/* Define isnan, isinf, infinity and nan on Windows/MSVC */
-
-#ifndef HAVE_DECL_ISNAN
-#ifdef HAVE_DECL__ISNAN
-#include <float.h>
-#define isnan(x) _isnan(x)
-#else
-/* On platforms like AIX and "IBM i" we need to provide our own isnan */
-#define isnan(x) ((x) != (x))
-#endif
-#endif
-
-#ifndef HAVE_DECL_ISINF
-#ifdef HAVE_DECL__FINITE
-#include <float.h>
-#define isinf(x) (!_finite(x))
-#else
-#include <float.h>
-/* On platforms like AIX and "IBM i" we need to provide our own isinf */
-#define isinf(x) ((x) < -DBL_MAX || (x) > DBL_MAX)
-#endif
-#endif
-
-#ifndef HAVE_DECL_INFINITY
-#include <float.h>
-#define INFINITY (DBL_MAX + DBL_MAX)
-#define HAVE_DECL_INFINITY
-#endif
-
-#ifndef HAVE_DECL_NAN
-#define NAN (INFINITY - INFINITY)
-#define HAVE_DECL_NAN
-#endif
+#undef isnan
+#define isnan(x) __builtin_isnan(x)
+#undef isinf
+#define isinf(x) __builtin_isinf(x)
#endif

View File

@@ -0,0 +1,11 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -401,8 +401,6 @@ set(JSON_C_SOURCES
include_directories(${PROJECT_SOURCE_DIR})
include_directories(${PROJECT_BINARY_DIR})
-add_subdirectory(doc)
-
# uninstall
add_custom_target(uninstall
COMMAND cat ${PROJECT_BINARY_DIR}/install_manifest.txt | xargs rm