1998-10-29 Alexandre Oliva <oliva@dcc.unicamp.br>

* autoreconf.sh: Support several automake command line options,
	and run aclocal and automake when needed. Also, create stamp files
	just like automake's Makefiles would do for config headers.
	Additional contributions from Tom Tromey <tromey@cygnus.com>.
This commit is contained in:
Ben Elliston 1998-10-29 00:53:33 +00:00
parent 7a2c894092
commit 8e80a0b40d
4 changed files with 217 additions and 57 deletions

View File

@ -1,3 +1,10 @@
1998-10-29 Alexandre Oliva <oliva@dcc.unicamp.br>
* autoreconf.sh: Support several automake command line options,
and run aclocal and automake when needed. Also, create stamp files
just like automake's Makefiles would do for config headers.
Additional contributions from Tom Tromey <tromey@cygnus.com>.
1998-10-24 Matthew D. Langston <langston@SLAC.Stanford.EDU>
* acgeneral.m4 (AC_LANG_FORTRAN77): Remove [] (i.e. the m4 quotes)

View File

@ -19,12 +19,15 @@
usage="\
Usage: autoreconf [-f] [-h] [--help] [-m dir] [--macrodir=dir]
[-l dir] [--localdir=dir] [--force] [--verbose] [--version]"
[-l dir] [--localdir=dir] [--force] [--verbose] [--version]
[--cygnus] [--foreign] [--gnits] [--gnu] [-i] [--include-deps]"
localdir=
verbose=no
show_version=no
force=no
automake_mode=--gnu
automake_deps=
test -z "$AC_MACRODIR" && AC_MACRODIR=@datadir@
@ -54,6 +57,10 @@ while test $# -gt 0; do
force=yes; shift ;;
--version | --vers*)
show_version=yes; shift ;;
--cygnus | --foreign | --gnits | --gnu)
automake_mode=$1; shift ;;
--include-deps | -i)
automake_deps=$1; shift ;;
--) # Stop option processing.
shift; break ;;
-*) echo "$usage" 1>&2; exit 1 ;;
@ -111,6 +118,45 @@ while read dir; do
aclocal=$dots$localdir/aclocal.m4 ;;
esac
# Regenerate aclocal.m4 if necessary. FIXME: if aclocal searches
# nonstandard directories, we need to deal with that here. The
# easiest way is to move this info into configure.in.
run_aclocal=no
if test -f "$aclocal" &&
grep 'generated automatically by aclocal' $aclocal > /dev/null
then
run_aclocal=yes
else
if test -f `echo $aclocal | sed 's,/[^/]*,,;s,^$,.,'`/acinclude.m4
then
run_aclocal=yes
fi
fi
if test $run_aclocal = yes
then
if test $force = no &&
ls -lt configure.in $aclocal \
`echo $aclocal | sed 's,/[^/]*,,;s,^$,.,'`/acinclude.m4 |
sed 1q |
grep 'aclocal\.m4$' > /dev/null
then
:
else
test $verbose = yes && echo running aclocal in $dir, creating $aclocal
aclocal --output=$aclocal -I `echo $aclocal | sed 's,/[^/]*,,;s,^$,.,'`
fi
fi
# Re-run automake if required. Assumes that there is a Makefile.am
# in the topmost directory.
if test -f Makefile.am
then
amforce=
test $force = no && amforce=--no-force
test $verbose = yes && echo running automake`test x"$amforce" = x || echo " ($amforce)"` in $dir
automake $amforce $automake_mode $automake_deps
fi
test ! -f $aclocal && aclocal=
if test $force = no && test -f configure &&
@ -123,31 +169,36 @@ while read dir; do
$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%
s%^ *\([^ ][^ ]*\) .*$%\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 grep 'A[CM]_CONFIG_HEADER' configure.in >/dev/null; then
templates=`sed -n '/A[CM]_CONFIG_HEADER/ {
s%[^#]*A[CM]_CONFIG_HEADER[ ]*(\([^)]*\).*%\1%
p
q
}' configure.in`
tcount=`set -- $templates; echo $#`
template=`set -- $templates; echo $1 | sed '
s/.*://
t colon
s/$/.in/
: colon
s/:.*//
'`
stamp=`echo $template | sed 's,/[^/]*$,,;s,^$,.,`/stamp-h`test "$tcount" -gt 1 && echo "$tcount"`.in
if test ! -f "$template" || grep autoheader "$template" >/dev/null; then
if test $force = no && test -f $template &&
ls -lt $template configure.in $aclocal | sed 1q |
grep "$template$" > /dev/null
ls -lt $template configure.in $aclocal $stamp 2>/dev/null \
`echo $localdir_opt | sed 's/--localdir=//
s%\(.\)$%\1/%'`acconfig.h |
sed 1q | egrep "$template$|$stamp$" > /dev/null
then
:
else
test $verbose = yes && echo running autoheader in $dir
$autoheader $macrodir_opt $localdir_opt
$autoheader $macrodir_opt $localdir_opt &&
{ test $verbose != yes || echo touching $stamp; } &&
touch $stamp
fi
fi
fi
)
done

