diff options
| -rwxr-xr-x | build-aux/xdrgen | 90 | ||||
| -rw-r--r-- | rpc/xdr/src/.gitignore | 2 | ||||
| -rw-r--r-- | rpc/xdr/src/Makefile.am | 105 | 
3 files changed, 145 insertions, 52 deletions
diff --git a/build-aux/xdrgen b/build-aux/xdrgen index b5f33d37229..e826111b9cc 100755 --- a/build-aux/xdrgen +++ b/build-aux/xdrgen @@ -1,23 +1,9 @@  #!/bin/bash -_init () -{ -    xfile="$1"; - -    cfile="${1%.x}.c"; -    hfile="${1%.x}.h"; - -    tmp_cfile="$1.c"; - -    tmp1_hfile="$1.h.tmp"; -    tmp1_cfile="$1.c.tmp"; - -} -  append_licence_header ()  { -    src_file=$1; -    dst_file=$2; +    local src_file=$1; +    local dst_file=$2;      cat >$dst_file <<EOF  /* @@ -47,47 +33,65 @@ EOF  } -main () +gen_sources ()  { -    if [ $# -ne 1 ]; then -        echo "wrong number of arguments given" -        echo " $0 <XDR-definition-file>.x" -        exit 1; -    fi +    local xfile="$1"; + +    local cfile="${1%.x}.c"; +    local hfile="${1%.x}.h"; +    local tmp_cfile="$1.c.tmp"; +    local tmp_hfile="$1.h.tmp"; -    echo -n "writing the XDR routine file ($tmp_cfile) ...  "; +    rm -f $cfile; +    rpcgen -c -o $cfile $xfile; +    append_licence_header $cfile $tmp_cfile; +    mv $tmp_cfile $cfile; +    # remove unwanted temporary files (if any)      rm -f $tmp_cfile; -    rpcgen -c -o $tmp_cfile $xfile; +    echo "Generated $cfile" +    return +} + +gen_headers () +{ +    local xfile="$1"; + +    local cfile="${1%.x}.c"; +    local hfile="${1%.x}.h"; -    echo "OK"; +    local tmp_cfile="$1.c.tmp"; +    local tmp_hfile="$1.h.tmp";      # no need for a temporary file here as there are no changes from glusterfs -    echo -n "writing the XDR header file ($hfile) ...  ";      rm -f $hfile;      rpcgen -h -o $hfile $xfile; -      # the '#ifdef' part of file should be fixed      sed -i -e 's/-/_/g' $hfile; - -    echo "OK"; - -    echo -n "writing licence header to the generated files ... "; -    # Write header to temp file and append generated file -    append_licence_header $hfile $tmp1_hfile; -    append_licence_header $tmp_cfile $tmp1_cfile; -    echo "OK" - +    # Gen header to temp file and append generated file +    append_licence_header $hfile $tmp_hfile;      # now move the destination file to actual original file -    echo -n "updating existing files ... "; -    mv $tmp1_hfile $hfile; -    mv $tmp1_cfile $cfile; +    mv $tmp_hfile $hfile; +    rm -f $tmp_hfile; +    echo "Generated $hfile"; +    return +} -    # remove unwanted temporary files (if any) -    rm -f $tmp_cfile $tmp1_cfile $tmp1_hfile +main () +{ +    if [ $# -ne 2 ]; then +        echo "wrong number of arguments given" +        echo " $0 [header|source] <XDR-definition-file>.x" +        exit 1; +    fi -    echo "OK" +    if [ $1 == "header" ]; then +        gen_headers $2 +    fi +    if [ $1 == "source" ]; then +        gen_sources $2 +    fi  } -_init "$@" && main "$@"; +main "$@"; diff --git a/rpc/xdr/src/.gitignore b/rpc/xdr/src/.gitignore index 4fb7f95822c..f9eab168024 100644 --- a/rpc/xdr/src/.gitignore +++ b/rpc/xdr/src/.gitignore @@ -16,4 +16,6 @@ portmap-xdr.c  portmap-xdr.h  rpc-common-xdr.c  rpc-common-xdr.h +mount3udp.c +mount3udp.h  *-e diff --git a/rpc/xdr/src/Makefile.am b/rpc/xdr/src/Makefile.am index e39c677a955..1c70dc9db19 100644 --- a/rpc/xdr/src/Makefile.am +++ b/rpc/xdr/src/Makefile.am @@ -1,3 +1,8 @@ +XDRSOURCES = glusterfs3-xdr.c cli1-xdr.c nlm4-xdr.c nsm-xdr.c \ +	rpc-common-xdr.c glusterd1-xdr.c acl3-xdr.c portmap-xdr.c mount3udp.c +XDRHEADERS = $(XDRSOURCES:.c=.h) +XDRGENFILES = $(XDRSOURCES:.c=.x) +  lib_LTLIBRARIES = libgfxdr.la  libgfxdr_la_CFLAGS = -Wall $(GF_CFLAGS) $(GF_DARWIN_LIBGLUSTERFS_CFLAGS) @@ -13,14 +18,96 @@ libgfxdr_la_SOURCES =  $(XDRSOURCES) xdr-generic.c xdr-nfs3.c msg-nfs3.c  noinst_HEADERS = $(XDRHEADERS) xdr-generic.h xdr-nfs3.h msg-nfs3.h glusterfs3.h -XDRSOURCES = glusterfs3-xdr.c cli1-xdr.c nlm4-xdr.c nsm-xdr.c \ -	rpc-common-xdr.c glusterd1-xdr.c acl3-xdr.c portmap-xdr.c -XDRHEADERS = glusterfs3-xdr.h cli1-xdr.h nlm4-xdr.h nsm-xdr.h \ -	rpc-common-xdr.h glusterd1-xdr.h acl3-xdr.h portmap-xdr.h +CLEANFILES = $(XDRSOURCES) $(XDRHEADERS) -%.h:%.x -	$(top_srcdir)/build-aux/xdrgen $(top_srcdir)/rpc/xdr/src/$*.x -%.c:%.x -	$(top_srcdir)/build-aux/xdrgen $(top_srcdir)/rpc/xdr/src/$*.x +EXTRA_DIST = $(XDRGENFILES) -CLEANFILES = $(XDRSOURCES) $(XDRHEADERS) +glusterfs3-xdr.c: glusterfs3-xdr.x glusterfs3-xdr.h +	@if test -f $<; then \ +		$(top_srcdir)/build-aux/xdrgen source $< ; \ +	fi + +glusterfs3-xdr.h: glusterfs3-xdr.x +	@if test -f $< ; then \ +		$(top_srcdir)/build-aux/xdrgen header $< ; \ +	fi + +cli1-xdr.c: cli1-xdr.x cli1-xdr.h +	@if test -f $< ; then \ +		$(top_srcdir)/build-aux/xdrgen source $< ; \ +	fi + +cli1-xdr.h: cli1-xdr.x +	@if test -f $< ; then \ +		$(top_srcdir)/build-aux/xdrgen header $< ; \ +	fi + +nlm4-xdr.c: nlm4-xdr.x nlm4-xdr.h +	@if test -f $< ; then \ +		$(top_srcdir)/build-aux/xdrgen source $< ; \ +	fi + +nlm4-xdr.h: nlm4-xdr.x +	@if test -f $< ; then \ +		$(top_srcdir)/build-aux/xdrgen header $< ; \ +	fi + +nsm-xdr.c: nsm-xdr.x nsm-xdr.h +	@if test -f $< ; then \ +		$(top_srcdir)/build-aux/xdrgen source $< ; \ +	fi + +nsm-xdr.h: nsm-xdr.x +	@if test -f $< ; then \ +		$(top_srcdir)/build-aux/xdrgen header $< ; \ +	fi + +rpc-common-xdr.c: rpc-common-xdr.x rpc-common-xdr.h +	@if test -f $< ; then \ +		$(top_srcdir)/build-aux/xdrgen source $< ; \ +	fi + +rpc-common-xdr.h: rpc-common-xdr.x +	@if test -f $< ; then \ +		$(top_srcdir)/build-aux/xdrgen header $< ; \ +	fi + +glusterd1-xdr.c: glusterd1-xdr.x glusterd1-xdr.h +	@if test -f $< ; then \ +		$(top_srcdir)/build-aux/xdrgen source $< ; \ +	fi + +glusterd1-xdr.h: glusterd1-xdr.x +	@if test -f $< ; then \ +		$(top_srcdir)/build-aux/xdrgen header $< ; \ +	fi + +acl3-xdr.c: acl3-xdr.x acl3-xdr.h +	@if test -f $< ; then \ +		$(top_srcdir)/build-aux/xdrgen source $< ; \ +	fi + +acl3-xdr.h: acl3-xdr.x +	@if test -f $< ; then \ +		$(top_srcdir)/build-aux/xdrgen header $< ; \ +	fi + +portmap-xdr.c: portmap-xdr.x portmap-xdr.h +	@if test -f $< ; then \ +		$(top_srcdir)/build-aux/xdrgen source $< ; \ +	fi + +portmap-xdr.h: portmap-xdr.x +	@if test -f $< ; then \ +		$(top_srcdir)/build-aux/xdrgen header $< ; \ +	fi + +mount3udp.c: mount3udp.x mount3udp.h +	@if test -f $< ; then \ +		$(top_srcdir)/build-aux/xdrgen source $< ; \ +	fi + +mount3udp.h: mount3udp.x +	@if test -f $< ; then \ +		$(top_srcdir)/build-aux/xdrgen header $< ; \ +	fi  | 
