summaryrefslogtreecommitdiff
path: root/user/libstemmer/build-shared-library.patch
blob: 2ce409e163cf774d8ca1e120854cc0e2d0486731 (plain) (blame)
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
diff '--color=auto' -Nurd libstemmer_c-3.0.1/Makefile libstemmer_c-3.0.1.new/Makefile
--- libstemmer_c-3.0.1/Makefile	2025-05-08 20:10:57.000000000 -0700
+++ libstemmer_c-3.0.1.new/Makefile	2025-05-17 19:10:19.195382517 -0700
@@ -4,10 +4,21 @@
 endif
 CFLAGS=-O2
 CPPFLAGS=-Iinclude
-all: libstemmer.a stemwords$(EXEEXT)
+SNOWBALL_VERSION ?= 
+MAJOR_VERSION ?= ${SNOWBALL_VERSION%.*}
+
+all: libstemmer.a libstemmer.so stemwords$(EXEEXT)
+
 libstemmer.a: $(snowball_sources:.c=.o)
 	$(AR) -cru $@ $^
+
+libstemmer.so: libstemmer/libstemmer.o $(nowball_sources:.c=.o)
+	$(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname,$@.$(MAJOR_VERSION),-version-script,libstemmer/symbol.map -o $@.$(SNOWBALL_VERSION) $^
+	ln -s $@.$(SNOWBALL_VERSION) $@.$(MAJOR_VERSION)
+	ln -s $@.$(SNOWBALL_VERSION) $@
+
 stemwords$(EXEEXT): examples/stemwords.o libstemmer.a
 	$(CC) $(CFLAGS) -o $@ $^
+
 clean:
 	rm -f stemwords$(EXEEXT) libstemmer.a *.o src_c/*.o examples/*.o runtime/*.o libstemmer/*.o
--- /dev/null
+++ b/libstemmer/symbol.map
@@ -0,0 +1,6 @@
+SB_STEMMER_0 {
+    global:
+        sb_stemmer_*;
+    local:
+        *;
+};