+# findtool works as 'which' but we use a different name to make it more
+# obvious we aren't using 'which'! ;-)
+# Unlike 'which' does, the current directory is ignored.
+#
+findtool(){
+ file="$1"
+
+ if { echo "$file" | grep "/" >/dev/null 2>&1; } then
+ # when file is given with a path check it first
+ if test -f "$file"; then
+ echo "$file"
+ return
+ fi
+ fi
+
+ old_IFS=$IFS; IFS=':'
+ for path in $PATH
+ do
+ IFS=$old_IFS
+ # echo "checks for $file in $path" >&2
+ if test "$path" -a "$path" != '.' -a -f "$path/$file"; then
+ echo "$path/$file"
+ return
+ fi
+ done
+ IFS=$old_IFS
+}
+
+#--------------------------------------------------------------------------
+# removethis() removes all files and subdirectories with the given name,
+# inside and below the current subdirectory at invocation time.
+#
+removethis(){
+ if test "$#" = "1"; then
+ find . -depth -name $1 -print > buildconf.tmp.$$
+ while read fdname
+ do
+ if test -f "$fdname"; then
+ rm -f "$fdname"
+ elif test -d "$fdname"; then
+ rm -f -r "$fdname"
+ fi
+ done < buildconf.tmp.$$
+ rm -f buildconf.tmp.$$
+ fi
+}
+
+#--------------------------------------------------------------------------
+# Ensure that buildconf runs from the subdirectory where configure.ac lives
+#
+if test ! -f configure.ac ||
+ test ! -f src/tool_main.c ||
+ test ! -f lib/urldata.h ||
+ test ! -f include/curl/curl.h ||
+ test ! -f m4/curl-functions.m4; then
+ echo "Can not run buildconf from outside of curl's source subdirectory!"
+ echo "Change to the subdirectory where buildconf is found, and try again."
+ exit 1
+fi
+
+#--------------------------------------------------------------------------
+# autoconf 2.57 or newer. Unpatched version 2.67 does not generate proper
+# configure script. Unpatched version 2.68 is simply unusable, we should
+# disallow 2.68 usage.