[PATCH 6/6] build: provide libleveldb as a shared library

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The library is used by ceph (main repo), and code share is a good
thing, is it not?

Signed-off-by: Jan Engelhardt <jengelh@xxxxxxx>
---
 .gitignore    |    6 +++++-
 Makefile.am   |   10 ++++++----
 configure.ac  |    4 +++-
 m4/.gitignore |    2 ++
 4 files changed, 16 insertions(+), 6 deletions(-)
 create mode 100644 m4/.gitignore

diff --git a/.gitignore b/.gitignore
index bf40c93..972e902 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,14 +7,18 @@
 /configure
 
 # created by ./configure
-/.deps/
+.deps/
+.libs/
 /Makefile
 /config.h
 /config.log
 /config.status
+/libtool
 /stamp-h1
 
 # created by make
+*.la
+*.lo
 *.o
 *.a
 /TAGS
diff --git a/Makefile.am b/Makefile.am
index 19b52a8..1d62bad 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -9,15 +9,15 @@ OPT ?= -O2 -DNDEBUG       # (A) Production use (optimized mode)
 
 # TODO maybe support android & chromium platforms via automake too?
 
+ACLOCAL_AMFLAGS = -I m4
 AM_CFLAGS = -I$(srcdir)/include $(OPT) -pthread -fno-builtin-memcmp -DLEVELDB_PLATFORM_POSIX
 
 AM_CXXFLAGS = -I$(srcdir)/include $(OPT) -pthread -fno-builtin-memcmp -DLEVELDB_PLATFORM_POSIX
 if CSTDATOMIC
 AM_CXXFLAGS += -DLEVELDB_CSTDATOMIC_PRESENT -std=c++0x
 endif
-AM_LDFLAGS = -pthread
 
-LDADD = libleveldb.a
+LDADD = libleveldb.la
 if WITH_TCMALLOC
 LDADD += -ltcmalloc
 endif
@@ -30,7 +30,7 @@ check_PROGRAMS = $(TESTS)
 # target by target
 TESTS =
 
-noinst_LIBRARIES = libleveldb.a
+lib_LTLIBRARIES = libleveldb.la
 noinst_HEADERS = \
 	util/random.h \
 	util/coding.h \
@@ -86,7 +86,7 @@ noinst_HEADERS = \
 	db/log_reader.h \
 	db/version_edit.h
 
-libleveldb_a_SOURCES = \
+libleveldb_la_SOURCES = \
 	db/builder.cc \
 	db/c.cc \
 	db/db_impl.cc \
@@ -123,6 +123,8 @@ libleveldb_a_SOURCES = \
 	util/options.cc \
 	util/status.cc
 
+libleveldb_la_LIBADD = -lpthread
+
 TESTUTIL = util/testutil.cc
 TESTHARNESS = util/testharness.cc $(TESTUTIL)
 
diff --git a/configure.ac b/configure.ac
index 6a26ab9..6b29da4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,6 @@
 AC_INIT([leveldb], [0.1], [leveldb@xxxxxxxxxxxxxxxx])
 AC_CONFIG_AUX_DIR([build-aux])
+AC_CONFIG_MACRO_DIR([m4])
 AM_INIT_AUTOMAKE([-Wall -Werror foreign])
 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
 AC_PROG_CC
@@ -10,7 +11,8 @@ AC_CONFIG_FILES([
   Makefile
 ])
 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
-AC_PROG_RANLIB
+AC_DISABLE_STATIC
+AC_PROG_LIBTOOL
 
 AC_MSG_CHECKING(whether compiler supports C++11 cstdatomic)
 OLD_CXXFLAGS="$CXXFLAGS"
diff --git a/m4/.gitignore b/m4/.gitignore
new file mode 100644
index 0000000..64d9bbc
--- /dev/null
+++ b/m4/.gitignore
@@ -0,0 +1,2 @@
+/libtool.m4
+/lt*.m4
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux