diff options
Diffstat (limited to 'build-aux')
-rwxr-xr-x | build-aux/xdrgen | 90 |
1 files changed, 47 insertions, 43 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 "$@"; |