diff options
Diffstat (limited to 'rpc/xdr')
| -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 | 
13 files changed, 193 insertions, 70 deletions
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 */  | 
