From: xinxin shu Date: Wed, 28 May 2014 02:11:37 +0000 (+0800) Subject: add --with-librocksdb-static configure options X-Git-Tag: v0.85~119^2~12 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=708b5b8766cb2fab71b0a8f9bd68ad4c88ae96ba;p=ceph.git add --with-librocksdb-static configure options with this options, ceph will build rocksdb from submodule Signed-off-by: xinxin shu --- diff --git a/autogen.sh b/autogen.sh index 13e6d9c7f22d..a138a5971670 100755 --- a/autogen.sh +++ b/autogen.sh @@ -45,4 +45,5 @@ autoconf autoheader automake -a --add-missing -Wall ( cd src/gtest && autoreconf -fvi; ) +( cd src/rocksdb && autoreconf -fvi; ) exit diff --git a/configure.ac b/configure.ac index a77e73ae32fe..b246607d1699 100644 --- a/configure.ac +++ b/configure.ac @@ -538,21 +538,18 @@ AS_IF([test "x$with_librocksdb" = "xyes"], [PKG_CHECK_MODULES([LIBROCKSDB], [rocksdb], [], [true])]) AS_IF([test "x$with_librocksdb" = "xyes"], [AC_DEFINE([HAVE_LIBROCKSDB], [1], [Defined if you have librocksdb enabled])]) -AM_CONDITIONAL(WITH_LIBROCKSDB, [ test "$with_librocksdb" = "yes" ]) +AM_CONDITIONAL(WITH_DLIBROCKSDB, [ test "$with_librocksdb" = "yes" ]) -#add rocksdb support -# check libz -AS_IF([test "x$with_librocksdb" = "xyes"], - [AC_CHECK_LIB([z], [gzread], [], [AC_MSG_FAILURE([libz not found])])]) -# check libbz2 -AS_IF([test "x$with_librocksdb" = "xyes"], - [AC_CHECK_LIB([bz2], [BZ2_bzCompressInit], [], [AC_MSG_FAILURE([libbz2 not found])])]) -# check librt -AS_IF([test "x$with_librocksdb" = "xyes"], - [AC_CHECK_LIB([rt], [clock_gettime], [], [AC_MSG_FAILURE([librt not found])])]) -# use system rocksdb -#AC_CHECK_LIB([rocksdb], [rocksdb_open], [], [AC_MSG_FAILURE([librocks not found])],[-lsnappy -lpthread -lrt -lbz2 -lz]) -#AC_CHECK_LIB([rocksdb], [open], [], [AC_MSG_FAILURE([librocks not found])],[-lsnappy -lpthread -lrt -lbz2 -lz]) +AC_ARG_WITH([librocksdb-static], + [AS_HELP_STRING([--with-librocksdb-static], [build rocksdb support])], + [], + [with_librocksdb_static=no]) +AS_IF([test "x$with_librocksdb_static" = "xyes"], + [AC_CONFIG_SUBDIRS([src/rocksdb])]) +AS_IF([test "x$with_librocksdb_static" = "xyes"], + [AC_DEFINE([HAVE_LIBROCKSDB], [1], [Defined if you have librocksdb enabled])]) +AM_CONDITIONAL(WITH_SLIBROCKSDB, [ test "$with_librocksdb_static" = "yes" ]) +AM_CONDITIONAL(WITH_LIBROCKSDB, [ test "$with_librocksdb_static" = "yes" -o "$with_librocksdb" = "yes" ]) # use system libs3? AC_ARG_WITH([system-libs3], diff --git a/src/Makefile-env.am b/src/Makefile-env.am index f866e6fa4ee9..57fa8d7968cf 100644 --- a/src/Makefile-env.am +++ b/src/Makefile-env.am @@ -166,7 +166,7 @@ LIBOS += libos_zfs.a -lzfs endif # WITH_LIBZFS if WITH_LIBROCKSDB -LIBOS += libos_rocksdb.la -lrocksdb +LIBOS += libos_rocksdb.la endif # WITH_LIBROCKSDB if WITH_TCMALLOC diff --git a/src/Makefile.am b/src/Makefile.am index b0f52b822de4..51b00454300b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -3,6 +3,10 @@ include Makefile-env.am SUBDIRS += ocf java DIST_SUBDIRS += gtest ocf libs3 java +if WITH_SLIBROCKSDB + SUBDIRS += rocksdb +endif + # subdirs diff --git a/src/os/Makefile.am b/src/os/Makefile.am index 6f6e85c3e109..e20a92309a48 100644 --- a/src/os/Makefile.am +++ b/src/os/Makefile.am @@ -68,9 +68,17 @@ noinst_HEADERS += \ os/XfsFileStoreBackend.h \ os/ZFSFileStoreBackend.h -if WITH_LIBROCKSDB +if WITH_SLIBROCKSDB +libos_rocksdb_la_SOURCES = os/RocksDBStore.cc +libos_rocksdb_la_CXXFLAGS = ${AM_CXXFLAGS} ${LIBROCKSDB_CFLAGS} -std=gnu++11 -I rocksdb/include +libos_rocksdb_la_LIBADD = rocksdb/librocksdb.la +noinst_LTLIBRARIES += libos_rocksdb.la +noinst_HEADERS += os/RocksDBStore.h +endif +if WITH_DLIBROCKSDB libos_rocksdb_la_SOURCES = os/RocksDBStore.cc libos_rocksdb_la_CXXFLAGS = ${AM_CXXFLAGS} ${LIBROCKSDB_CFLAGS} -std=gnu++11 +libos_rocksdb_la_LIBADD = -lrocksdb noinst_LTLIBRARIES += libos_rocksdb.la noinst_HEADERS += os/RocksDBStore.h endif