diff options
Diffstat (limited to 'bin/reconfigure.local')
-rw-r--r-- | bin/reconfigure.local | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/bin/reconfigure.local b/bin/reconfigure.local new file mode 100644 index 0000000..f9604de --- /dev/null +++ b/bin/reconfigure.local @@ -0,0 +1,143 @@ +#! /bin/sh +# +# Copyright by the Board of Trustees of the University of Illinois. +# All rights reserved. +# +# This file is part of HDF5. The full HDF5 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 HDF5 document set and +# is linked from the top-level documents page. It can also be found at +# http://hdfgroup.org/HDF5/doc/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 HDF5, and to recreate other +# generated files specifc to HDF5. +# If the paths of the autotools are not specified by the user, they +# are hardcoded to point to their locations on HDF5 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)! + +# HDF5 currently uses the following versions of the autotools: +AUTOCONF_VERSION="autoconf (GNU Autoconf) 2.69" +AUTOMAKE_VERSION="automake (GNU automake) 1.12.2" +AUTOHEADER_VERSION="autoheader (GNU Autoconf) 2.69" +ACLOCAL_VERSION="aclocal (GNU automake) 1.12.2" +LIBTOOL_VERSION="(GNU libtool) 2.4.2" +M4_VERSION="m4 (GNU M4) 1.4.16" + +# +# 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 ${AUTOCONF}; then + AUTOCONF=/usr/bin/autoconf +fi +if test -z ${AUTOMAKE}; then + AUTOMAKE=/usr/bin/automake-1.12 +fi +if test -z ${AUTOHEADER}; then + AUTOHEADER=/usr/bin/autoheader +fi +if test -z ${ACLOCAL}; then + ACLOCAL=/usr/bin/aclocal-1.12 +fi +if test -z ${LIBTOOL}; then + LIBTOOL=/usr/bin/libtool +fi +if test -z ${M4}; then + M4=/usr/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 + +# 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 + +# Run trace script +# The trace script adds H5TRACE macros to library source files. It should +# have no effect on files that don't have HDF5 API macros in them. +echo +echo " Running trace script:" +bin/trace src/H5*.c || exit 1 + +# Run make_err +# make_err automatically generates the H5E headers that create error message +# types for HDF5. +echo +echo " Running error generation script:" +bin/make_err src/H5err.txt || exit 1 + +# Run make_vers +# make_vers automatically generates the public headers that define the API version +# macros for HDF5. +echo +echo " Running API version generation script:" +bin/make_vers src/H5vers.txt || exit 1 + +exit 0 |