Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37729328
en ru br
ALT Linux repos
S:0.9.29-alt1.1

Group :: System/Libraries
RPM: liblmdb

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: liblmdb-0.9.18-alt-deb-add-soname-fix-install.patch
Download


diff --git a/libraries/liblmdb/Makefile b/libraries/liblmdb/Makefile
index 0940c49..d3d56fe 100644
--- a/libraries/liblmdb/Makefile
+++ b/libraries/liblmdb/Makefile
@@ -27,10 +27,11 @@ OPT = -O2 -g
 LDLIBS	=
 SOLIBS	=
 SOEXT	= .so
-prefix	= /usr/local
+SOVER	= 0
+prefix	= /usr
 exec_prefix = $(prefix)
 bindir = $(exec_prefix)/bin
-libdir = $(exec_prefix)/lib
+libdir ?= $(exec_prefix)/lib
 includedir = $(prefix)/include
 datarootdir = $(prefix)/share
 mandir = $(datarootdir)/man
@@ -38,7 +39,7 @@ mandir = $(datarootdir)/man
 ########################################################################
 
 IHDRS	= lmdb.h
-ILIBS	= liblmdb.a liblmdb$(SOEXT)
+ILIBS	= liblmdb.a liblmdb$(SOEXT) liblmdb$(SOEXT).$(SOVER) liblmdb$(SOEXT).$(SOVER).0.0
 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,35 +50,41 @@ 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 -pP $$f $(DESTDIR)$(bindir); done
+	for f in $(ILIBS); do cp -pP $$f $(DESTDIR)$(libdir); done
+	for f in $(IHDRS); do cp -pP $$f $(DESTDIR)$(includedir); done
+	for f in $(IDOCS); do cp -pP $$f $(DESTDIR)$(mandir)/man1; done
 
 clean:
-	rm -rf $(PROGS) *.[ao] *.[ls]o *~ testdb
+	rm -rf $(PROGS) *.[ao] *.[ls]o *.[ls]o.* *~ testdb
 
 test:	all
 	rm -rf testdb && mkdir testdb
-	./mtest && ./mdb_stat testdb
+	LD_LIBRARY_PATH=$(CURDIR) ./mtest && LD_LIBRARY_PATH=$(CURDIR) ./mdb_stat testdb
 
 liblmdb.a:	mdb.o midl.o
 	$(AR) rs $@ mdb.o midl.o
 
-liblmdb$(SOEXT):	mdb.lo midl.lo
+liblmdb$(SOEXT).$(SOVER).0.0:	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)
-
-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
+	$(CC) $(LDFLAGS) -fPIC -Wl,-soname,liblmdb.so.$(SOVER) -pthread -Wl,-Bsymbolic -shared -o $@ mdb.lo midl.lo $(SOLIBS)
+
+liblmdb.so.$(SOVER): liblmdb.so.$(SOVER).0.0
+	ln -s $< $@
+
+liblmdb.so: liblmdb.so.$(SOVER)
+	ln -s $< $@
+
+mdb_stat: mdb_stat.o liblmdb.so.$(SOVER)
+mdb_copy: mdb_copy.o liblmdb.so.$(SOVER)
+mdb_dump: mdb_dump.o liblmdb.so.$(SOVER)
+mdb_load: mdb_load.o liblmdb.so.$(SOVER)
+mtest:    mtest.o    liblmdb.so.$(SOVER)
+mtest2:	mtest2.o liblmdb.so.$(SOVER)
+mtest3:	mtest3.o liblmdb.so.$(SOVER)
+mtest4:	mtest4.o liblmdb.so.$(SOVER)
+mtest5:	mtest5.o liblmdb.so.$(SOVER)
+mtest6:	mtest6.o liblmdb.so.$(SOVER)
 
 mdb.o: mdb.c lmdb.h midl.h
 	$(CC) $(CFLAGS) $(CPPFLAGS) -c mdb.c
@@ -92,7 +99,7 @@ midl.lo: midl.c midl.h
 	$(CC) $(CFLAGS) -fPIC $(CPPFLAGS) -c midl.c -o $@
 
 %:	%.o
-	$(CC) $(CFLAGS) $(LDFLAGS) $^ $(LDLIBS) -o $@
+	$(CC) $(CFLAGS) $(LDFLAGS) $< -L$(CURDIR) -llmdb $(LDLIBS) -o $@
 
 %.o:	%.c lmdb.h
 	$(CC) $(CFLAGS) $(CPPFLAGS) -c $<
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin