1#!/bin/sh
2
3#--------------------------------------------------------------------------
4# findtool works as 'which' but we use a different name to make it more
5# obvious we aren't using 'which'! ;-)
6#
7findtool(){
8  file="$1"
9
10  old_IFS=$IFS; IFS=':'
11  for path in $PATH
12  do
13    IFS=$old_IFS
14    # echo "checks for $file in $path" >&2
15    if test -f "$path/$file"; then
16      echo "$path/$file"
17      return
18    fi
19  done
20  IFS=$old_IFS
21}
22
23#--------------------------------------------------------------------------
24# removethis() removes all files and subdirectories with the given name,
25# inside and below the current subdirectory at invocation time.
26#
27removethis(){
28  if test "$#" = "1"; then
29    find . -depth -name $1 -print > buildconf.tmp.$$
30    while read fdname
31    do
32      if test -f "$fdname"; then
33        rm -f "$fdname"
34      elif test -d "$fdname"; then
35        rm -f -r "$fdname"
36      fi
37    done < buildconf.tmp.$$
38    rm -f buildconf.tmp.$$
39  fi
40}
41
42#--------------------------------------------------------------------------
43# Ensure that buildconf runs from the subdirectory where configure.ac lives
44#
45if test ! -f configure.ac ||
46  test ! -f ares_init.c ||
47  test ! -f m4/cares-functions.m4; then
48  echo "Can not run buildconf from outside of c-ares source subdirectory!"
49  echo "Change to the subdirectory where buildconf is found, and try again."
50  exit 1
51fi
52
53#--------------------------------------------------------------------------
54# this approach that tries 'glibtool' first is some kind of work-around for
55# some BSD-systems I believe that use to provide the GNU libtool named
56# glibtool, with 'libtool' being something completely different.
57libtool=`findtool glibtool 2>/dev/null`
58if test ! -x "$libtool"; then
59  libtool=`findtool ${LIBTOOL:-libtool}`
60fi
61
62if test -z "$LIBTOOLIZE"; then
63  # set the LIBTOOLIZE here so that glibtoolize is used if glibtool was found
64  # $libtool is already the full path
65  libtoolize="${libtool}ize"
66else
67  libtoolize=`findtool $LIBTOOLIZE`
68fi
69
70#--------------------------------------------------------------------------
71# Remove files generated on previous buildconf/configure run.
72#
73for fname in .deps \
74    .libs \
75    *.la \
76    *.lo \
77    *.a \
78    *.o \
79    Makefile \
80    Makefile.in \
81    aclocal.m4 \
82    aclocal.m4.bak \
83    ares_build.h \
84    ares_config.h \
85    ares_config.h.in \
86    autom4te.cache \
87    compile \
88    config.guess \
89    config.log \
90    config.lt \
91    config.status \
92    config.sub \
93    configure \
94    depcomp \
95    libcares.pc \
96    libtool \
97    libtool.m4 \
98    ltmain.sh \
99    ltoptions.m4 \
100    ltsugar.m4 \
101    ltversion.m4 \
102    lt~obsolete.m4 \
103    missing \
104    stamp-h1 \
105    stamp-h2 ; do
106  removethis "$fname"
107done
108
109#--------------------------------------------------------------------------
110# run the correct scripts now
111#
112
113${libtoolize} --copy --automake --force
114${ACLOCAL:-aclocal} -I m4 $ACLOCAL_FLAGS
115${AUTOHEADER:-autoheader}
116${AUTOCONF:-autoconf}
117${AUTOMAKE:-automake} --add-missing --copy
118