# HG changeset patch
# User john.levon(a)sun.com
# Date 1229367889 28800
# Node ID 46a487775d4b35c32455a5ca8eb3009d10a02c5b
# Parent a1f24e9f8a1fbf191c71172ae986110b7e98fc32
Fix remote_protocol header for Solaris
quad_t is not a portable type, but rather than force rpcgen
every build, we just patch in the fixes needed.
Signed-off-by: John Levon <john.levon(a)sun.com>
diff --git a/qemud/Makefile.am b/qemud/Makefile.am
--- a/qemud/Makefile.am
+++ b/qemud/Makefile.am
@@ -47,6 +47,7 @@ if GLIBC_RPCGEN
chmod 444 $@-t
mv $@-t $@
endif
+ patch < rpcgen-solaris.diff
endif
remote_protocol.c: remote_protocol.h
diff --git a/qemud/rpcgen-solaris.diff b/qemud/rpcgen-solaris.diff
new file mode 100644
--- /dev/null
+++ b/qemud/rpcgen-solaris.diff
@@ -0,0 +1,19 @@
+diff ./remote_protocol.h ./remote_protocol.h
+--- ./remote_protocol.h
++++ ./remote_protocol.h
+@@ -11,6 +11,15 @@
+
+ #ifdef __cplusplus
+ extern "C" {
++#endif
++
++#if defined(__sun)
++#include <rpc/xdr.h>
++#define u_quad_t uint64_t
++#define quad_t int64_t
++#define xdr_u_quad_t xdr_uint64_t
++#define xdr_quad_t xdr_int64_t
++#define IXDR_GET_LONG IXDR_GET_INT32
+ #endif
+
+ #include <config.h>