lmdb/automake.diff
Klaus Kämpf 3732d3787c Accepting request 248414 from home:elvigia:branches:systemsmanagement
- automake.diff changes: 
* for autoconf tests to have effect, (like those in 
  0001-Patch-for-LMDB-to-use-robust-mutexes.patch) config.h must be 
  included as first file in all C code.
* in 32 bit systems, ensure we support large databases.
* Switch the compiler to the current C standard, currently -std=gnu99
  in upcoming autoconf versions it is C11 though.
- liblmdb-implicit-decl.patch atol() requires stdlib.h
- Enable verbose build, rpmlint depends on that to work.

OBS-URL: https://build.opensuse.org/request/show/248414
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/lmdb?expand=0&rev=10
2014-09-11 07:28:39 +00:00

68 lines
2.4 KiB
Diff

From: Jan Engelhardt <jengelh@inai.de>
Date: 2014-05-16 21:40:05.570658956 +0200
Upstream: Submitted and rejected
build: use automake for building
The upstream Makefile suffers from some shortcomings, such as:
- Provides no way to set bindir, libdir, docdir/mandir.
- Fails to mkdir the DESTDIR tree on make install.
- Uses the wrong shared library extension on MinGW/Cygwin.
- No way of turning off static library generation at build time.
- There is no shared library versioning of any kind, which does not line up
with the guidelines for openSUSE and other distributions.
Upstream believes it will never change anything in an incompatible way.
While I, the patch author, concur with that expectation, it does not solve
the issue with compatible changes (such as adding functions), for which
symbol version maps would come into play. As I do not want to also maintain
a symvers patch, I will apply the naming guidelines of section
http://en.opensuse.org/openSUSE:Shared_library_packaging_policy#When_there_is_no_versioning
meaning the use of -release ${PACKAGE_VERSION}.
LMDB is a very simple project without many source files or compile-time flag
combinations; working with the original Makefile does not need all that many
hoops. But it is a tie IMO, and so, the casting vote shall be the AM route.
---
Makefile.am | 16 ++++++++++++++++
configure.ac | 13 +++++++++++++
2 files changed, 29 insertions(+)
--- /dev/null
+++ liblmdb/Makefile.am
@@ -0,0 +1,17 @@
+# -*- Makefile -*-
+
+ACLOCAL_AMFLAGS = -I m4
+AM_CFLAGS = -W -Wall -Wno-unused-parameter -Wbad-function-cast -pthread
+AM_CPPFLAGS = -include config.h
+LDADD = liblmdb.la
+
+bin_PROGRAMS = mdb_copy mdb_stat
+check_PROGRAMS = mtest mtest2 mtest3 mtest4 mtest5
+man_MANS = mdb_copy.1 mdb_stat.1
+include_HEADERS = lmdb.h
+lib_LTLIBRARIES = liblmdb.la
+liblmdb_la_SOURCES = mdb.c midl.c
+liblmdb_la_LDFLAGS = -release ${PACKAGE_VERSION}
+
+clean-local:
+ rm -Rf testdb
--- /dev/null
+++ liblmdb/configure.ac
@@ -0,0 +1,15 @@
+AC_INIT([liblmdb], [0.9.11], [http://symas.com/mdb/])
+AC_CONFIG_AUX_DIR([build-aux])
+AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_MACRO_DIR([m4])
+AM_INIT_AUTOMAKE([-Wall foreign subdir-objects tar-pax])
+AC_USE_SYSTEM_EXTENSIONS
+AC_SYS_LARGEFILE
+AC_PROG_CC_STDC
+AM_PROG_CC_C_O
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+LT_INIT
+AC_CHECK_HEADERS([sys/file.h])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT