109 lines
2.6 KiB
Bash
Executable File
109 lines
2.6 KiB
Bash
Executable File
#!/bin/sh
|
|
#set -x
|
|
# helps bootstrapping am-utils, when checked out from CVS
|
|
# requires GNU autoconf and GNU automake
|
|
# this is not meant to go into the distributions
|
|
# Erez Zadok <ezk@cs.columbia.edu>
|
|
|
|
# test cwd
|
|
test -f ../amd/amd.c && cd ..
|
|
if [ ! -f amd/amd.c ]; then
|
|
echo "Must run $0 from the top level source directory."
|
|
exit 1
|
|
fi
|
|
|
|
# validate macros directory and some macro files
|
|
if [ ! -d m4/macros ]; then
|
|
echo No m4/macros directory found!
|
|
exit 1
|
|
fi
|
|
if [ ! -f m4/macros/HEADER ]; then
|
|
echo No m4/macros/HEADER file found!
|
|
exit 1
|
|
fi
|
|
|
|
# remove any remaining autom4te.cache directory
|
|
rm -fr autom4te.cache autom4te-*.cache
|
|
|
|
# generate acinclude.m4 file
|
|
echo "AMU: prepare acinclude.m4..."
|
|
test -f acinclude.m4 && mv -f acinclude.m4 acinclude.m4.old
|
|
(cd m4/macros
|
|
for i in HEADER *.m4; do
|
|
cat $i
|
|
echo
|
|
echo
|
|
done
|
|
cat TRAILER
|
|
) > acinclude.m4
|
|
|
|
# generate aclocal.m4 file
|
|
echo "AMU: aclocal..."
|
|
test -f aclocal.m4 && mv -f aclocal.m4 aclocal.m4.old
|
|
# show version
|
|
aclocal --version 2>&1 | head -1
|
|
if aclocal ; then
|
|
:
|
|
else
|
|
echo "aclocal command failed. fix errors and rerun $0."
|
|
exit 2
|
|
fi
|
|
|
|
# produce new configure.in (temp) script
|
|
echo "AMU: autoconf..."
|
|
# show version
|
|
autoconf --version 2>&1 | head -1
|
|
LOG=/tmp/amu-$$.log
|
|
rm -f ${LOG}
|
|
autoconf configure.in > configure.new 2> ${LOG}
|
|
# until Automake requires Autoconf 2.50, manual says to ignore this
|
|
CUTWARNMSG1="warning: AC_PROG_LEX invoked multiple times|do not use m4_(patsubst|regexp):"
|
|
egrep -v "${CUTWARNMSG1}" ${LOG} > ${LOG}.new
|
|
mv ${LOG}.new ${LOG}
|
|
if test -s ${LOG}; then
|
|
echo "AUTOCONF ERRORS (MUST FIX):"
|
|
cat ${LOG}
|
|
rm -f ${LOG}
|
|
exit 2
|
|
fi
|
|
# now prepare the real configure script
|
|
test -f configure && mv -f configure configure.old
|
|
mv -f configure.new configure
|
|
chmod a+rx configure
|
|
rm -f configure.old
|
|
|
|
# run autoheader to produce C header .in files
|
|
echo "AMU: autoheader..."
|
|
# show version
|
|
autoheader --version 2>&1 | head -1
|
|
autoheader configure.in > config.h.in 2> ${LOG}
|
|
CUTWARNMSG2="autoheader: \`config.h.in' is updated"
|
|
egrep -v "${CUTWARNMSG2}" ${LOG} > ${LOG}.new
|
|
mv ${LOG}.new ${LOG}
|
|
if test -s ${LOG}; then
|
|
echo "AUTOHEADER ERRORS (MUST FIX):"
|
|
cat ${LOG}
|
|
rm -f ${LOG}
|
|
exit 2
|
|
fi
|
|
rm -f ${LOG}
|
|
|
|
# generate makefiles
|
|
cmd="automake --add-missing --copy --ignore-deps"
|
|
#cmd="automake --add-missing"
|
|
echo "AMU: $cmd..."
|
|
# show version
|
|
automake --version 2>&1 | head -1
|
|
if ${cmd} ; then
|
|
:
|
|
else
|
|
echo "automake command failed. fix errors and rerun $0."
|
|
exit 2
|
|
fi
|
|
|
|
# save timestamp
|
|
echo "AMU: save timestamp..."
|
|
echo timestamp > stamp-h.in
|
|
|
|
exit 0
|