lmdb/lmdb-make.patch
2015-12-28 21:24:14 +01:00

82 lines
2.9 KiB
Diff

# Patch the main Makefile to allow for a build that complies to packaging guidelines.
diff -up lmdb-LMDB_0.9.17/libraries/liblmdb/Makefile.orig lmdb-LMDB_0.9.17/libraries/liblmdb/Makefile
--- lmdb-LMDB_0.9.17/libraries/liblmdb/Makefile.orig 2015-11-30 17:55:33.000000000 +0100
+++ lmdb-LMDB_0.9.17/libraries/liblmdb/Makefile 2015-12-03 09:31:02.901378809 +0100
@@ -26,13 +26,17 @@ OPT = -O2 -g
CFLAGS = $(THREADS) $(OPT) $(W) $(XCFLAGS)
LDLIBS =
SOLIBS =
+SOVERSION = 0.0.0
prefix = /usr/local
-mandir = $(prefix)/man
+binprefix = $(prefix)/bin
+libprefix = $(prefix)/lib
+includeprefix = $(prefix)/include
+manprefix = $(prefix)/man
########################################################################
IHDRS = lmdb.h
-ILIBS = liblmdb.a liblmdb.so
+ILIBS = liblmdb.so liblmdb.so.$(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
@@ -43,13 +47,13 @@ install: $(ILIBS) $(IPROGS) $(IHDRS)
mkdir -p $(DESTDIR)$(prefix)/lib
mkdir -p $(DESTDIR)$(prefix)/include
mkdir -p $(DESTDIR)$(prefix)/man/man1
- for f in $(IPROGS); do cp $$f $(DESTDIR)$(prefix)/bin; done
- for f in $(ILIBS); do cp $$f $(DESTDIR)$(prefix)/lib; done
- for f in $(IHDRS); do cp $$f $(DESTDIR)$(prefix)/include; done
- for f in $(IDOCS); do cp $$f $(DESTDIR)$(mandir)/man1; done
+ for f in $(IPROGS); do cp -a $$f $(DESTDIR)$(binprefix); done
+ for f in $(ILIBS); do cp -a $$f $(DESTDIR)$(libprefix); done
+ for f in $(IHDRS); do cp -a $$f $(DESTDIR)$(includeprefix); done
+ for f in $(IDOCS); do cp -a $$f $(DESTDIR)$(manprefix)/man1; done
clean:
- rm -rf $(PROGS) *.[ao] *.[ls]o *~ testdb
+ rm -rf $(PROGS) *.[ao] *.[ls]o* *~ testdb
test: all
rm -rf testdb && mkdir testdb
@@ -58,20 +62,24 @@ test: all
liblmdb.a: mdb.o midl.o
$(AR) rs $@ mdb.o midl.o
-liblmdb.so: mdb.lo midl.lo
+liblmdb.so: liblmdb.so.$(SOVERSION)
+ rm -f $@
+ ln -s $< $@
+
+liblmdb.so.$(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