aboutsummaryrefslogtreecommitdiffstats
path: root/lib/libnvpair
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2016-04-26 17:24:41 -0700
committerBrian Behlendorf <[email protected]>2016-04-28 09:27:40 -0700
commit1ab3678b5d671b4561a2d63958d56b2f7ca1b69e (patch)
tree9b7574024aed4a38e2d0e699f7a4361656ddc6bf /lib/libnvpair
parent463a8cfe2b293934edd2ee79115b20c4598353d6 (diff)
Add support for libtirpc
While OpenSolaris libc and glibc both include XDR support, the musl libc does not in favor of depending on the BSD-licensed libtirpc library. Adding support is a simple matter of detecting the library, including the headers and linking against it. By default libtirpc will be checked for and if available used. Otherwise, configure will fall back to using the xdr implementation provided by libc if available. The options --with-tirpc/--without-tirpc can be used to disable this checking. In addition, the xdr_control() function has been simplied to only handle ZFSs specific use case. Original-patch-by: stf <[email protected]> Original-patch-by: Richard Yao <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Signed-off-by: Signed-off-by: Carlo Landmeter <[email protected]> Closes #2254 Closes #4559
Diffstat (limited to 'lib/libnvpair')
-rw-r--r--lib/libnvpair/Makefile.am6
-rw-r--r--lib/libnvpair/nvpair_alloc_system.c1
2 files changed, 4 insertions, 3 deletions
diff --git a/lib/libnvpair/Makefile.am b/lib/libnvpair/Makefile.am
index c9ac1f1fb..2833557a3 100644
--- a/lib/libnvpair/Makefile.am
+++ b/lib/libnvpair/Makefile.am
@@ -4,7 +4,7 @@ VPATH = \
$(top_srcdir)/module/nvpair \
$(top_srcdir)/lib/libnvpair
-AM_CFLAGS += $(DEBUG_STACKFLAGS) $(FRAME_LARGER_THAN)
+AM_CFLAGS += $(DEBUG_STACKFLAGS) $(FRAME_LARGER_THAN) $(LIBTIRPC_CFLAGS)
DEFAULT_INCLUDES += \
-I$(top_srcdir)/include \
@@ -26,8 +26,8 @@ nodist_libnvpair_la_SOURCES = \
$(KERNEL_C)
libnvpair_la_LIBADD = \
- $(top_builddir)/lib/libuutil/libuutil.la
-
+ $(top_builddir)/lib/libuutil/libuutil.la \
+ $(LIBTIRPC)
libnvpair_la_LDFLAGS = -version-info 1:1:0
EXTRA_DIST = $(USER_C)
diff --git a/lib/libnvpair/nvpair_alloc_system.c b/lib/libnvpair/nvpair_alloc_system.c
index f45dc5f0b..54dde1ee6 100644
--- a/lib/libnvpair/nvpair_alloc_system.c
+++ b/lib/libnvpair/nvpair_alloc_system.c
@@ -27,6 +27,7 @@
#include <rpc/types.h>
+#include <sys/kmem.h>
#include <sys/nvpair.h>
static void *