summaryrefslogtreecommitdiff
path: root/net-im/bitlbee/files/bitlbee-3.6-system-json-parser.patch
blob: 0a9c197d763d15b568b70718a7dd293b4b75513f (plain)
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
This is adapted patch from upstream PR 151. Original PR defines
--external-json-parser which breaks configuration, see [1]. It was changed to
--externaljsonparser and $external_json_parser to $externaljsonparser.
Additionally, LDFLAGS_CHECK variable was introduced in order to make
tests working, see [2] and #865667.

[1] https://github.com/bitlbee/bitlbee/pull/151#issuecomment-1201181905
[2] https://github.com/bitlbee/bitlbee/pull/151#issuecomment-1219254239

Upstream-PR: https://github.com/bitlbee/bitlbee/pull/151

diff --git a/configure b/configure
index fd8d363a..39495515 100755
--- a/configure
+++ b/configure
@@ -47,6 +47,7 @@ plugins=1
 otr=0
 
 events=glib
+externaljsonparser=auto
 ssl=auto
 
 pam=0
@@ -148,6 +149,7 @@ Option		Description				Default
 --events=...	Event handler (glib, libevent)		$events
 --ssl=...	SSL library to use (gnutls, nss, openssl, auto)
 							$ssl
+--externaljsonparser=0/1/auto	Use External JSON parser $externaljsonparser
 
 
 --target=...	Cross compilation target 		same as host
@@ -398,6 +400,21 @@ else
 fi
 echo 'EVENT_HANDLER=events_'$events'.o' >> Makefile.settings
 
+if [ "$externaljsonparser" = "auto" ]; then
+	if pkg-config --exists json-parser; then
+		externaljsonparser=1
+	else
+		externaljsonparser=0
+	fi
+fi
+echo "EXTERNAL_JSON_PARSER=$externaljsonparser" >> Makefile.settings
+if [ "$externaljsonparser" = "1" ]; then
+    echo "CFLAGS+=$(pkg-config --cflags json-parser)" >> Makefile.settings
+    echo "LDFLAGS_BITLBEE+=$(pkg-config --libs json-parser)" >> Makefile.settings
+    echo "LDFLAGS_CHECK+=$(pkg-config --libs json-parser)" >> Makefile.settings
+fi
+
+
 detect_gnutls()
 {
 	if $PKG_CONFIG --exists gnutls; then
@@ -979,6 +996,12 @@ else
 	echo '  systemd disabled.'
 fi
 
+if [ "$externaljsonparser" = "1" ]; then
+    echo '  Using system JSON parser.'
+else
+    echo '  Using bundled JSON parser.'
+fi
+
 echo '  Using event handler: '$events
 echo '  Using SSL library: '$ssl
 #echo '  Building with these storage backends: '$STORAGES
diff --git a/lib/Makefile b/lib/Makefile
index fc46aedc..ad95d9cb 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -12,7 +12,11 @@ _SRCDIR_ := $(_SRCDIR_)lib/
 endif
 
 # [SH] Program variables
-objects = arc.o base64.o canohost.o $(EVENT_HANDLER) ftutil.o http_client.o ini.o json.o json_util.o md5.o misc.o oauth.o oauth2.o proxy.o sha1.o $(SSL_CLIENT) url.o xmltree.o ns_parse.o
+objects = arc.o base64.o canohost.o $(EVENT_HANDLER) ftutil.o http_client.o ini.o json_util.o md5.o misc.o oauth.o oauth2.o proxy.o sha1.o $(SSL_CLIENT) url.o xmltree.o ns_parse.o
+
+ifneq ($(EXTERNAL_JSON_PARSER),1)
+objects += json.o
+endif
 
 LFLAGS += -r
 
diff --git a/tests/Makefile b/tests/Makefile
index 76122a2f..2235bf1d 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -20,7 +20,7 @@ test_objs = check.o check_util.o check_nick.o check_md5.o check_arc.o check_irc.
 
 check: $(test_objs) $(addprefix ../, $(main_objs)) ../protocols/protocols.o ../lib/lib.o
 	@echo '*' Linking $@
-	$(VERBOSE) $(CC) $(CFLAGS) -o $@ $^ $(LFLAGS) $(EFLAGS)
+	$(VERBOSE) $(CC) $(CFLAGS) -o $@ $^ $(LFLAGS) $(LDFLAGS_CHECK) $(EFLAGS)
 
 %.o: $(_SRCDIR_)%.c
 	@echo '*' Compiling $<
-- 
2.35.1