Avoid adding a slash to path '/'.
[rsync/rsync.git] / prepare-source
index 0457179..0e73138 100755 (executable)
@@ -1,13 +1,51 @@
 #!/bin/sh
-# Use autoconf, autoheader, yodl, etc. to ready the generated files
-# in the release.  This is typically used after applying a diff from
-# "patches" directory in CVS.
+# Either use autoconf and autoheader to create configure.sh and config.h.in
+# or (optionally) fetch the latest development versions of generated files.
 #
-# NOTE:  if you use a diff from the "patches" directory in a release
-# tar as of 2.6.7, this is not needed (but doesn't hurt anything).
+# Specify one action or more than one to provide a fall-back:
+#
+#   build     build the config files [the default w/no arg]
+#   fetch     fetch the latest dev config files
+#   fetchgen  fetch all the latest dev generated files
+#   fetchSRC  fetch the latest dev source files [NON-GENERATED FILES]
+#
+# The script stops after the first successful action.
+
 dir=`dirname $0`
-if test x"$dir" = x -o x"$dir" = x.; then
-    make -f prepare-source.mak
-else
-    make -C "$dir" -f prepare-source.mak
+if test x"$dir" != x -a x"$dir" != x.; then
+    cd "$dir"
+fi
+
+if test $# = 0; then
+    set -- build
 fi
+
+for action in "${@}"; do
+    case "$action" in
+    build|make)
+       make -f prepare-source.mak
+       ;;
+    fetch)
+       if perl --version >/dev/null 2>/dev/null; then
+           files='c*'
+       else
+           files='[cp]*'
+       fi
+       rsync -pvz rsync://rsync.samba.org/rsyncftp/generated-files/"$files" .
+       ;;
+    fetchgen)
+       rsync -pvz rsync://rsync.samba.org/rsyncftp/generated-files/'*' .
+       ;;
+    fetchSRC)
+       rsync -pvrz --exclude=/.git/ rsync://rsync.samba.org/ftp/pub/unpacked/rsync/ .
+       ;;
+    *)
+       echo "Unknown action: $action"
+       exit 1
+    esac
+    if test $? = 0; then
+       exit
+    fi
+done
+
+exit 1