summaryrefslogtreecommitdiffstats
path: root/src/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/util')
-rw-r--r--src/util/autoreconf.local159
-rw-r--r--src/util/reconf25
2 files changed, 172 insertions, 12 deletions
diff --git a/src/util/autoreconf.local b/src/util/autoreconf.local
new file mode 100644
index 000000000..d989d0d55
--- /dev/null
+++ b/src/util/autoreconf.local
@@ -0,0 +1,159 @@
+#!/bin/sh
+#
+# This is a hacked up copy of autoreconf from version 1.125 that only
+# remakes the configure scripts if necessary.
+#
+# autoreconf - remake all Autoconf configure scripts in a directory tree
+# Copyright (C) 1994 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+usage="\
+Usage: autoreconf [-h] [--help] [-m dir] [--macrodir=dir]
+ [-l dir] [--localdir=dir] [--force] [--verbose] [--version]"
+
+localdir=
+verbose=no
+show_version=no
+force=
+
+test -z "$AC_MACRODIR" && AC_MACRODIR=/usr/local/share/autoconf
+
+while test $# -gt 0; do
+ case "$1" in
+ -h | --help | --h*)
+ echo "$usage"; exit 0 ;;
+ --localdir=* | --l*=* )
+ localdir="`echo \"${1}\" | sed -e 's/^[^=]*=//'`"
+ shift ;;
+ -l | --localdir | --l*)
+ shift
+ test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
+ localdir="${1}"
+ shift ;;
+ --macrodir=* | --m*=* )
+ AC_MACRODIR="`echo \"$1\" | sed -e 's/^[^=]*=//'`"
+ shift ;;
+ -m | --macrodir | --m*)
+ shift
+ test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
+ AC_MACRODIR="$1"
+ shift ;;
+ --verbose | --verb*)
+ verbose=yes; shift ;;
+ --force | -f)
+ force=yes; shift ;;
+ --version | --vers*)
+ show_version=yes; shift ;;
+ --) # Stop option processing.
+ shift; break ;;
+ -*) echo "$usage" 1>&2; exit 1 ;;
+ *) break ;;
+ esac
+done
+
+if test $show_version = yes; then
+ version=`sed -n 's/define.AC_ACVERSION.[ ]*\([0-9.]*\).*/\1/p' \
+ $AC_MACRODIR/acgeneral.m4`
+ echo "Autoconf version $version"
+ exit 0
+fi
+
+if test $# -ne 0; then
+ echo "$usage" 1>&2; exit 1
+fi
+
+#top_autoconf=`echo $0|sed s%autoreconf%autoconf%`
+#top_autoheader=`echo $0|sed s%autoreconf%autoheader%`
+#
+# hack replacements for local krb5 use until this gets integrated into the
+# main autoconf distribution
+top_autoconf=`echo $0|sed s%autoreconf.local%autoconf/autoconf%`
+top_autoheader=`echo $0|sed s%autoreconf.local%autoconf/autoheader%`
+
+# The xargs grep filters out Cygnus configure.in files.
+find . -name configure.in -print |
+xargs grep -l AC_OUTPUT |
+sed 's%/configure\.in$%%; s%^./%%' |
+while read dir; do
+ (
+ cd $dir || continue
+
+ case "$dir" in
+ .) dots= ;;
+ *) # A "../" for each directory in /$dir.
+ dots=`echo /$dir|sed 's%/[^/]*%../%g'` ;;
+ esac
+
+ case "$0" in
+ /*) autoconf=$top_autoconf; autoheader=$top_autoheader ;;
+ */*) autoconf=$dots$top_autoconf; autoheader=$dots$top_autoheader ;;
+ *) autoconf=$top_autoconf; autoheader=$top_autoheader ;;
+ esac
+
+ case "$AC_MACRODIR" in
+ /*) macrodir_opt="--macrodir=$AC_MACRODIR" ;;
+ *) macrodir_opt="--macrodir=$dots$AC_MACRODIR" ;;
+ esac
+
+ case "$localdir" in
+ "") localdir_opt= ;
+ aclocal_file=aclocal.m4 ;;
+ /*) localdir_opt="--localdir=$localdir"
+ aclocal_file=$localdir/aclocal.m4 ;;
+ *) localdir_opt="--localdir=$dots$localdir"
+ aclocal_file=$dots$locadir/aclocal.m4 ;;
+ esac
+
+ if test ! -f $aclocal_file; then
+ aclocal_file=
+ fi
+ if test "$force" != yes -a -f configure && \
+ ls -lt configure configure.in $aclocal_file | head -1 | \
+ grep configure$ > /dev/null
+ then
+ :
+ else
+ test "$verbose" = yes && echo running autoconf in $dir
+ $autoconf $macrodir_opt $localdir_opt
+ fi
+
+ if grep AC_CONFIG_HEADER configure.in >/dev/null; then
+ template=`sed -n '/AC_CONFIG_HEADER/{
+s%[^#]*AC_CONFIG_HEADER(\([^)]*\).*%\1%
+t here
+: here
+s%.*:%%
+t colon
+s%$%.in%
+: colon
+p
+q
+}' configure.in`
+ if test ! -f $template || grep autoheader $template >/dev/null; then
+ if test "$force" != yes -a -f $template && \
+ ls -lt $template configure.in $aclocal_file | head -1 | \
+ grep $template$ > /dev/null
+ then
+ :
+ else
+ test $verbose = yes && echo running autoheader in $dir
+ $autoheader $macrodir_opt $localdir_opt
+ fi
+ fi
+ fi
+ )
+done
+
diff --git a/src/util/reconf b/src/util/reconf
index 3d76fb8fd..a71b71736 100644
--- a/src/util/reconf
+++ b/src/util/reconf
@@ -1,17 +1,18 @@
#!/bin/sh
-for i in `find . -name configure.in -print`
+force=
+
+usage="Usage: ./config.status [--recheck] [--version] [--help]"
+for option
do
- config=`echo $i | sed -e 's/.in$//'`
- if test ! -f $config || \
- find $i -newer $config -print | grep configure.in > /dev/null
- then
- dir=`dirname $i`
- topdir=`echo $dir | sed -e 's;/[^/]*;/..;g'`
- echo "cd $dir; $topdir/util/autoconf/autoconf --topdir=$topdir --macrodir=$topdir/util/autoconf"
- ( cd $dir; $topdir/util/autoconf/autoconf --topdir=$topdir --macrodir=$topdir/util/autoconf )
- fi
+ case "$option" in
+ --force | -f)
+ echo "Remaking all configuration files"
+ force=--force ;;
+ -help | --help | --hel | --he | --h)
+ echo "$usage"; exit 0 ;;
+ *) echo "$usage"; exit 1 ;;
+ esac
done
-cd include/krb5
-../../util/autoconf/autoheader --macrodir=../../util/autoconf
+./util/autoreconf.local -m util/autoconf -l . --verbose $force