Date: Tue, 30 Jul 2024 21:11:48 +0300 Subject: [PATCH] Unbundle cJSON Signed-off-by: Arthur Zamarin --- a/configure.ac +++ b/configure.ac @@ -61,6 +61,8 @@ AC_ARG_ENABLE([profiling], AS_HELP_STRING([--enable-profiling], [Enable iperf3 profiling binary])) AM_CONDITIONAL([ENABLE_PROFILING], [test x$enable_profiling = xyes]) +PKG_CHECK_MODULES([libcjson], [libcjson >= 1.7.15]) + # Check for the math library (needed by cjson on some platforms) AC_SEARCH_LIBS(floor, [m], [], [ echo "floor()" --- a/src/Makefile.am +++ b/src/Makefile.am @@ -10,8 +10,6 @@ include_HEADERS = iperf_api.h # Define # Specify the source files and flags for the iperf library libiperf_la_SOURCES = \ - cjson.c \ - cjson.h \ flowlabel.h \ iperf.h \ iperf_api.c \ @@ -46,10 +44,13 @@ libiperf_la_SOURCES = \ units.c \ units.h \ version.h +libiperf_la_CPPFLAGS = $(CPPFLAGS) @libcjson_CFLAGS@ +libiperf_la_LIBADD = @libcjson_LIBS@ # Specify the sources and various flags for the iperf binary iperf3_SOURCES = main.c -iperf3_LDADD = libiperf.la +iperf3_CPPFLAGS = $(CPPFLAGS) @libcjson_CFLAGS@ +iperf3_LDADD = libiperf.la @libcjson_LIBS@ if ENABLE_PROFILING # If the iperf-profiled-binary is enabled --- a/src/iperf.h +++ b/src/iperf.h @@ -52,7 +52,7 @@ #include "timer.h" #include "queue.h" -#include "cjson.h" +#include #include "iperf_time.h" #include "portable_endian.h" --- a/src/iperf_api.c +++ b/src/iperf_api.c @@ -79,7 +79,7 @@ #endif /* HAVE_SCTP_H */ #include "timer.h" -#include "cjson.h" +#include #include "units.h" #include "iperf_util.h" #include "iperf_locale.h" --- a/src/iperf_tcp.c +++ b/src/iperf_tcp.c @@ -42,7 +42,7 @@ #include "iperf_api.h" #include "iperf_tcp.h" #include "net.h" -#include "cjson.h" +#include #if defined(HAVE_FLOWLABEL) #include "flowlabel.h" --- a/src/iperf_udp.c +++ b/src/iperf_udp.c @@ -45,7 +45,7 @@ #include "iperf_udp.h" #include "timer.h" #include "net.h" -#include "cjson.h" +#include /* iperf_udp_recv * --- a/src/iperf_util.c +++ b/src/iperf_util.c @@ -46,7 +46,7 @@ #include #include -#include "cjson.h" +#include #include "iperf.h" #include "iperf_api.h" --- a/src/iperf_util.h +++ b/src/iperf_util.h @@ -28,7 +28,7 @@ #define __IPERF_UTIL_H #include "iperf_config.h" -#include "cjson.h" +#include #include #include -- 2.45.2