1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
From: Aron Xu <aron@debian.org>
Date: Fri, 21 Mar 2026 00:42:10 +0900
Subject: Add support for libjsonparser-dev
Comments: Previous version by Roger Shimizu <rosh@debian.org>
Forwarded: not-needed
Closes: #958255
---
src/CMakeLists.txt | 17 ++++++++++-------
src/jconf.c | 2 +-
src/manager.c | 2 +-
tests/CMakeLists.txt | 8 ++++----
tests/test_json.c | 2 +-
5 files changed, 17 insertions(+), 14 deletions(-)
Index: shadowsocks-libev/src/CMakeLists.txt
===================================================================
--- shadowsocks-libev.orig/src/CMakeLists.txt
+++ shadowsocks-libev/src/CMakeLists.txt
@@ -28,9 +28,10 @@ set(SS_SHARED_SOURCES
ppbloom.c
utils.c
jconf.c
- json.c
netutils.c
)
+find_library(LIBJSONPARSER jsonparser)
+find_library(LIBJSONPARSER_SHARED jsonparser)
if (MINGW)
set(SS_SHARED_SOURCES ${SS_SHARED_SOURCES} winsock.c)
endif ()
@@ -115,6 +116,7 @@ list(APPEND DEPS
${LIBEV}
${LIBUDNS}
${LIBPCRE2}
+ ${LIBJSONPARSER}
${LIBSODIUM}
${LIBMBEDTLS}
${LIBMBEDCRYPTO}
@@ -144,6 +146,7 @@ list(APPEND DEPS_SHARED
${LIBEV_SHARED}
${LIBUDNS_SHARED}
${LIBPCRE2_SHARED}
+ ${LIBJSONPARSER_SHARED}
${LIBSODIUM_SHARED}
${LIBMBEDTLS_SHARED}
${LIBMBEDCRYPTO_SHARED}
@@ -160,6 +163,7 @@ list(APPEND DEPS_SHARED
${LIBEV_SHARED}
${LIBUDNS_SHARED}
${LIBPCRE2_SHARED}
+ ${LIBJSONPARSER_SHARED}
${LIBSODIUM_SHARED}
${LIBMBEDTLS_SHARED}
${LIBMBEDCRYPTO_SHARED}
@@ -225,7 +229,7 @@ target_include_directories(shadowsocks-l
target_link_libraries(ss-server cork ipset ${DEPS} ${DEPS_CONNMARKTOS} ${DEPS_NFTABLES})
target_link_libraries(ss-tunnel cork ${DEPS})
-target_link_libraries(ss-manager m bloom cork ${LIBEV} ${LIBUDNS})
+target_link_libraries(ss-manager m bloom cork ${LIBEV} ${LIBUDNS} ${LIBJSONPARSER})
target_link_libraries(ss-local cork ipset ${DEPS})
target_link_libraries(ss-redir cork ipset ${DEPS})
target_link_libraries(shadowsocks-libev cork ipset ${DEPS})
Index: shadowsocks-libev/tests/CMakeLists.txt
===================================================================
--- shadowsocks-libev.orig/tests/CMakeLists.txt
+++ shadowsocks-libev/tests/CMakeLists.txt
@@ -13,6 +13,8 @@ if(WITH_EMBEDDED_SRC)
include_directories(${PROJECT_SOURCE_DIR}/libbloom)
endif()
+find_library(LIBJSONPARSER_SHARED jsonparser)
+
# Helper function to add a unit test
function(ss_add_test name sources libs)
add_executable(${name} ${sources})
@@ -33,8 +35,8 @@ ss_add_test(test_utils
# test_json - standalone json parser
ss_add_test(test_json
- "test_json.c;${PROJECT_SOURCE_DIR}/src/json.c"
- "m")
+ "test_json.c"
+ "${LIBJSONPARSER_SHARED};m")
# test_netutils - needs cork for ip address parsing
set(TEST_NETUTILS_LIBS
@@ -92,8 +94,9 @@ if(WITH_EMBEDDED_SRC)
else()
list(APPEND TEST_JCONF_LIBS ${LIBCORK_SHARED})
endif()
+list(APPEND TEST_JCONF_LIBS ${LIBJSONPARSER_SHARED})
ss_add_test(test_jconf
- "test_jconf.c;${PROJECT_SOURCE_DIR}/src/jconf.c;${PROJECT_SOURCE_DIR}/src/json.c;${PROJECT_SOURCE_DIR}/src/utils.c;${PROJECT_SOURCE_DIR}/src/netutils.c"
+ "test_jconf.c;${PROJECT_SOURCE_DIR}/src/jconf.c;${PROJECT_SOURCE_DIR}/src/utils.c;${PROJECT_SOURCE_DIR}/src/netutils.c"
"${TEST_JCONF_LIBS};m")
# test_buffer - needs sodium and mbedtls for crypto.c buffer functions
Index: shadowsocks-libev/src/jconf.c
===================================================================
--- shadowsocks-libev.orig/src/jconf.c
+++ shadowsocks-libev/src/jconf.c
@@ -28,7 +28,7 @@
#include "netutils.h"
#include "utils.h"
#include "jconf.h"
-#include "json.h"
+#include <json-parser/json.h>
#include "string.h"
#include <libcork/core.h>
Index: shadowsocks-libev/src/manager.c
===================================================================
--- shadowsocks-libev.orig/src/manager.c
+++ shadowsocks-libev/src/manager.c
@@ -56,7 +56,7 @@
#define SET_INTERFACE
#endif
-#include "json.h"
+#include <json-parser/json.h>
#include "utils.h"
#include "netutils.h"
#include "manager.h"
Index: shadowsocks-libev/tests/test_json.c
===================================================================
--- shadowsocks-libev.orig/tests/test_json.c
+++ shadowsocks-libev/tests/test_json.c
@@ -2,7 +2,7 @@
#include <string.h>
#include <stdlib.h>
-#include "json.h"
+#include <json-parser/json.h>
static void
test_parse_simple_object(void)
|