summaryrefslogtreecommitdiffstats
path: root/source/l/lmdb/lmdb-make.patch
blob: eca03ef39a4e5ea3f03440d559ded1298fd32452 (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
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
diff -up lmdb-LMDB_0.9.19/libraries/liblmdb/Makefile.orig lmdb-LMDB_0.9.19/libraries/liblmdb/Makefile
--- lmdb-LMDB_0.9.19/libraries/liblmdb/Makefile.orig	2017-01-04 12:14:24.303344915 +0100
+++ lmdb-LMDB_0.9.19/libraries/liblmdb/Makefile	2017-01-04 12:19:20.190295319 +0100
@@ -26,6 +26,7 @@ OPT = -O2 -g
 CFLAGS	= $(THREADS) $(OPT) $(W) $(XCFLAGS)
 LDLIBS	=
 SOLIBS	=
+SOVERSION	= 0.0.0
 SOEXT	= .so
 prefix	= /usr/local
 exec_prefix = $(prefix)
@@ -38,7 +39,7 @@ mandir = $(datarootdir)/man
 ########################################################################
 
 IHDRS	= lmdb.h
-ILIBS	= liblmdb.a liblmdb$(SOEXT)
+ILIBS	= liblmdb$(SOEXT) liblmdb$(SOEXT).$(SOVERSION)
 IPROGS	= mdb_stat mdb_copy mdb_dump mdb_load
 IDOCS	= mdb_stat.1 mdb_copy.1 mdb_dump.1 mdb_load.1
 PROGS	= $(IPROGS) mtest mtest2 mtest3 mtest4 mtest5
@@ -49,13 +50,13 @@ install: $(ILIBS) $(IPROGS) $(IHDRS)
 	mkdir -p $(DESTDIR)$(libdir)
 	mkdir -p $(DESTDIR)$(includedir)
 	mkdir -p $(DESTDIR)$(mandir)/man1
-	for f in $(IPROGS); do cp $$f $(DESTDIR)$(bindir); done
-	for f in $(ILIBS); do cp $$f $(DESTDIR)$(libdir); done
-	for f in $(IHDRS); do cp $$f $(DESTDIR)$(includedir); done
-	for f in $(IDOCS); do cp $$f $(DESTDIR)$(mandir)/man1; done
+	for f in $(IPROGS); do cp -a $$f $(DESTDIR)$(bindir); done
+	for f in $(ILIBS); do cp -a $$f $(DESTDIR)$(libdir); done
+	for f in $(IHDRS); do cp -a $$f $(DESTDIR)$(includedir); done
+	for f in $(IDOCS); do cp -a $$f $(DESTDIR)$(mandir)/man1; done
 
 clean:
-	rm -rf $(PROGS) *.[ao] *.[ls]o *~ testdb
+	rm -rf $(PROGS) *.[ao] *.[ls]o* *~ testdb
 
 test:	all
 	rm -rf testdb && mkdir testdb
@@ -64,20 +65,24 @@ test:	all
 liblmdb.a:	mdb.o midl.o
 	$(AR) rs $@ mdb.o midl.o
 
-liblmdb$(SOEXT):	mdb.lo midl.lo
+liblmdb$(SOEXT):	liblmdb$(SOEXT).$(SOVERSION)
+	rm -f $@
+	ln -s $< $@
+
+liblmdb$(SOEXT).$(SOVERSION):	mdb.lo midl.lo
 #	$(CC) $(LDFLAGS) -pthread -shared -Wl,-Bsymbolic -o $@ mdb.o midl.o $(SOLIBS)
-	$(CC) $(LDFLAGS) -pthread -shared -o $@ mdb.lo midl.lo $(SOLIBS)
+	$(CC) $(LDFLAGS) -pthread -shared -Wl,-soname,$@ -o $@ mdb.lo midl.lo $(SOLIBS)
 
-mdb_stat: mdb_stat.o liblmdb.a
-mdb_copy: mdb_copy.o liblmdb.a
-mdb_dump: mdb_dump.o liblmdb.a
-mdb_load: mdb_load.o liblmdb.a
-mtest:    mtest.o    liblmdb.a
-mtest2:	mtest2.o liblmdb.a
-mtest3:	mtest3.o liblmdb.a
-mtest4:	mtest4.o liblmdb.a
-mtest5:	mtest5.o liblmdb.a
-mtest6:	mtest6.o liblmdb.a
+mdb_stat: mdb_stat.o liblmdb.so
+mdb_copy: mdb_copy.o liblmdb.so
+mdb_dump: mdb_dump.o liblmdb.so
+mdb_load: mdb_load.o liblmdb.so
+mtest:    mtest.o    liblmdb.so
+mtest2:	mtest2.o liblmdb.so
+mtest3:	mtest3.o liblmdb.so
+mtest4:	mtest4.o liblmdb.so
+mtest5:	mtest5.o liblmdb.so
+mtest6:	mtest6.o liblmdb.so
 
 mdb.o: mdb.c lmdb.h midl.h
 	$(CC) $(CFLAGS) $(CPPFLAGS) -c mdb.c