summaryrefslogtreecommitdiffstats
path: root/contrib/amd/bootstrap
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/amd/bootstrap')
-rwxr-xr-xcontrib/amd/bootstrap108
1 files changed, 108 insertions, 0 deletions
diff --git a/contrib/amd/bootstrap b/contrib/amd/bootstrap
new file mode 100755
index 0000000..58f1df1
--- /dev/null
+++ b/contrib/amd/bootstrap
@@ -0,0 +1,108 @@
+#!/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
+
+# 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
+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
OpenPOWER on IntegriCloud