2005-02-05 05:11:33 +08:00
|
|
|
#! /bin/sh
|
2005-10-22 23:35:28 +08:00
|
|
|
#
|
|
|
|
# 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://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have
|
|
|
|
# access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu.
|
|
|
|
#
|
|
|
|
|
2005-12-03 02:46:20 +08:00
|
|
|
# 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 in AFS 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:
|
|
|
|
# Uses automake (and aclocal) version 1.9.5
|
|
|
|
# Uses autoconf (and autoheader) version 2.59
|
|
|
|
# Includes macros from libtool version 1.5.14
|
2005-04-05 06:44:50 +08:00
|
|
|
#
|
|
|
|
# When upgrading automake's version, don't forget to also update its
|
|
|
|
# helper utilities, especially depcomp.
|
2005-12-03 02:46:20 +08:00
|
|
|
AUTOCONF_VERSION="autoconf (GNU Autoconf) 2.59"
|
|
|
|
AUTOMAKE_VERSION="automake (GNU automake) 1.9.5"
|
|
|
|
AUTOHEADER_VERSION="autoheader (GNU Autoconf) 2.59"
|
|
|
|
ACLOCAL_VERSION="aclocal (GNU automake) 1.9.5"
|
|
|
|
LIBTOOL_VERSION="(GNU libtool) 1.5.14"
|
|
|
|
|
|
|
|
# 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 a Linux box with access to the autotools in AFS.
|
|
|
|
if test "X$AUTOCONF" = "X"; then
|
|
|
|
AUTOCONF=/afs/ncsa/projects/hdf/packages/autoconf_2.59/Linux_2.4/bin/autoconf
|
|
|
|
fi
|
|
|
|
if test "X$AUTOMAKE" = "X"; then
|
|
|
|
AUTOMAKE=/afs/ncsa/projects/hdf/packages/automake_1.9.5/Linux_2.4/bin/automake-1.9
|
|
|
|
fi
|
|
|
|
if test "X$AUTOHEADER" = "X"; then
|
|
|
|
AUTOHEADER=/afs/ncsa/projects/hdf/packages/autoconf_2.59/Linux_2.4/bin/autoheader
|
|
|
|
fi
|
|
|
|
# When using the default settings, add the correct version of autoconf
|
|
|
|
# binaries to path (otherwise aclocal may find an outdated version of
|
|
|
|
# autom4ate and complain about an
|
|
|
|
# "unknown language": Autoconf-without-aclocal-m4.
|
|
|
|
if test "X$ACLOCAL" = "X"; then
|
|
|
|
ACLOCAL=/afs/ncsa/projects/hdf/packages/automake_1.9.5/Linux_2.4/bin/aclocal-1.9
|
|
|
|
PATH=/afs/ncsa/projects/hdf/packages/autoconf_2.59/Linux_2.4/bin:$PATH
|
|
|
|
fi
|
|
|
|
# Libtool is used to supply macros that aclocal uses
|
|
|
|
if test "X$LIBTOOL_DIR" = "X"; then
|
|
|
|
LIBTOOL_DIR=/afs/ncsa/projects/hdf/packages/libtool_1.5.14/Linux_2.4
|
|
|
|
fi
|
2005-02-01 11:17:02 +08:00
|
|
|
|
|
|
|
|
2005-12-03 02:46:20 +08:00
|
|
|
# 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 2.59"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
AM_VERS=`${AUTOMAKE} --version 2>&1 | grep "^${AUTOMAKE_VERSION}"`
|
|
|
|
if test -z "${AM_VERS}"; then
|
|
|
|
echo "${AUTOMAKE} version is not 1.9.5"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
AH_VERS=`${AUTOHEADER} --version 2>&1 | grep "^${AUTOHEADER_VERSION}"`
|
|
|
|
if test -z "${AH_VERS}"; then
|
|
|
|
echo "${AUTOHEADER} version is not 2.59"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
AL_VERS=`${ACLOCAL} --version 2>&1 | grep "^${ACLOCAL_VERSION}"`
|
|
|
|
if test -z "${AL_VERS}"; then
|
|
|
|
echo "${ACLOCAL} version is not 1.9.5"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
LT_VERS=`${LIBTOOL_DIR}/bin/libtool --version 2>&1 | grep "${LIBTOOL_VERSION}"`
|
|
|
|
if test -z "${LT_VERS}"; then
|
|
|
|
echo "${LIBTOOL_DIR}/bin/libtool version is not 1.5.14"
|
|
|
|
exit 1
|
|
|
|
fi
|
2005-02-01 11:17:02 +08:00
|
|
|
|
2005-12-03 02:46:20 +08:00
|
|
|
# Run autoconf/automake commands in order
|
|
|
|
echo ${ACLOCAL} -I ${LIBTOOL_DIR}/share/aclocal
|
|
|
|
${ACLOCAL} -I ${LIBTOOL_DIR}/share/aclocal || exit 1
|
2005-02-01 11:17:02 +08:00
|
|
|
|
2005-12-03 02:46:20 +08:00
|
|
|
echo ${AUTOHEADER}
|
|
|
|
${AUTOHEADER} || exit 1
|
2005-02-15 05:13:12 +08:00
|
|
|
|
2005-12-03 02:46:20 +08:00
|
|
|
echo ${AUTOMAKE} --add-missing
|
|
|
|
${AUTOMAKE} --add-missing || exit 1
|
2005-02-15 05:13:12 +08:00
|
|
|
|
2005-12-03 02:46:20 +08:00
|
|
|
echo ${AUTOCONF}
|
|
|
|
${AUTOCONF} || exit 1
|
2005-02-01 11:17:02 +08:00
|
|
|
|
2005-12-03 02:46:20 +08:00
|
|
|
# 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.
|
[svn-r10158] Purpose:
Automake version upgrade
Description:
Upgraded automake version from 1.6.2 to 1.9.5.
Changed bin/reconfigure script to use automake 1.9.5.
Changed configure.in and Makefiles to use new FCFLAGS and FC variables
instead of FFLAGS and F9X.
Automake and configure should now do the lion's share of the work
supporting Fortran 9X; macros in acsite.m4 are now mostly unused (will
be cleaned later).
Altered how configure handles pmake; now root-level Makefile.in is
processed by bin/reconfigure to have a .MAKEFLAGS target, since
automake no longer allows us to define unused variables.
Configure now always checks for C++ compiler even if it is not
used, since automake thinks this is the Right Thing To Do and
will break otherwise.
Platforms tested:
Sol, copper, heping, mir, sleipnir, eirene, pommier, kelgia, modi4.
2005-03-08 01:57:27 +08:00
|
|
|
sed "s/^#xxx//" Makefile.in > Makefile.in.new
|
|
|
|
mv Makefile.in.new Makefile.in
|
2005-02-01 11:17:02 +08:00
|
|
|
|
2005-12-03 02:46:20 +08:00
|
|
|
# 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.
|
2006-01-06 02:25:01 +08:00
|
|
|
echo
|
|
|
|
echo " Running trace script:"
|
2005-12-03 02:46:20 +08:00
|
|
|
bin/trace src/H5*.c || exit 1
|
|
|
|
|
2005-02-01 11:17:02 +08:00
|
|
|
exit 0
|