#! /bin/sh # # Copyright by the Board of Trustees of the University of Illinois. # All rights reserved. # # A script to run the GNU autotools to regenerate files for HDF4. # If the paths of the autotools are not specified by the user, they # are hardcoded to point to their locations on HDF4 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. # LIBTOOL_DIR should be the path to the base libtool directory; # $LIBTOOL_DIR/bin/libtool should invoke libtool, while # $LIBTOOL_DIR/share/aclocal needs to be included by aclocal. # Be very careful when specifying these tools manually! There are a lot # of versions that can get confused (not even counting the m4 utility)! # HDF4 currently uses the following versions of the autotools: AUTOCONF_VERSION="autoconf (GNU Autoconf) 2.69" AUTOMAKE_VERSION="automake (GNU automake) 1.14.1" AUTOHEADER_VERSION="autoheader (GNU Autoconf) 2.69" ACLOCAL_VERSION="aclocal (GNU automake) 1.14.1" LIBTOOL_VERSION="(GNU libtool) 2.4.2" 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 the user has defined environment variables pointing to the autotools, # use those (but check their versions first!). Otherwise, assume that # we're running on an HDF Group machine with access to the autotools # in mnt/hdf/packages. 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 ${AUTOHEADER}; then AUTOHEADER=/mnt/hdf/packages/autoconf/autoconf-2.69/bin/autoheader fi if test -z ${ACLOCAL}; then ACLOCAL=/mnt/hdf/packages/automake/automake-1.14.1/bin/aclocal-1.14 fi if test -z ${LIBTOOL}; then LIBTOOL=/mnt/hdf/packages/libtool/libtool-2.4.2/bin/libtool 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 AH_VERS=`${AUTOHEADER} --version 2>&1 | grep "^${AUTOHEADER_VERSION}"` if test -z "${AH_VERS}"; then echo "${AUTOHEADER} version is not ${AUTOHEADER_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 LT_VERS=`${LIBTOOL} --version 2>&1 | grep "${LIBTOOL_VERSION}"` if test -z "${LT_VERS}"; then echo "${LIBTOOL} version is not ${LIBTOOL_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}` LIBTOOL_DIR=`dirname ${LIBTOOL}` M4_DIR=`dirname ${M4}` PATH=${AUTOCONF_DIR}:${M4_DIR}:$PATH # Run autoconf/automake commands in order echo ${ACLOCAL} -I ${LIBTOOL_DIR}/../share/aclocal ${ACLOCAL} -I ${LIBTOOL_DIR}/../share/aclocal || exit 1 echo ${AUTOHEADER} ${AUTOHEADER} || exit 1 echo ${AUTOMAKE} --add-missing ${AUTOMAKE} --add-missing || exit 1 echo ${AUTOCONF} ${AUTOCONF} || exit 1 exit 0