]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
configure.ac: fix spdk external header location
authorHaomai Wang <haomai@xsky.com>
Mon, 4 Jan 2016 15:55:00 +0000 (23:55 +0800)
committerHaomai Wang <haomai@xsky.com>
Mon, 1 Feb 2016 14:00:43 +0000 (22:00 +0800)
Signed-off-by: Haomai Wang <haomai@xsky.com>
configure.ac
src/os/Makefile.am
src/os/bluestore/BlockDevice.cc
src/os/bluestore/NVMEDevice.h

index 9175d052aaaa4bbd48bb914065970f794fdd87b7..b0526708fc8b51afc3eb91e547ae3c89f00addef 100644 (file)
@@ -724,12 +724,13 @@ fi
 #
 # SPDK
 #
-AC_ARG_ENABLE(spdk,
+AC_ARG_WITH(spdk,
     [AC_HELP_STRING([--with-spdk], [build Ceph SPDK Support])], [], [with_spdk=no])
 
-AM_CONDITIONAL(HAVE_SPDK, [test "x$with_spdk" = "xyes"])
+AM_CONDITIONAL(HAVE_SPDK, [test "x$with_spdk" != "xno"])
 
-if test "x$with_spdk" = x"yes"; then
+if test "x$with_spdk" != x"no"; then
+   CPPFLAGS="$CPPFLAGS -I$with_spdk/include"
    AC_CHECK_HEADER([spdk/nvme.h], [], AC_MSG_ERROR([Cannot find header 'spdk/nvme.h'.]))
    AC_CHECK_LIB([spdk_nvme], [nvme_attach], [], AC_MSG_FAILURE([SPDK nvme_attach not found]))
 
index ac11b8bd25aebdc2b857e3abf9e0164f63f5c73f..25f33964f7f5f6201abd206d8e28df5965c77117 100644 (file)
@@ -121,6 +121,8 @@ noinst_HEADERS += os/fs/ZFS.h
 endif
 
 if HAVE_SPDK
+libos_a_CXXFLAGS = ${AM_CXXFLAGS} -I ${with_spdk}/include -fPIC
+libos_a_LIBADD += "-lspdk_nvme -lpciaccess -lpthread -lrte_eal -lrte_mempool -lrte_ring"
 libos_a_SOURCES += os/bluestore/NVMEDevice.cc
 noinst_HEADERS += os/bluestore/NVMEDevice.h
 endif
index 528d71114ded92b9f2bfa1ed7cef119abede54f7..abe1dfffd44cbdf8a1c5978bf5db1ad8557a8d13 100644 (file)
@@ -14,7 +14,7 @@
  *
  */
 
-#include "BlockDevice.h"
+#include "KernelDevice.h"
 #if defined(HAVE_SPDK)
 #include "NVMEDevice.h"
 #endif
index b257f9348b2b2d1b497b43471db6d84b35a2e7ab..bc0534b3de7eccd6bb174b60a5816c7abcc84c6e 100644 (file)
 #ifndef CEPH_OS_BLUESTORE_NVMEDEVICE
 #define CEPH_OS_BLUESTORE_NVMEDEVICE
 
+#include <pciaccess.h>
+
+#include "spdk/nvme.h"
+
 #include "BlockDevice.h"
 
 class NVMEDevice : public BlockDevice {