aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-extended
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 /recipes-extended
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>
Diffstat (limited to 'recipes-extended')
-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 0000000..bf15bea
--- /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 0000000..ba022b0
--- /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
+}