aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYi Zhao <yi.zhao@windriver.com>2017-07-26 08:42:08 +0800
committerBruce Ashfield <bruce.ashfield@windriver.com>2017-07-26 10:07:52 -0400
commit4e05423f1542403651fe3e4623693aac857642bb (patch)
tree0cac68f1dfb6d45412e66ac66c8f89c8eb3eb5d5
parentab865e747303a1d62fa69fca66ca0c33e6657dd5 (diff)
downloadmeta-cloud-services-4e05423f1542403651fe3e4623693aac857642bb.tar.gz
meta-cloud-services-4e05423f1542403651fe3e4623693aac857642bb.tar.bz2
meta-cloud-services-4e05423f1542403651fe3e4623693aac857642bb.zip
librdmacm: add new recipe
User space RDMA 'socket' protocol and libraries for establising RDMA communication. Includes both Infiniband specific and general RDMA communication management libraries for unreliable datagram, reliable connected, and multicast data transfers. Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
-rw-r--r--recipes-extended/librdmacm/files/librdmacm-needs-libdl.patch21
-rw-r--r--recipes-extended/librdmacm/librdmacm_1.0.17.bb41
2 files changed, 62 insertions, 0 deletions
diff --git a/recipes-extended/librdmacm/files/librdmacm-needs-libdl.patch b/recipes-extended/librdmacm/files/librdmacm-needs-libdl.patch
new file mode 100644
index 00000000..bf15bea1
--- /dev/null
+++ b/recipes-extended/librdmacm/files/librdmacm-needs-libdl.patch
@@ -0,0 +1,21 @@
+Librdmacm links against libibverbs, and the current version of libibverbs
+uses dlopen(), so librdmacm must also link against libdl.
+
+Upstream-Status: Pending
+
+Signed-off-by: Donn Seeley <donn.seeley@windriver.com>
+---
+ configure.in | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/configure.in
++++ b/configure.in
+@@ -39,6 +39,8 @@ AC_CHECK_SIZEOF(long)
+ dnl Checks for libraries
+ AC_CHECK_LIB(pthread, pthread_mutex_init, [],
+ AC_MSG_ERROR([pthread_mutex_init() not found. librdmacm requires libpthread.]))
++AC_CHECK_LIB(dl, dlsym, [],
++ AC_MSG_ERROR([dlsym() not found. librdmacm requires libdl.]))
+ if test "$disable_libcheck" != "yes"; then
+ AC_CHECK_LIB(ibverbs, ibv_get_device_list, [],
+ AC_MSG_ERROR([ibv_get_device_list() not found. librdmacm requires libibverbs.]))
diff --git a/recipes-extended/librdmacm/librdmacm_1.0.17.bb b/recipes-extended/librdmacm/librdmacm_1.0.17.bb
new file mode 100644
index 00000000..ba022b09
--- /dev/null
+++ b/recipes-extended/librdmacm/librdmacm_1.0.17.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Userspace RDMA Connection Manager"
+DESCRIPTION = "\
+User space RDMA 'socket' protocol and libraries for establising RDMA\
+communication. Includes both Infiniband specific and general RDMA\
+communication management libraries for unreliable datagram, reliable\
+connected, and multicast data transfers.\
+Also includes ACM (communication management assistant) service."
+
+HOMEPAGE = "http://www.openfabrics.org/downloads/rdmacm/"
+SECTION = "libs/devel"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=39cc3044d68741f9005da73e9b92db95"
+
+DEPENDS = "libibverbs"
+
+# Repo is at http://git.openfabrics.org/git?p=~shefty/librdmacm.git
+SRC_URI = "http://www.openfabrics.org/downloads/rdmacm/${BPN}-${PV}.tar.gz \
+ file://librdmacm-needs-libdl.patch"
+
+SRC_URI[md5sum] = "da6fad887e9c24cb01b74b75f8449cb1"
+SRC_URI[sha256sum] = "9381e1bf2c7079fc257b8eee74e731d3e7eec70e539bb4245084a7b05aeecb2a"
+
+inherit autotools
+
+# Allow plug-in symlinks.
+INSANE_SKIP_${PN} += "dev-so"
+
+PACKAGES += "${PN}-utils"
+FILES_${PN} = "${libdir}/*.so.* ${libdir}/rsocket/*.so*"
+FILES_${PN}-utils = "${bindir}"
+FILES_${PN}-staticdev += "${libdir}/rsocket/librspreload.a"
+FILES_${PN}-dbg += "${libdir}/rsocket/.debug"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind,"
+
+do_install_append() {
+ rm -f ${D}${libdir}/librdmacm.la
+ rm -f ${D}${libdir}/rsocket/librspreload.la
+}