Browse Source

yajl: add yajl

Adds YAJL (Yet Another JSON Library), a C library for parsing JSON.
Includes patches for uClibc support.
Improved from version used internally at Who's On My WiFi since Feb 2014.
Adds myself as maintainer.

Signed-off-by: Charles Southerland <charlie@stuphlabs.com>
lilik-openwrt-22.03
Charles Southerland 9 years ago
parent
commit
f3eeede823
3 changed files with 78 additions and 0 deletions
  1. +59
    -0
      libs/yajl/Makefile
  2. +11
    -0
      libs/yajl/patches/100-link-reformatter-uclibc-libm.patch
  3. +8
    -0
      libs/yajl/patches/101-link-perf-uclibc-libm.patch

+ 59
- 0
libs/yajl/Makefile View File

@ -0,0 +1,59 @@
#
# Copyright (C) 2014, 2015 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:=yajl
PKG_VERSION:=2.1.0
PKG_RELEASE:=1
PKG_MAINTAINER:=Charles Southerland <charlie@stuphlabs.com>
PKG_LICENSE:=ISC
PKG_LICENSE_FILES:=COPYING
PKG_REV:=66cb08ca2ad8581080b626a75dfca266a890afb2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=$(PKG_REV)
PKG_SOURCE_URL:=git://github.com/lloyd/yajl.git
PKG_SOURCE_PROTO:=git
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
define Package/yajl
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Yet Another JSON Library
URL:=http://lloyd.github.io/yajl
endef
define Package/yajl/description
Yet Another JSON Library. YAJL is a small event-driven (SAX-style)
JSON parser written in ANSI C, and a small validating JSON generator.
YAJL is released under the ISC license.
YAJL was created by Lloyd Hilaiel.
endef
PKG_INSTALL:=1
CMAKE_OPTIONS += \
-DCMAKE_BUILD_TYPE:String="Release"
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/yajl $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libyajl.so* $(1)/usr/lib/
endef
define Package/yajl/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libyajl.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,yajl))

+ 11
- 0
libs/yajl/patches/100-link-reformatter-uclibc-libm.patch View File

@ -0,0 +1,11 @@
--- a/reformatter/CMakeLists.txt
+++ b/reformatter/CMakeLists.txt
@@ -26,7 +26,7 @@
ADD_EXECUTABLE(json_reformat ${SRCS})
-TARGET_LINK_LIBRARIES(json_reformat yajl_s)
+TARGET_LINK_LIBRARIES(json_reformat yajl_s m)
# copy the binary into the output directory
GET_TARGET_PROPERTY(binPath json_reformat LOCATION)

+ 8
- 0
libs/yajl/patches/101-link-perf-uclibc-libm.patch View File

@ -0,0 +1,8 @@
--- a/perf/CMakeLists.txt
+++ b/perf/CMakeLists.txt
@@ -20,4 +20,4 @@
ADD_EXECUTABLE(perftest ${SRCS})
-TARGET_LINK_LIBRARIES(perftest yajl_s)
+TARGET_LINK_LIBRARIES(perftest yajl_s m)

Loading…
Cancel
Save