Home | History | Annotate | Download | only in c-ares
      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 #
      7 findtool(){
      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 #
     27 removethis(){
     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 #
     45 if 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
     51 fi
     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.
     57 libtool=`findtool glibtool 2>/dev/null`
     58 if test ! -x "$libtool"; then
     59   libtool=`findtool ${LIBTOOL:-libtool}`
     60 fi
     61 
     62 if 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"
     66 else
     67   libtoolize=`findtool $LIBTOOLIZE`
     68 fi
     69 
     70 #--------------------------------------------------------------------------
     71 # Remove files generated on previous buildconf/configure run.
     72 #
     73 for 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"
    107 done
    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