View File

@ -19,12 +19,15 @@
usage="\
Usage: autoreconf [-f] [-h] [--help] [-m dir] [--macrodir=dir]
[-l dir] [--localdir=dir] [--force] [--verbose] [--version]"
[-l dir] [--localdir=dir] [--force] [--verbose] [--version]
[--cygnus] [--foreign] [--gnits] [--gnu] [-i] [--include-deps]"
localdir=
verbose=no
show_version=no
force=no
automake_mode=--gnu
automake_deps=
test -z "$AC_MACRODIR" && AC_MACRODIR=@datadir@
@ -54,6 +57,10 @@ while test $# -gt 0; do
force=yes; shift ;;
--version | --vers*)
show_version=yes; shift ;;
--cygnus | --foreign | --gnits | --gnu)
automake_mode=$1; shift ;;
--include-deps | -i)
automake_deps=$1; shift ;;
--) # Stop option processing.
shift; break ;;
-*) echo "$usage" 1>&2; exit 1 ;;
@ -111,6 +118,45 @@ while read dir; do
aclocal=$dots$localdir/aclocal.m4 ;;
esac
# Regenerate aclocal.m4 if necessary. FIXME: if aclocal searches
# nonstandard directories, we need to deal with that here. The
# easiest way is to move this info into configure.in.
run_aclocal=no
if test -f "$aclocal" &&
grep 'generated automatically by aclocal' $aclocal > /dev/null
then
run_aclocal=yes
else
if test -f `echo $aclocal | sed 's,/[^/]*,,;s,^$,.,'`/acinclude.m4
then
run_aclocal=yes
fi
fi
if test $run_aclocal = yes
then
if test $force = no &&
ls -lt configure.in $aclocal \
`echo $aclocal | sed 's,/[^/]*,,;s,^$,.,'`/acinclude.m4 |
sed 1q |
grep 'aclocal\.m4$' > /dev/null
then
:
else
test $verbose = yes && echo running aclocal in $dir, creating $aclocal
aclocal --output=$aclocal -I `echo $aclocal | sed 's,/[^/]*,,;s,^$,.,'`
fi
fi
# Re-run automake if required. Assumes that there is a Makefile.am
# in the topmost directory.
if test -f Makefile.am
then
amforce=
test $force = no && amforce=--no-force
test $verbose = yes && echo running automake`test x"$amforce" = x || echo " ($amforce)"` in $dir
automake $amforce $automake_mode $automake_deps
fi
test ! -f $aclocal && aclocal=
if test $force = no && test -f configure &&
@ -123,31 +169,36 @@ while read dir; do
$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%
s%^ *\([^ ][^ ]*\) .*$%\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 grep 'A[CM]_CONFIG_HEADER' configure.in >/dev/null; then
templates=`sed -n '/A[CM]_CONFIG_HEADER/ {
s%[^#]*A[CM]_CONFIG_HEADER[ ]*(\([^)]*\).*%\1%
p
q
}' configure.in`
tcount=`set -- $templates; echo $#`
template=`set -- $templates; echo $1 | sed '
s/.*://
t colon
s/$/.in/
: colon
s/:.*//
'`
stamp=`echo $template | sed 's,/[^/]*$,,;s,^$,.,`/stamp-h`test "$tcount" -gt 1 && echo "$tcount"`.in
if test ! -f "$template" || grep autoheader "$template" >/dev/null; then
if test $force = no && test -f $template &&
ls -lt $template configure.in $aclocal | sed 1q |
grep "$template$" > /dev/null
ls -lt $template configure.in $aclocal $stamp 2>/dev/null \
`echo $localdir_opt | sed 's/--localdir=//
s%\(.\)$%\1/%'`acconfig.h |
sed 1q | egrep "$template$|$stamp$" > /dev/null
then
:
else
test $verbose = yes && echo running autoheader in $dir
$autoheader $macrodir_opt $localdir_opt
$autoheader $macrodir_opt $localdir_opt &&
{ test $verbose != yes || echo touching $stamp; } &&
touch $stamp
fi
fi
fi
)
done

