forked from openzfs/zfs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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 <s@ctrlc.hu> Original-patch-by: Richard Yao <ryao@gentoo.org> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Signed-off-by: Carlo Landmeter <clandmeter@gmail.com> Closes openzfs#2254 Closes openzfs#4559
- Loading branch information
1 parent
463a8cf
commit 1ab3678
Showing
9 changed files
with
61 additions
and
132 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
dnl # | ||
dnl # Check for libtirpc - may be needed for xdr functionality | ||
dnl # | ||
AC_DEFUN([ZFS_AC_CONFIG_USER_LIBTIRPC], [ | ||
AC_ARG_WITH([tirpc], | ||
[AS_HELP_STRING([--with-tirpc], | ||
[use tirpc for xdr encoding @<:@default=check@:>@])], | ||
[], | ||
[with_tirpc=check]) | ||
LIBTIRPC= | ||
LIBTIRPC_CFLAGS= | ||
AS_IF([test "x$with_tirpc" != xno], | ||
[AC_CHECK_LIB([tirpc], [xdrmem_create], | ||
[AC_SUBST([LIBTIRPC], [-ltirpc]) | ||
AC_SUBST([LIBTIRPC_CFLAGS], [-I/usr/include/tirpc]) | ||
AC_DEFINE([HAVE_LIBTIRPC], [1], [Define if you have libtirpc]) | ||
], | ||
[if test "x$with_tirpc" != xcheck; then | ||
AC_MSG_FAILURE( | ||
[--with-tirpc was given, but test for tirpc failed]) | ||
fi | ||
AC_SEARCH_LIBS([xdrmem_create], [tirpc], [], [ | ||
AC_MSG_FAILURE([xdrmem_create() requires tirpc or libc])]) | ||
])], | ||
[AC_SEARCH_LIBS([xdrmem_create], [tirpc], [], [ | ||
AC_MSG_FAILURE([xdrmem_create() requires libc])]) | ||
]) | ||
]) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -27,6 +27,7 @@ | |
|
||
|
||
#include <rpc/types.h> | ||
#include <sys/kmem.h> | ||
#include <sys/nvpair.h> | ||
|
||
static void * | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -29,7 +29,6 @@ USER_C = \ | |
strnlen.c \ | ||
timestamp.c \ | ||
zone.c \ | ||
xdr.c \ | ||
include/sys/list.h \ | ||
include/sys/list_impl.h | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,3 @@ | ||
libspldir = $(includedir)/libspl/rpc | ||
libspl_HEADERS = \ | ||
$(top_srcdir)/lib/libspl/include/rpc/types.h \ | ||
$(top_srcdir)/lib/libspl/include/rpc/xdr.h |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.