#! /bin/sh
#
# Copyright by The HDF Group and
# The Board of Trustees of the University of Illinois.
# All rights reserved.
#
# This file is part of H4H5TOOLS. The full H4H5TOOLS copyright notice,
# including terms governing use, modification, and redistribution, is
# contained in the files COPYING and Copyright.html. COPYING can be found
# at the root of the source code distribution tree; Copyright.html can be
# found at the root level of an installed copy of the electronic H4H5TOOLS
# document set, is linked from the top-level documents page, and can be
# found at http://www.hdfgroup.org/h4toh5/Copyright.html. If you do not
# have access to either file, you may request a copy from help@hdfgroup.org.
#
# A script to reconfigure autotools for H4H5TOOLS, and to recreate other
# generated files specifc to H4H5TOOLS.
# If the paths of the autotools are not specified by the user, they
# are hardcoded to point to their locations on H4H5TOOLS Linux machines.
# Users can specify the locations of the autotools with the following
# variables:
# AUTOCONF, AUTOMAKE, ACLOCAL, AUTOHEADER should be the path to the
# corresponding tools.
# Be very careful when specifying these tools manually! There are a lot
# of versions that can get confused (not even counting the m4 utility)!
# H4H5TOOLS currently uses the following versions of the autotools:
AUTOCONF_VERSION="autoconf (GNU Autoconf) 2.69"
AUTOMAKE_VERSION="automake (GNU automake) 1.14.1"
ACLOCAL_VERSION="aclocal (GNU automake) 1.14.1"
M4_VERSION="m4 (GNU M4) 1.4.17"
#
# When upgrading automake's version, don't forget to also update its
# helper utilities, especially depcomp.
# If paths to autotools are not specified by the user, assume tools are
# running on jam in /mnt/hdf/packages and set paths accordingly.
if test -z ${AUTORECONF}; then
AUTORECONF=/mnt/hdf/packages/autoconf/autoconf-2.69/bin/autoreconf
fi
if test -z ${AUTOCONF}; then
AUTOCONF=/mnt/hdf/packages/autoconf/autoconf-2.69/bin/autoconf
fi
if test -z ${AUTOMAKE}; then
AUTOMAKE=/mnt/hdf/packages/automake/automake-1.14.1/bin/automake-1.14
fi
if test -z ${ACLOCAL}; then
ACLOCAL=/mnt/hdf/packages/automake/automake-1.14.1/bin/aclocal-1.14
fi
if test -z ${M4}; then
M4=/mnt/hdf/packages/m4/m4-1.4.17/bin/m4
fi
# Check version numbers of all autotools against the "correct" versions
AC_VERS=`${AUTOCONF} --version 2>&1 | grep "^${AUTOCONF_VERSION}"`
if test -z "${AC_VERS}"; then
echo "${AUTOCONF} version is not ${AUTOCONF_VERSION}"
exit 1
fi
AM_VERS=`${AUTOMAKE} --version 2>&1 | grep "^${AUTOMAKE_VERSION}"`
if test -z "${AM_VERS}"; then
echo "${AUTOMAKE} version is not ${AUTOMAKE_VERSION}"
exit 1
fi
AL_VERS=`${ACLOCAL} --version 2>&1 | grep "^${ACLOCAL_VERSION}"`
if test -z "${AL_VERS}"; then
echo "${ACLOCAL} version is not ${ACLOCAL_VERSION}"
exit 1
fi
M4_VERS=`${M4} --version 2>&1 | grep "${M4_VERSION}"`
if test -z "${M4_VERS}"; then
echo "${M4} version is not ${M4_VERSION}"
exit 1
fi
# Make sure that the tools are in the path.
AUTOCONF_DIR=`dirname ${AUTOCONF}`
M4_DIR=`dirname ${M4}`
PATH=${AUTOCONF_DIR}:${M4_DIR}:$PATH
# Run autoconf/automake commands in order
echo ${ACLOCAL}
${ACLOCAL} || exit 1
echo ${AUTOMAKE} --add-missing
${AUTOMAKE} --add-missing || exit 1
echo ${AUTOCONF}
${AUTOCONF} || exit 1
# Clean up top-level Makefile.in
# pmake wants an argument to be the first non-comment line it encounters
# in the Makefile. Automake wants to reorganize the Makefile.
# To work around this, we post-process the top-level Makefile.in.
sed "s/^#xxx//" Makefile.in > Makefile.in.new
mv Makefile.in.new Makefile.in
exit 0