mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-12-09 07:32:32 +08:00
b4e029c70b
Add --enable-deprecated-symbols configure option, to allow users to remove deprecated public API symbols at configure time. Add bin/make_vers script to bin/reconfigure actions. Run bin/reconfigure to regenerate autotool components. Tested on: Mac OS X/32 10.4.10 (amazon) FreeBSD/32 6.2 (duty) Linux/32 2.6 (kagiso)
136 lines
4.8 KiB
Bash
Executable File
136 lines
4.8 KiB
Bash
Executable File
#! /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.61"
|
|
AUTOMAKE_VERSION="automake (GNU automake) 1.10"
|
|
AUTOHEADER_VERSION="autoheader (GNU Autoconf) 2.61"
|
|
ACLOCAL_VERSION="aclocal (GNU automake) 1.10"
|
|
LIBTOOL_VERSION="(GNU libtool) 1.5.22"
|
|
#
|
|
# 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 kagiso and set paths accordingly.
|
|
if test -z ${AUTOCONF}; then
|
|
AUTOCONF=/home1/packages/autoconf/autoconf-2.61/bin/autoconf
|
|
fi
|
|
if test -z ${AUTOMAKE}; then
|
|
AUTOMAKE=/home1/packages/automake/automake-1.10.0/bin/automake-1.10
|
|
fi
|
|
if test -z ${AUTOHEADER}; then
|
|
AUTOHEADER=/home1/packages/autoconf/autoconf-2.61/bin/autoheader
|
|
fi
|
|
if test -z ${ACLOCAL}; then
|
|
ACLOCAL=/home1/packages/automake/automake-1.10.0/bin/aclocal-1.10
|
|
fi
|
|
if test -z ${LIBTOOL}; then
|
|
LIBTOOL=/home1/packages/libtool/libtool-1.5.22/bin/libtool
|
|
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
|
|
|
|
# Use the latest version of M4
|
|
PATH=/home1/packages/m4/m4-1.4.7/bin:/home1/packages/m4/m4-1.4.7/share:$PATH
|
|
|
|
# Make sure that the tools are in the path.
|
|
AUTOCONF_DIR=`dirname ${AUTOCONF}`
|
|
LIBTOOL_DIR=`dirname ${LIBTOOL}`
|
|
PATH=${AUTOCONF_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
|