From: Jan Engelhardt 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(+) Index: liblmdb/Makefile.am =================================================================== --- /dev/null +++ liblmdb/Makefile.am @@ -0,0 +1,16 @@ +# -*- Makefile -*- + +ACLOCAL_AMFLAGS = -I m4 +AM_CFLAGS = -W -Wall -Wno-unused-parameter -Wbad-function-cast -pthread +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 Index: liblmdb/configure.ac =================================================================== --- /dev/null +++ liblmdb/configure.ac @@ -0,0 +1,13 @@ +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_PROG_CC +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