| #!/bin/sh |
| # Either use autoconf and autoheader to create configure.sh and config.h.in |
| # or (optionally) fetch the latest development versions of generated files. |
| # |
| # 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 autoconfig files |
| # fetchgen fetch all the latest dev generated files (including manpages) |
| # 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; then |
| dir=. |
| fi |
| |
| if test "$dir" = '.'; then |
| branch=`packaging/prep-auto-dir` || exit 1 |
| if test x"$branch" != x; then |
| cd build || exit 1 |
| dir=.. |
| fi |
| fi |
| |
| if test "$dir" != '.'; then |
| for lnk in configure.ac m4; do |
| if test ! -h $lnk; then |
| rm -f $lnk # Just in case |
| ln -s "$dir/$lnk" $lnk |
| fi |
| done |
| for fn in configure.sh config.h.in aclocal.m4; do |
| test ! -f $fn && test -f "$dir/$fn" && cp -p "$dir/$fn" $fn |
| done |
| fi |
| |
| if test $# = 0; then |
| set -- build |
| fi |
| |
| for action in "${@}"; do |
| case "$action" in |
| build|make) |
| make -f "$dir/prepare-source.mak" |
| ;; |
| fetch|fetchgen) |
| if test "$action" = fetchgen; then |
| match='*' |
| else |
| match='[ca]*' |
| fi |
| $dir/rsync-ssl -iipc --no-motd "rsync://download.samba.org/rsyncftp/generated-files/$match" ./ |
| test $? != 0 && continue |
| sleep 1 # The following files need to be newer than aclocal.m4 |
| touch configure.sh config.h.in |
| ;; |
| fetchSRC) |
| ./rsync-ssl -iipr --no-motd --exclude=/.git/ rsync://download.samba.org/ftp/pub/unpacked/rsync/ . |
| ;; |
| *) |
| echo "Unknown action: $action" |
| exit 1 |
| ;; |
| esac |
| if test $? = 0; then |
| exit |
| fi |
| done |
| |
| exit 1 |