#!/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 # 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