View File

@ -19,12 +19,15 @@
usage="\
Usage: autoreconf [-f] [-h] [--help] [-m dir] [--macrodir=dir]
[-l dir] [--localdir=dir] [--force] [--verbose] [--version]"
[-l dir] [--localdir=dir] [--force] [--verbose] [--version]
[--cygnus] [--foreign] [--gnits] [--gnu] [-i] [--include-deps]"
localdir=
verbose=no
show_version=no
force=no
automake_mode=--gnu
automake_deps=
test -z "$AC_MACRODIR" && AC_MACRODIR=@datadir@
@ -54,6 +57,10 @@ while test $# -gt 0; do
force=yes; shift ;;
--version | --vers*)
show_version=yes; shift ;;
--cygnus | --foreign | --gnits | --gnu)
automake_mode=$1; shift ;;
--include-deps | -i)
automake_deps=$1; shift ;;
--) # Stop option processing.
shift; break ;;
-*) echo "$usage" 1>&2; exit 1 ;;
@ -111,6 +118,45 @@ while read dir; do
aclocal=$dots$localdir/aclocal.m4 ;;
esac
# Regenerate aclocal.m4 if necessary. FIXME: if aclocal searches
# nonstandard directories, we need to deal with that here. The
# easiest way is to move this info into configure.in.
run_aclocal=no
if test -f "$aclocal" &&
grep 'generated automatically by aclocal' $aclocal > /dev/null
then
run_aclocal=yes
else
if test -f `echo $aclocal | sed 's,/[^/]*,,;s,^$,.,'`/acinclude.m4
then
run_aclocal=yes
fi
fi
if test $run_aclocal = yes
then
if test $force = no &&
ls -lt configure.in $aclocal \
`echo $aclocal | sed 's,/[^/]*,,;s,^$,.,'`/acinclude.m4 |
sed 1q |
grep 'aclocal\.m4$' > /dev/null
then
:
else
test $verbose = yes && echo running aclocal in $dir, creating $aclocal
aclocal --output=$aclocal -I `echo $aclocal | sed 's,/[^/]*,,;s,^$,.,'`
fi
fi
# Re-run automake if required. Assumes that there is a Makefile.am
# in the topmost directory.
if test -f Makefile.am
then
amforce=
test $force = no && amforce=--no-force
test $verbose = yes && echo running automake`test x"$amforce" = x || echo " ($amforce)"` in $dir
automake $amforce $automake_mode $automake_deps
fi
test ! -f $aclocal && aclocal=
if test $force = no && test -f configure &&
@ -123,31 +169,36 @@ while read dir; do
$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%
s%^ *\([^ ][^ ]*\) .*$%\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 grep 'A[CM]_CONFIG_HEADER' configure.in >/dev/null; then
templates=`sed -n '/A[CM]_CONFIG_HEADER/ {
s%[^#]*A[CM]_CONFIG_HEADER[ ]*(\([^)]*\).*%\1%
p
q
}' configure.in`
tcount=`set -- $templates; echo $#`
template=`set -- $templates; echo $1 | sed '
s/.*://
t colon
s/$/.in/
: colon
s/:.*//
'`
stamp=`echo $template | sed 's,/[^/]*$,,;s,^$,.,`/stamp-h`test "$tcount" -gt 1 && echo "$tcount"`.in
if test ! -f "$template" || grep autoheader "$template" >/dev/null; then
if test $force = no && test -f $template &&
ls -lt $template configure.in $aclocal | sed 1q |
grep "$template$" > /dev/null
ls -lt $template configure.in $aclocal $stamp 2>/dev/null \
`echo $localdir_opt | sed 's/--localdir=//
s%\(.\)$%\1/%'`acconfig.h |
sed 1q | egrep "$template$|$stamp$" > /dev/null
then
:
else
test $verbose = yes && echo running autoheader in $dir
$autoheader $macrodir_opt $localdir_opt
$autoheader $macrodir_opt $localdir_opt &&
{ test $verbose != yes || echo touching $stamp; } &&
touch $stamp
fi
fi
fi
)
done