diff options
Diffstat (limited to 'rpc')
-rw-r--r-- | rpc/rpc-lib/src/Makefile.am | 1 | ||||
-rw-r--r-- | rpc/rpc-transport/rdma/src/Makefile.am | 6 | ||||
-rw-r--r-- | rpc/rpc-transport/socket/src/Makefile.am | 6 | ||||
-rw-r--r-- | rpc/xdr/src/Makefile.am | 103 | ||||
-rw-r--r-- | rpc/xdr/src/acl3-xdr.x | 4 | ||||
-rw-r--r-- | rpc/xdr/src/changelog-xdr.x | 15 | ||||
-rw-r--r-- | rpc/xdr/src/cli1-xdr.x | 15 | ||||
-rw-r--r-- | rpc/xdr/src/glusterd1-xdr.x | 15 | ||||
-rw-r--r-- | rpc/xdr/src/glusterfs-fops.x | 15 | ||||
-rw-r--r-- | rpc/xdr/src/glusterfs3-xdr.x | 14 | ||||
-rw-r--r-- | rpc/xdr/src/mount3udp.x | 5 | ||||
-rw-r--r-- | rpc/xdr/src/nlm4-xdr.x | 5 | ||||
-rw-r--r-- | rpc/xdr/src/nsm-xdr.x | 15 | ||||
-rw-r--r-- | rpc/xdr/src/portmap-xdr.x | 14 | ||||
-rw-r--r-- | rpc/xdr/src/rpc-common-xdr.x | 15 | ||||
-rw-r--r-- | rpc/xdr/src/rpc-pragmas.h | 28 |
16 files changed, 202 insertions, 74 deletions
diff --git a/rpc/rpc-lib/src/Makefile.am b/rpc/rpc-lib/src/Makefile.am index 8d0ef9a01b8..b9e55c7ab8a 100644 --- a/rpc/rpc-lib/src/Makefile.am +++ b/rpc/rpc-lib/src/Makefile.am @@ -15,6 +15,7 @@ libgfrpc_ladir = $(includedir)/glusterfs/rpc AM_CPPFLAGS = $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/src \ -I$(top_srcdir)/rpc/xdr/src \ + -I$(top_builddir)/rpc/xdr/src \ -DRPC_TRANSPORTDIR=\"$(libdir)/glusterfs/$(PACKAGE_VERSION)/rpc-transport\" \ -I$(top_srcdir)/contrib/rbtree diff --git a/rpc/rpc-transport/rdma/src/Makefile.am b/rpc/rpc-transport/rdma/src/Makefile.am index b5fb06f4f01..fedf304c5fe 100644 --- a/rpc/rpc-transport/rdma/src/Makefile.am +++ b/rpc/rpc-transport/rdma/src/Makefile.am @@ -12,8 +12,10 @@ rdma_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \ noinst_HEADERS = rdma.h name.h rpc-trans-rdma-messages.h AM_CPPFLAGS = $(GF_CPPFLAGS) \ - -I$(top_srcdir)/libglusterfs/src -I$(top_srcdir)/rpc/rpc-lib/src/ \ - -I$(top_srcdir)/rpc/xdr/src + -I$(top_srcdir)/libglusterfs/src \ + -I$(top_srcdir)/rpc/rpc-lib/src/ \ + -I$(top_srcdir)/rpc/xdr/src \ + -I$(top_builddir)/rpc/xdr/src AM_CFLAGS = -Wall $(GF_CFLAGS) diff --git a/rpc/rpc-transport/socket/src/Makefile.am b/rpc/rpc-transport/socket/src/Makefile.am index 5e909aceac8..ed0697635da 100644 --- a/rpc/rpc-transport/socket/src/Makefile.am +++ b/rpc/rpc-transport/socket/src/Makefile.am @@ -9,8 +9,10 @@ socket_la_SOURCES = socket.c name.c socket_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la -lssl AM_CPPFLAGS = $(GF_CPPFLAGS) \ - -I$(top_srcdir)/libglusterfs/src -I$(top_srcdir)/rpc/rpc-lib/src/ \ - -I$(top_srcdir)/rpc/xdr/src/ + -I$(top_srcdir)/libglusterfs/src \ + -I$(top_srcdir)/rpc/rpc-lib/src/ \ + -I$(top_srcdir)/rpc/xdr/src/ \ + -I$(top_builddir)/rpc/xdr/src/ AM_CFLAGS = -Wall $(GF_CFLAGS) diff --git a/rpc/xdr/src/Makefile.am b/rpc/xdr/src/Makefile.am index e0f9c28be86..73640614c55 100644 --- a/rpc/xdr/src/Makefile.am +++ b/rpc/xdr/src/Makefile.am @@ -9,9 +9,10 @@ lib_LTLIBRARIES = libgfxdr.la libgfxdr_la_CFLAGS = -Wall $(GF_CFLAGS) $(GF_DARWIN_LIBGLUSTERFS_CFLAGS) libgfxdr_la_CPPFLAGS = $(GF_CPPFLAGS) -D__USE_FILE_OFFSET64 \ - -I$(top_srcdir)/libglusterfs/src -I$(top_srcdir)/rpc/rpc-lib/src + -I$(top_srcdir)/libglusterfs/src -I$(top_srcdir)/rpc/rpc-lib/src \ + -I$(top_builddir)/rpc/xdr/src -libgfxdr_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +# libgfxdr_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la libgfxdr_la_LDFLAGS = -version-info $(LIBGFXDR_LT_VERSION) @@ -19,82 +20,44 @@ libgfxdr_la_SOURCES = xdr-generic.c xdr-nfs3.c msg-nfs3.c nodist_libgfxdr_la_SOURCES = $(XDRSOURCES) libgfxdr_la_HEADERS = xdr-generic.h xdr-nfs3.h msg-nfs3.h glusterfs3.h \ - $(XDRHEADERS) + rpc-pragmas.h $(XDRHEADERS) libgfxdr_ladir = $(includedir)/glusterfs/rpc -BUILT_SOURCES = $(XDRSOURCES) $(XDRHEADERS) +# trick automake into doing BUILT_SOURCES magic +BUILT_SOURCES = $(XDRHEADERS) EXTRA_DIST = $(XDRGENFILES) CLEANFILES = $(XDRSOURCES) $(XDRHEADERS) xdrsrc=$(top_srcdir)/rpc/xdr/src -glusterfs-fops.c: glusterfs-fops.x glusterfs-fops.h - $(top_srcdir)/build-aux/xdrgen source $(xdrsrc)/`basename ${@:.c=.x}` -glusterfs-fops.h: glusterfs-fops.x - $(top_srcdir)/build-aux/xdrgen header $(xdrsrc)/`basename ${@:.h=.x}` +# make's dependency resolution may mean that it decides to run +# rpcgen again (unnecessarily), but as the .c file already exists, +# rpcgen will exit with an error, resulting in a build error. We +# could use a '-' (i.e. -@rpcgen ...) and suffer with noisy warnings +# in the build. Or we do this crufty thing instead. +$(XDRSOURCES): $(XDRHEADERS) + @rpcgen -c -o $(@:.c=.tmp) $(@:.c=.x) && mv $(@:.c=.tmp) $@ + +# d*mn sed in netbsd6 doesn't do -i (inline) +# (why are we still running smoke on netbsd6 and not netbsd7?) +$(XDRHEADERS): $(XDRGENFILES) + @rpcgen -h -o $(@:.h=.tmp) $(@:.h=.x) + @sed -e '/#ifndef/ s/-/_/g' -e '/#define/ s/-/_/g' -e '/#endif/ s/-/_/' \ + $(@:.h=.tmp) > $@ && rm -f $(@:.h=.tmp) + +# link .x files when doing out-of-tree builds +# have to use .PHONY here to force it; all versions of make +# will think the file already exists "here" by virtue of the +# VPATH. And we have to have the .x file in $cwd in order to +# have rpcgen generate "nice" #include directives +# i.e. (nice): +# #include "acl3-xdr.h" +# versus (not nice): +# #include "../../../../foo/src/rpc/xdr/src/acl3-xdr.h" +.PHONY : $(XDRGENFILES) +$(XDRGENFILES): + @if [ ! -e $@ ]; then ln -s $(xdrsrc)/$@ . ; fi; -$(top_srcdir)/libglusterfs/src/glusterfs-fops.h: glusterfs-fops.h - cp $(xdrsrc)/`basename $@` $(top_srcdir)/libglusterfs/src/ - -glusterfs3-xdr.c: glusterfs3-xdr.x glusterfs3-xdr.h - $(top_srcdir)/build-aux/xdrgen source $(xdrsrc)/`basename ${@:.c=.x}` - -glusterfs3-xdr.h: glusterfs3-xdr.x - $(top_srcdir)/build-aux/xdrgen header $(xdrsrc)/`basename ${@:.h=.x}` - -cli1-xdr.c: cli1-xdr.x cli1-xdr.h - $(top_srcdir)/build-aux/xdrgen source $(xdrsrc)/`basename ${@:.c=.x}` - -cli1-xdr.h: cli1-xdr.x - $(top_srcdir)/build-aux/xdrgen header $(xdrsrc)/`basename ${@:.h=.x}` - -nlm4-xdr.c: nlm4-xdr.x nlm4-xdr.h - $(top_srcdir)/build-aux/xdrgen source $(xdrsrc)/`basename ${@:.c=.x}` - -nlm4-xdr.h: nlm4-xdr.x - $(top_srcdir)/build-aux/xdrgen header $(xdrsrc)/`basename ${@:.h=.x}` - -nsm-xdr.c: nsm-xdr.x nsm-xdr.h - $(top_srcdir)/build-aux/xdrgen source $(xdrsrc)/`basename ${@:.c=.x}` - -nsm-xdr.h: nsm-xdr.x - $(top_srcdir)/build-aux/xdrgen header $(xdrsrc)/`basename ${@:.h=.x}` - -rpc-common-xdr.c: rpc-common-xdr.x rpc-common-xdr.h - $(top_srcdir)/build-aux/xdrgen source $(xdrsrc)/`basename ${@:.c=.x}` - -rpc-common-xdr.h: rpc-common-xdr.x - $(top_srcdir)/build-aux/xdrgen header $(xdrsrc)/`basename ${@:.h=.x}` - -glusterd1-xdr.c: glusterd1-xdr.x glusterd1-xdr.h - $(top_srcdir)/build-aux/xdrgen source $(xdrsrc)/`basename ${@:.c=.x}` - -glusterd1-xdr.h: glusterd1-xdr.x - $(top_srcdir)/build-aux/xdrgen header $(xdrsrc)/`basename ${@:.h=.x}` - -acl3-xdr.c: acl3-xdr.x acl3-xdr.h - $(top_srcdir)/build-aux/xdrgen source $(xdrsrc)/`basename ${@:.c=.x}` - -acl3-xdr.h: acl3-xdr.x - $(top_srcdir)/build-aux/xdrgen header $(xdrsrc)/`basename ${@:.h=.x}` - -portmap-xdr.c: portmap-xdr.x portmap-xdr.h - $(top_srcdir)/build-aux/xdrgen source $(xdrsrc)/`basename ${@:.c=.x}` - -portmap-xdr.h: portmap-xdr.x - $(top_srcdir)/build-aux/xdrgen header $(xdrsrc)/`basename ${@:.h=.x}` - -mount3udp.c: mount3udp.x mount3udp.h - $(top_srcdir)/build-aux/xdrgen source $(xdrsrc)/`basename ${@:.c=.x}` - -mount3udp.h: mount3udp.x - $(top_srcdir)/build-aux/xdrgen header $(xdrsrc)/`basename ${@:.h=.x}` - -changelog-xdr.c: changelog-xdr.x changelog-xdr.h - $(top_srcdir)/build-aux/xdrgen source $(xdrsrc)/`basename ${@:.c=.x}` - -changelog-xdr.h: changelog-xdr.x - $(top_srcdir)/build-aux/xdrgen header $(xdrsrc)/`basename ${@:.h=.x}` diff --git a/rpc/xdr/src/acl3-xdr.x b/rpc/xdr/src/acl3-xdr.x index 39388e07c7e..bd9972c7c53 100644 --- a/rpc/xdr/src/acl3-xdr.x +++ b/rpc/xdr/src/acl3-xdr.x @@ -8,6 +8,10 @@ * cases as published by the Free Software Foundation. */ +#ifdef RPC_XDR +%#include "rpc-pragmas.h" +#endif +%#include "compat.h" %#include "xdr-nfs3.h" struct aclentry { diff --git a/rpc/xdr/src/changelog-xdr.x b/rpc/xdr/src/changelog-xdr.x index ba1ebd27836..0bd6564a7f0 100644 --- a/rpc/xdr/src/changelog-xdr.x +++ b/rpc/xdr/src/changelog-xdr.x @@ -1,3 +1,18 @@ +/* + * Copyright (c) 2012 Red Hat, Inc. <http://www.redhat.com> + * This file is part of GlusterFS. + * + * This file is licensed to you under your choice of the GNU Lesser + * General Public License, version 3 or any later version (LGPLv3 or + * later), or the GNU General Public License, version 2 (GPLv2), in all + * cases as published by the Free Software Foundation. + */ + +#ifdef RPC_XDR +%#include "rpc-pragmas.h" +#endif +%#include "compat.h" + /* XDR: libgfchangelog -> changelog */ struct changelog_probe_req { diff --git a/rpc/xdr/src/cli1-xdr.x b/rpc/xdr/src/cli1-xdr.x index 80151d48822..55a9b3de19c 100644 --- a/rpc/xdr/src/cli1-xdr.x +++ b/rpc/xdr/src/cli1-xdr.x @@ -1,3 +1,18 @@ +/* + * Copyright (c) 2012 Red Hat, Inc. <http://www.redhat.com> + * This file is part of GlusterFS. + * + * This file is licensed to you under your choice of the GNU Lesser + * General Public License, version 3 or any later version (LGPLv3 or + * later), or the GNU General Public License, version 2 (GPLv2), in all + * cases as published by the Free Software Foundation. + */ + +#ifdef RPC_XDR +%#include "rpc-pragmas.h" +#endif +%#include "compat.h" + enum gf_cli_defrag_type { GF_DEFRAG_CMD_START = 1, GF_DEFRAG_CMD_STOP, diff --git a/rpc/xdr/src/glusterd1-xdr.x b/rpc/xdr/src/glusterd1-xdr.x index f5c45c9e45f..1ce57392b5b 100644 --- a/rpc/xdr/src/glusterd1-xdr.x +++ b/rpc/xdr/src/glusterd1-xdr.x @@ -1,3 +1,18 @@ +/* + * Copyright (c) 2012 Red Hat, Inc. <http://www.redhat.com> + * This file is part of GlusterFS. + * + * This file is licensed to you under your choice of the GNU Lesser + * General Public License, version 3 or any later version (LGPLv3 or + * later), or the GNU General Public License, version 2 (GPLv2), in all + * cases as published by the Free Software Foundation. + */ + +#ifdef RPC_XDR +%#include "rpc-pragmas.h" +#endif +%#include "compat.h" + enum glusterd_volume_status { GLUSTERD_STATUS_NONE = 0, GLUSTERD_STATUS_STARTED, diff --git a/rpc/xdr/src/glusterfs-fops.x b/rpc/xdr/src/glusterfs-fops.x index 4bfdd4b50ea..3b73499814d 100644 --- a/rpc/xdr/src/glusterfs-fops.x +++ b/rpc/xdr/src/glusterfs-fops.x @@ -1,3 +1,18 @@ +/* + * Copyright (c) 2016 Red Hat, Inc. <http://www.redhat.com> + * This file is part of GlusterFS. + * + * This file is licensed to you under your choice of the GNU Lesser + * General Public License, version 3 or any later version (LGPLv3 or + * later), or the GNU General Public License, version 2 (GPLv2), in all + * cases as published by the Free Software Foundation. + */ + +#ifdef RPC_XDR +%#include "rpc-pragmas.h" +#endif +%#include "compat.h" + /* NOTE: add members ONLY at the end (just before _MAXVALUE) */ /* * OTHER NOTE: fop_enum_to_str and fop_enum_to_pri_str (in common-utils.h) also diff --git a/rpc/xdr/src/glusterfs3-xdr.x b/rpc/xdr/src/glusterfs3-xdr.x index 37fda8551b4..d6fb1bee037 100644 --- a/rpc/xdr/src/glusterfs3-xdr.x +++ b/rpc/xdr/src/glusterfs3-xdr.x @@ -1,3 +1,17 @@ +/* + * Copyright (c) 2012 Red Hat, Inc. <http://www.redhat.com> + * This file is part of GlusterFS. + * + * This file is licensed to you under your choice of the GNU Lesser + * General Public License, version 3 or any later version (LGPLv3 or + * later), or the GNU General Public License, version 2 (GPLv2), in all + * cases as published by the Free Software Foundation. + */ + +#ifdef RPC_XDR +%#include "rpc-pragmas.h" +#endif +%#include "compat.h" %#include "rpc-common-xdr.h" %#include "glusterfs-fops.h" diff --git a/rpc/xdr/src/mount3udp.x b/rpc/xdr/src/mount3udp.x index 7fbe3ff523d..4fafaa053f8 100644 --- a/rpc/xdr/src/mount3udp.x +++ b/rpc/xdr/src/mount3udp.x @@ -8,6 +8,11 @@ cases as published by the Free Software Foundation. */ +#ifdef RPC_XDR +%#include "rpc-pragmas.h" +#endif +%#include "compat.h" + /* This is used by rpcgen to auto generate the rpc stubs. * mount3udp_svc.c is heavily modified though */ diff --git a/rpc/xdr/src/nlm4-xdr.x b/rpc/xdr/src/nlm4-xdr.x index 9c308d80474..47538235171 100644 --- a/rpc/xdr/src/nlm4-xdr.x +++ b/rpc/xdr/src/nlm4-xdr.x @@ -8,6 +8,11 @@ cases as published by the Free Software Foundation. */ +#ifdef RPC_XDR +%#include "rpc-pragmas.h" +#endif +%#include "compat.h" + /* .x file defined as according to the RFC */ %#include "xdr-common.h" diff --git a/rpc/xdr/src/nsm-xdr.x b/rpc/xdr/src/nsm-xdr.x index 8f97b1aaa1f..81b0b8cdea2 100644 --- a/rpc/xdr/src/nsm-xdr.x +++ b/rpc/xdr/src/nsm-xdr.x @@ -1,4 +1,19 @@ /* + * Copyright (c) 2012 Red Hat, Inc. <http://www.redhat.com> + * This file is part of GlusterFS. + * + * This file is licensed to you under your choice of the GNU Lesser + * General Public License, version 3 or any later version (LGPLv3 or + * later), or the GNU General Public License, version 2 (GPLv2), in all + * cases as published by the Free Software Foundation. + */ + +#ifdef RPC_XDR +%#include "rpc-pragmas.h" +#endif +%#include "compat.h" + +/* * This defines the maximum length of the string * identifying the caller. */ diff --git a/rpc/xdr/src/portmap-xdr.x b/rpc/xdr/src/portmap-xdr.x index 0e694f3359b..66a86a1dae1 100644 --- a/rpc/xdr/src/portmap-xdr.x +++ b/rpc/xdr/src/portmap-xdr.x @@ -1,3 +1,17 @@ +/* + * Copyright (c) 2012 Red Hat, Inc. <http://www.redhat.com> + * This file is part of GlusterFS. + * + * This file is licensed to you under your choice of the GNU Lesser + * General Public License, version 3 or any later version (LGPLv3 or + * later), or the GNU General Public License, version 2 (GPLv2), in all + * cases as published by the Free Software Foundation. + */ + +#ifdef RPC_XDR +%#include "rpc-pragmas.h" +#endif +%#include "compat.h" struct pmap_port_by_brick_req { string brick<>; diff --git a/rpc/xdr/src/rpc-common-xdr.x b/rpc/xdr/src/rpc-common-xdr.x index c2b25705d20..464a7478c73 100644 --- a/rpc/xdr/src/rpc-common-xdr.x +++ b/rpc/xdr/src/rpc-common-xdr.x @@ -1,3 +1,18 @@ +/* + * Copyright (c) 2012 Red Hat, Inc. <http://www.redhat.com> + * This file is part of GlusterFS. + * + * This file is licensed to you under your choice of the GNU Lesser + * General Public License, version 3 or any later version (LGPLv3 or + * later), or the GNU General Public License, version 2 (GPLv2), in all + * cases as published by the Free Software Foundation. + */ + +#ifdef RPC_XDR +%#include "rpc-pragmas.h" +#endif +%#include "compat.h" + /* This file has definition of few XDR structures which are * not captured in any section specific file */ diff --git a/rpc/xdr/src/rpc-pragmas.h b/rpc/xdr/src/rpc-pragmas.h new file mode 100644 index 00000000000..4c54cf6f1df --- /dev/null +++ b/rpc/xdr/src/rpc-pragmas.h @@ -0,0 +1,28 @@ +/* + Copyright (c) 2016 Red Hat, Inc. <http://www.redhat.com> + This file is part of GlusterFS. + + This file is licensed to you under your choice of the GNU Lesser + General Public License, version 3 or any later version (LGPLv3 or + later), or the GNU General Public License, version 2 (GPLv2), in all + cases as published by the Free Software Foundation. +*/ + +#ifndef GLUSTERFS_RPC_PRAGMAS_H +#define GLUSTERFS_RPC_PRAGMAS_H + +#if defined(__GNUC__) +#if __GNUC__ >= 4 +#if !defined(__clang__) +#if !defined(__NetBSD__) +#pragma GCC diagnostic ignored "-Wunused-but-set-variable" +#pragma GCC diagnostic ignored "-Wunused-variable" +#endif +#else +#pragma clang diagnostic ignored "-Wunused-variable" +#pragma clang diagnostic ignored "-Wunused-value" +#endif +#endif +#endif + +#endif /* GLUSTERFS_RPC_PRAGMAS_H */ |