|
Packit Service |
c5cf8c |
#! /bin/sh
|
|
Packit Service |
c5cf8c |
#
|
|
Packit Service |
c5cf8c |
# (C) 2006 by Argonne National Laboratory.
|
|
Packit Service |
c5cf8c |
# See COPYRIGHT in top-level directory.
|
|
Packit Service |
c5cf8c |
#
|
|
Packit Service |
c5cf8c |
# Update all of the derived files
|
|
Packit Service |
c5cf8c |
# For best performance, execute this in the top-level directory.
|
|
Packit Service |
c5cf8c |
# There are some experimental features to allow it to be executed in
|
|
Packit Service |
c5cf8c |
# subdirectories
|
|
Packit Service |
c5cf8c |
#
|
|
Packit Service |
c5cf8c |
# Eventually, we want to allow this script to be executed anywhere in the
|
|
Packit Service |
c5cf8c |
# mpich tree. This is not yet implemented.
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
## Utility functions
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
recreate_tmp() {
|
|
Packit Service |
c5cf8c |
rm -rf .tmp
|
|
Packit Service |
c5cf8c |
mkdir .tmp 2>&1 >/dev/null
|
|
Packit Service |
c5cf8c |
}
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
warn() {
|
|
Packit Service |
c5cf8c |
echo "===> WARNING: $@"
|
|
Packit Service |
c5cf8c |
}
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
error() {
|
|
Packit Service |
c5cf8c |
echo "===> ERROR: $@"
|
|
Packit Service |
c5cf8c |
}
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
echo_n() {
|
|
Packit Service |
c5cf8c |
# "echo -n" isn't portable, must portably implement with printf
|
|
Packit Service |
c5cf8c |
printf "%s" "$*"
|
|
Packit Service |
c5cf8c |
}
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
# Assume Program's install-dir is <install-dir>/bin/<prog>.
|
|
Packit Service |
c5cf8c |
# Given program name as the 1st argument,
|
|
Packit Service |
c5cf8c |
# the install-dir is returned is returned in 2nd argument.
|
|
Packit Service |
c5cf8c |
# e.g., ProgHomeDir libtoolize libtooldir.
|
|
Packit Service |
c5cf8c |
ProgHomeDir() {
|
|
Packit Service |
c5cf8c |
prog=$1
|
|
Packit Service |
c5cf8c |
progpath="`which $prog`"
|
|
Packit Service |
c5cf8c |
progbindir="`dirname $progpath`"
|
|
Packit Service |
c5cf8c |
proghome=`(cd $progbindir/.. && pwd)`
|
|
Packit Service |
c5cf8c |
eval $2=$proghome
|
|
Packit Service |
c5cf8c |
}
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
# checking and patching submodules
|
|
Packit Service |
c5cf8c |
check_submodule_presence() {
|
|
Packit Service |
c5cf8c |
if test ! -f "$SRCROOTDIR/$1/configure.ac"; then
|
|
Packit Service |
c5cf8c |
error "Submodule $1 is not checked out"
|
|
Packit Service |
c5cf8c |
exit 1
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
}
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
sync_external () {
|
|
Packit Service |
c5cf8c |
srcdir=$1
|
|
Packit Service |
c5cf8c |
destdir=$2
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
echo "syncing '$srcdir' --> '$destdir'"
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
# deletion prevents creating 'confdb/confdb' situation, also cleans
|
|
Packit Service |
c5cf8c |
# stray files that may have crept in somehow
|
|
Packit Service |
c5cf8c |
rm -rf "$destdir"
|
|
Packit Service |
c5cf8c |
cp -pPR "$srcdir" "$destdir"
|
|
Packit Service |
c5cf8c |
}
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
echo
|
|
Packit Service |
c5cf8c |
echo "####################################"
|
|
Packit Service |
c5cf8c |
echo "## Checking user environment"
|
|
Packit Service |
c5cf8c |
echo "####################################"
|
|
Packit Service |
c5cf8c |
echo
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
## Checks to make sure we are running from the correct location
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
echo_n "Verifying the location of autogen.sh... "
|
|
Packit Service |
c5cf8c |
if [ ! -d maint -o ! -s maint/version.m4 ] ; then
|
|
Packit Service |
c5cf8c |
echo "must execute at top level directory for now"
|
|
Packit Service |
c5cf8c |
exit 1
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
# Set the SRCROOTDIR to be used later and avoid "cd ../../"-like usage.
|
|
Packit Service |
c5cf8c |
SRCROOTDIR=$PWD
|
|
Packit Service |
c5cf8c |
echo "done"
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
## Initialize variables to default values (possibly from the environment)
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
# Default choices
|
|
Packit Service |
c5cf8c |
do_bindings=yes
|
|
Packit Service |
c5cf8c |
do_geterrmsgs=yes
|
|
Packit Service |
c5cf8c |
do_getcvars=yes
|
|
Packit Service |
c5cf8c |
do_f77=yes
|
|
Packit Service |
c5cf8c |
do_build_configure=yes
|
|
Packit Service |
c5cf8c |
do_genstates=yes
|
|
Packit Service |
c5cf8c |
do_atdir_check=no
|
|
Packit Service |
c5cf8c |
do_atver_check=yes
|
|
Packit Service |
c5cf8c |
do_subcfg_m4=yes
|
|
Packit Service |
c5cf8c |
do_izem=yes
|
|
Packit Service |
c5cf8c |
do_ofi=yes
|
|
Packit Service |
c5cf8c |
do_ucx=yes
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
export do_build_configure
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
# Allow MAKE to be set from the environment
|
|
Packit Service |
c5cf8c |
MAKE=${MAKE-make}
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
# amdirs are the directories that make use of autoreconf
|
|
Packit Service |
c5cf8c |
amdirs=". src/mpl src/util/logging/rlog"
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
autoreconf_args="-if"
|
|
Packit Service |
c5cf8c |
export autoreconf_args
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
## Read the command-line arguments
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
# List of steps that we will consider (We do not include depend
|
|
Packit Service |
c5cf8c |
# because the values for depend are not just yes/no)
|
|
Packit Service |
c5cf8c |
AllSteps="geterrmsgs bindings f77 build_configure genstates getparms"
|
|
Packit Service |
c5cf8c |
stepsCleared=no
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
for arg in "$@" ; do
|
|
Packit Service |
c5cf8c |
case $arg in
|
|
Packit Service |
c5cf8c |
-echo)
|
|
Packit Service |
c5cf8c |
set -x
|
|
Packit Service |
c5cf8c |
;;
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
-atdircheck=*)
|
|
Packit Service |
c5cf8c |
val=`echo X$arg | sed -e 's/^X-atdircheck=//'`
|
|
Packit Service |
c5cf8c |
case $val in
|
|
Packit Service |
c5cf8c |
yes|YES|true|TRUE|1) do_atdir_check=yes ;;
|
|
Packit Service |
c5cf8c |
no|NO|false|FALSE|0) do_atdir_check=no ;;
|
|
Packit Service |
c5cf8c |
*) warn "unknown option: $arg."
|
|
Packit Service |
c5cf8c |
esac
|
|
Packit Service |
c5cf8c |
;;
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
-atvercheck=*)
|
|
Packit Service |
c5cf8c |
val=`echo X$arg | sed -e 's/^X-atvercheck=//'`
|
|
Packit Service |
c5cf8c |
case $val in
|
|
Packit Service |
c5cf8c |
yes|YES|true|TRUE|1) do_atver_check=yes ;;
|
|
Packit Service |
c5cf8c |
no|NO|false|FALSE|0) do_atver_check=no ;;
|
|
Packit Service |
c5cf8c |
*) warn "unknown option: $arg."
|
|
Packit Service |
c5cf8c |
esac
|
|
Packit Service |
c5cf8c |
;;
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
-do=*|--do=*)
|
|
Packit Service |
c5cf8c |
opt=`echo A$arg | sed -e 's/^A--*do=//'`
|
|
Packit Service |
c5cf8c |
case $opt in
|
|
Packit Service |
c5cf8c |
build-configure|configure) opt=build_configure ;;
|
|
Packit Service |
c5cf8c |
esac
|
|
Packit Service |
c5cf8c |
var=do_$opt
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
# Check that this opt is known
|
|
Packit Service |
c5cf8c |
eval oldval=\$"$var"
|
|
Packit Service |
c5cf8c |
if [ -z "$oldval" ] ; then
|
|
Packit Service |
c5cf8c |
echo "-do=$opt is unrecognized"
|
|
Packit Service |
c5cf8c |
exit 1
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
if [ $stepsCleared = no ] ; then
|
|
Packit Service |
c5cf8c |
for step in $AllSteps ; do
|
|
Packit Service |
c5cf8c |
var=do_$step
|
|
Packit Service |
c5cf8c |
eval $var=no
|
|
Packit Service |
c5cf8c |
done
|
|
Packit Service |
c5cf8c |
stepsCleared=yes
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
var=do_$opt
|
|
Packit Service |
c5cf8c |
eval $var=yes
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
;;
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
-verbose-autoreconf|--verbose-autoreconf)
|
|
Packit Service |
c5cf8c |
autoreconf_args="-vif"
|
|
Packit Service |
c5cf8c |
export autoreconf_args
|
|
Packit Service |
c5cf8c |
;;
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
-with-genstates|--with-genstates)
|
|
Packit Service |
c5cf8c |
do_genstates=yes
|
|
Packit Service |
c5cf8c |
;;
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
-without-genstates|--without-genstates)
|
|
Packit Service |
c5cf8c |
do_genstates=no
|
|
Packit Service |
c5cf8c |
;;
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
-with-errmsgs|--with-errmsgs)
|
|
Packit Service |
c5cf8c |
do_geterrmsgs=yes
|
|
Packit Service |
c5cf8c |
;;
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
-without-errmsgs|--without-errmsgs)
|
|
Packit Service |
c5cf8c |
do_geterrmsgs=no
|
|
Packit Service |
c5cf8c |
;;
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
-with-bindings|--with-bindings)
|
|
Packit Service |
c5cf8c |
do_bindings=yes
|
|
Packit Service |
c5cf8c |
;;
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
-without-bindings|--without-bindings)
|
|
Packit Service |
c5cf8c |
do_bindings=no
|
|
Packit Service |
c5cf8c |
;;
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
-with-f77|--with-f77)
|
|
Packit Service |
c5cf8c |
do_f77=yes
|
|
Packit Service |
c5cf8c |
;;
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
-without-f77|--without-f77)
|
|
Packit Service |
c5cf8c |
do_f77=no
|
|
Packit Service |
c5cf8c |
;;
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
-with-autotools=*|--with-autotools=*)
|
|
Packit Service |
c5cf8c |
autotoolsdir=`echo "A$arg" | sed -e 's/.*=//'`
|
|
Packit Service |
c5cf8c |
;;
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
-without-izem|--without-izem)
|
|
Packit Service |
c5cf8c |
do_izem=no
|
|
Packit Service |
c5cf8c |
;;
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
-without-ofi|--without-ofi|-without-libfabric|--without-libfabric)
|
|
Packit Service |
c5cf8c |
do_ofi=no
|
|
Packit Service |
c5cf8c |
;;
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
-without-ucx|--without-ucx)
|
|
Packit Service |
c5cf8c |
do_ucx=no
|
|
Packit Service |
c5cf8c |
;;
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
-help|--help|-usage|--usage)
|
|
Packit Service |
c5cf8c |
cat <
|
|
Packit Service |
c5cf8c |
./autogen.sh [ --with-autotools=dir ] \\
|
|
Packit Service |
c5cf8c |
[ -atdircheck=[yes|no] ] \\
|
|
Packit Service |
c5cf8c |
[ -atvercheck=[yes|no] ] \\
|
|
Packit Service |
c5cf8c |
[ --verbose-autoreconf ] \\
|
|
Packit Service |
c5cf8c |
[ --do=stepname ] [ -distrib ]
|
|
Packit Service |
c5cf8c |
Update the files in the MPICH build tree. This file builds the
|
|
Packit Service |
c5cf8c |
configure files, creates the Makefile.in files, extracts the error
|
|
Packit Service |
c5cf8c |
messages.
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
You can use --with-autotools=dir to specify a directory that
|
|
Packit Service |
c5cf8c |
contains alternate autotools.
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
-atdircheck=[yes|no] specifies the enforcement of all autotools
|
|
Packit Service |
c5cf8c |
should be installed in the same directory.
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
-atvercheck=[yes|no] specifies if the check for the version of
|
|
Packit Service |
c5cf8c |
autotools should be carried out.
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
-distrib creates a distribution version of the Makefile.in files (no
|
|
Packit Service |
c5cf8c |
targets for updating the Makefile.in from Makefile.sm or rebuilding the
|
|
Packit Service |
c5cf8c |
autotools targets). This does not create the configure files because
|
|
Packit Service |
c5cf8c |
some of those depend on rules in the Makefile.in in that directory.
|
|
Packit Service |
c5cf8c |
Thus, to build all of the files for a distribution, run autogen.sh
|
|
Packit Service |
c5cf8c |
twice, as in
|
|
Packit Service |
c5cf8c |
autogen.sh && autogen.sh -distrib
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
Use --do=stepname to update only a single step. For example,
|
|
Packit Service |
c5cf8c |
--do=build_configure only updates the configure scripts. The available
|
|
Packit Service |
c5cf8c |
steps are:
|
|
Packit Service |
c5cf8c |
EOF
|
|
Packit Service |
c5cf8c |
for step in $AllSteps ; do
|
|
Packit Service |
c5cf8c |
echo " $step"
|
|
Packit Service |
c5cf8c |
done
|
|
Packit Service |
c5cf8c |
exit 1
|
|
Packit Service |
c5cf8c |
;;
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
*)
|
|
Packit Service |
c5cf8c |
echo "unknown argument $arg"
|
|
Packit Service |
c5cf8c |
exit 1
|
|
Packit Service |
c5cf8c |
;;
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
esac
|
|
Packit Service |
c5cf8c |
done
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
## Check for the location of autotools
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
if [ -n "$autotoolsdir" ] ; then
|
|
Packit Service |
c5cf8c |
if [ -x $autotoolsdir/autoconf -a -x $autotoolsdir/autoheader ] ; then
|
|
Packit Service |
c5cf8c |
autoconf=$autotoolsdir/autoconf
|
|
Packit Service |
c5cf8c |
autoheader=$autotoolsdir/autoheader
|
|
Packit Service |
c5cf8c |
autoreconf=$autotoolsdir/autoreconf
|
|
Packit Service |
c5cf8c |
automake=$autotoolsdir/automake
|
|
Packit Service |
c5cf8c |
autom4te=$autotoolsdir/autom4te
|
|
Packit Service |
c5cf8c |
aclocal=$autotoolsdir/aclocal
|
|
Packit Service |
c5cf8c |
if [ -x "$autotoolsdir/glibtoolize" ] ; then
|
|
Packit Service |
c5cf8c |
libtoolize=$autotoolsdir/glibtoolize
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
libtoolize=$autotoolsdir/libtoolize
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
AUTOCONF=$autoconf
|
|
Packit Service |
c5cf8c |
AUTOHEADER=$autoheader
|
|
Packit Service |
c5cf8c |
AUTORECONF=$autoreconf
|
|
Packit Service |
c5cf8c |
AUTOMAKE=$automake
|
|
Packit Service |
c5cf8c |
AUTOM4TE=$autom4te
|
|
Packit Service |
c5cf8c |
ACLOCAL=$aclocal
|
|
Packit Service |
c5cf8c |
LIBTOOLIZE=$libtoolize
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
export AUTOCONF
|
|
Packit Service |
c5cf8c |
export AUTOHEADER
|
|
Packit Service |
c5cf8c |
export AUTORECONF
|
|
Packit Service |
c5cf8c |
export AUTOM4TE
|
|
Packit Service |
c5cf8c |
export AUTOMAKE
|
|
Packit Service |
c5cf8c |
export ACLOCAL
|
|
Packit Service |
c5cf8c |
export LIBTOOLIZE
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
echo "could not find executable autoconf and autoheader in $autotoolsdir"
|
|
Packit Service |
c5cf8c |
exit 1
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
autoconf=${AUTOCONF:-autoconf}
|
|
Packit Service |
c5cf8c |
autoheader=${AUTOHEADER:-autoheader}
|
|
Packit Service |
c5cf8c |
autoreconf=${AUTORECONF:-autoreconf}
|
|
Packit Service |
c5cf8c |
autom4te=${AUTOM4TE:-autom4te}
|
|
Packit Service |
c5cf8c |
automake=${AUTOMAKE:-automake}
|
|
Packit Service |
c5cf8c |
aclocal=${ACLOCAL:-aclocal}
|
|
Packit Service |
c5cf8c |
if test -z "${LIBTOOLIZE+set}" && ( glibtoolize --version ) >/dev/null 2>&1 ; then
|
|
Packit Service |
c5cf8c |
libtoolize=glibtoolize
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
libtoolize=${LIBTOOLIZE:-libtoolize}
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
ProgHomeDir $autoconf autoconfdir
|
|
Packit Service |
c5cf8c |
ProgHomeDir $automake automakedir
|
|
Packit Service |
c5cf8c |
ProgHomeDir $libtoolize libtooldir
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
echo_n "Checking if autotools are in the same location... "
|
|
Packit Service |
c5cf8c |
if [ "$autoconfdir" = "$automakedir" -a "$autoconfdir" = "$libtooldir" ] ; then
|
|
Packit Service |
c5cf8c |
same_atdir=yes
|
|
Packit Service |
c5cf8c |
echo "yes, all in $autoconfdir"
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
same_atdir=no
|
|
Packit Service |
c5cf8c |
echo "no"
|
|
Packit Service |
c5cf8c |
echo " autoconf is in $autoconfdir"
|
|
Packit Service |
c5cf8c |
echo " automake is in $automakedir"
|
|
Packit Service |
c5cf8c |
echo " libtool is in $libtooldir"
|
|
Packit Service |
c5cf8c |
# Emit a big warning message if $same_atdir = no.
|
|
Packit Service |
c5cf8c |
warn "Autotools are in different locations. In rare occasion,"
|
|
Packit Service |
c5cf8c |
warn "resulting configure or makefile may fail in some unexpected ways."
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
## Check if autoreconf can be patched to work
|
|
Packit Service |
c5cf8c |
## when autotools are not in the same location.
|
|
Packit Service |
c5cf8c |
## This test needs to be done before individual tests of autotools
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
# If autotools are not in the same location, override autoreconf appropriately.
|
|
Packit Service |
c5cf8c |
if [ "$same_atdir" != "yes" ] ; then
|
|
Packit Service |
c5cf8c |
if [ -z "$libtooldir" ] ; then
|
|
Packit Service |
c5cf8c |
ProgHomeDir $libtoolize libtooldir
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
libtoolm4dir="$libtooldir/share/aclocal"
|
|
Packit Service |
c5cf8c |
echo_n "Checking if $autoreconf accepts -I $libtoolm4dir... "
|
|
Packit Service |
c5cf8c |
new_autoreconf_works=no
|
|
Packit Service |
c5cf8c |
if [ -d "$libtoolm4dir" -a -f "$libtoolm4dir/libtool.m4" ] ; then
|
|
Packit Service |
c5cf8c |
recreate_tmp
|
|
Packit Service |
c5cf8c |
cat >.tmp/configure.ac <<_EOF
|
|
Packit Service |
c5cf8c |
AC_INIT(foo,1.0)
|
|
Packit Service |
c5cf8c |
AC_PROG_LIBTOOL
|
|
Packit Service |
c5cf8c |
AC_OUTPUT
|
|
Packit Service |
c5cf8c |
_EOF
|
|
Packit Service |
c5cf8c |
AUTORECONF="$autoreconf -I $libtoolm4dir"
|
|
Packit Service |
c5cf8c |
if (cd .tmp && $AUTORECONF -ivf >/dev/null 2>&1) ; then
|
|
Packit Service |
c5cf8c |
new_autoreconf_works=yes
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
rm -rf .tmp
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
echo "$new_autoreconf_works"
|
|
Packit Service |
c5cf8c |
# If autoreconf accepts -I <libtool's m4 dir> correctly, use -I.
|
|
Packit Service |
c5cf8c |
# If not, run libtoolize before autoreconf (i.e. for autoconf <= 2.63)
|
|
Packit Service |
c5cf8c |
# This test is more general than checking the autoconf version.
|
|
Packit Service |
c5cf8c |
if [ "$new_autoreconf_works" != "yes" ] ; then
|
|
Packit Service |
c5cf8c |
echo_n "Checking if $autoreconf works after an additional $libtoolize step... "
|
|
Packit Service |
c5cf8c |
new_autoreconf_works=no
|
|
Packit Service |
c5cf8c |
recreate_tmp
|
|
Packit Service |
c5cf8c |
# Need AC_CONFIG_
|
|
Packit Service |
c5cf8c |
cat >.tmp/configure.ac <<_EOF
|
|
Packit Service |
c5cf8c |
AC_INIT(foo,1.0)
|
|
Packit Service |
c5cf8c |
AC_CONFIG_AUX_DIR([m4])
|
|
Packit Service |
c5cf8c |
AC_CONFIG_MACRO_DIR([m4])
|
|
Packit Service |
c5cf8c |
AC_PROG_LIBTOOL
|
|
Packit Service |
c5cf8c |
AC_OUTPUT
|
|
Packit Service |
c5cf8c |
_EOF
|
|
Packit Service |
c5cf8c |
cat >.tmp/Makefile.am <<_EOF
|
|
Packit Service |
c5cf8c |
ACLOCAL_AMFLAGS = -I m4
|
|
Packit Service |
c5cf8c |
_EOF
|
|
Packit Service |
c5cf8c |
AUTORECONF="eval $libtoolize && $autoreconf"
|
|
Packit Service |
c5cf8c |
if (cd .tmp && $AUTORECONF -ivf >u.txt 2>&1) ; then
|
|
Packit Service |
c5cf8c |
new_autoreconf_works=yes
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
rm -rf .tmp
|
|
Packit Service |
c5cf8c |
echo "$new_autoreconf_works"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
if [ "$new_autoreconf_works" = "yes" ] ; then
|
|
Packit Service |
c5cf8c |
export AUTORECONF
|
|
Packit Service |
c5cf8c |
autoreconf="$AUTORECONF"
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
# Since all autoreconf workarounds do not work, we need
|
|
Packit Service |
c5cf8c |
# to require all autotools to be in the same directory.
|
|
Packit Service |
c5cf8c |
do_atdir_check=yes
|
|
Packit Service |
c5cf8c |
error "Since none of the autoreconf workaround works"
|
|
Packit Service |
c5cf8c |
error "and autotools are not in the same directory, aborting..."
|
|
Packit Service |
c5cf8c |
error "Updating autotools or putting all autotools in the same location"
|
|
Packit Service |
c5cf8c |
error "may resolve the issue."
|
|
Packit Service |
c5cf8c |
exit 1
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
## Verify autoconf version
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
echo_n "Checking for autoconf version... "
|
|
Packit Service |
c5cf8c |
recreate_tmp
|
|
Packit Service |
c5cf8c |
ver=2.67
|
|
Packit Service |
c5cf8c |
# petsc.mcs.anl.gov's /usr/bin/autoreconf is version 2.65 which returns OK
|
|
Packit Service |
c5cf8c |
# if configure.ac has AC_PREREQ() withOUT AC_INIT.
|
|
Packit Service |
c5cf8c |
#
|
|
Packit Service |
c5cf8c |
# ~/> hostname
|
|
Packit Service |
c5cf8c |
# petsc
|
|
Packit Service |
c5cf8c |
# ~> /usr/bin/autoconf --version
|
|
Packit Service |
c5cf8c |
# autoconf (GNU Autoconf) 2.65
|
|
Packit Service |
c5cf8c |
# ....
|
|
Packit Service |
c5cf8c |
# ~/> cat configure.ac
|
|
Packit Service |
c5cf8c |
# AC_PREREQ(2.68)
|
|
Packit Service |
c5cf8c |
# ~/> /usr/bin/autoconf ; echo "rc=$?"
|
|
Packit Service |
c5cf8c |
# configure.ac:1: error: Autoconf version 2.68 or higher is required
|
|
Packit Service |
c5cf8c |
# configure.ac:1: the top level
|
|
Packit Service |
c5cf8c |
# autom4te: /usr/bin/m4 failed with exit status: 63
|
|
Packit Service |
c5cf8c |
# rc=63
|
|
Packit Service |
c5cf8c |
# ~/> /usr/bin/autoreconf ; echo "rc=$?"
|
|
Packit Service |
c5cf8c |
# rc=0
|
|
Packit Service |
c5cf8c |
cat > .tmp/configure.ac<
|
|
Packit Service |
c5cf8c |
AC_INIT
|
|
Packit Service |
c5cf8c |
AC_PREREQ($ver)
|
|
Packit Service |
c5cf8c |
AC_OUTPUT
|
|
Packit Service |
c5cf8c |
EOF
|
|
Packit Service |
c5cf8c |
if (cd .tmp && $autoreconf $autoreconf_args >/dev/null 2>&1 ) ; then
|
|
Packit Service |
c5cf8c |
echo ">= $ver"
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
echo "bad autoconf installation"
|
|
Packit Service |
c5cf8c |
cat <
|
|
Packit Service |
c5cf8c |
You either do not have autoconf in your path or it is too old (version
|
|
Packit Service |
c5cf8c |
$ver or higher required). You may be able to use
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
autoconf --version
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
Unfortunately, there is no standard format for the version output and
|
|
Packit Service |
c5cf8c |
it changes between autotools versions. In addition, some versions of
|
|
Packit Service |
c5cf8c |
autoconf choose among many versions and provide incorrect output).
|
|
Packit Service |
c5cf8c |
EOF
|
|
Packit Service |
c5cf8c |
exit 1
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
## Verify automake version
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
echo_n "Checking for automake version... "
|
|
Packit Service |
c5cf8c |
recreate_tmp
|
|
Packit Service |
c5cf8c |
ver=1.15
|
|
Packit Service |
c5cf8c |
cat > .tmp/configure.ac<
|
|
Packit Service |
c5cf8c |
AC_INIT(testver,1.0)
|
|
Packit Service |
c5cf8c |
AC_CONFIG_AUX_DIR([m4])
|
|
Packit Service |
c5cf8c |
AC_CONFIG_MACRO_DIR([m4])
|
|
Packit Service |
c5cf8c |
m4_ifdef([AM_INIT_AUTOMAKE],,[m4_fatal([AM_INIT_AUTOMAKE not defined])])
|
|
Packit Service |
c5cf8c |
AM_INIT_AUTOMAKE([$ver foreign])
|
|
Packit Service |
c5cf8c |
AC_MSG_RESULT([A message])
|
|
Packit Service |
c5cf8c |
AC_OUTPUT([Makefile])
|
|
Packit Service |
c5cf8c |
EOF
|
|
Packit Service |
c5cf8c |
cat <<EOF >.tmp/Makefile.am
|
|
Packit Service |
c5cf8c |
ACLOCAL_AMFLAGS = -I m4
|
|
Packit Service |
c5cf8c |
EOF
|
|
Packit Service |
c5cf8c |
if [ ! -d .tmp/m4 ] ; then mkdir .tmp/m4 >/dev/null 2>&1 ; fi
|
|
Packit Service |
c5cf8c |
if (cd .tmp && $autoreconf $autoreconf_args >/dev/null 2>&1 ) ; then
|
|
Packit Service |
c5cf8c |
echo ">= $ver"
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
echo "bad automake installation"
|
|
Packit Service |
c5cf8c |
cat <
|
|
Packit Service |
c5cf8c |
You either do not have automake in your path or it is too old (version
|
|
Packit Service |
c5cf8c |
$ver or higher required). You may be able to use
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
automake --version
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
Unfortunately, there is no standard format for the version output and
|
|
Packit Service |
c5cf8c |
it changes between autotools versions. In addition, some versions of
|
|
Packit Service |
c5cf8c |
autoconf choose among many versions and provide incorrect output).
|
|
Packit Service |
c5cf8c |
EOF
|
|
Packit Service |
c5cf8c |
exit 1
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
## Verify libtool version
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
echo_n "Checking for libtool version... "
|
|
Packit Service |
c5cf8c |
recreate_tmp
|
|
Packit Service |
c5cf8c |
ver=2.4.4
|
|
Packit Service |
c5cf8c |
cat <<EOF >.tmp/configure.ac
|
|
Packit Service |
c5cf8c |
AC_INIT(testver,1.0)
|
|
Packit Service |
c5cf8c |
AC_CONFIG_AUX_DIR([m4])
|
|
Packit Service |
c5cf8c |
AC_CONFIG_MACRO_DIR([m4])
|
|
Packit Service |
c5cf8c |
m4_ifdef([LT_PREREQ],,[m4_fatal([LT_PREREQ not defined])])
|
|
Packit Service |
c5cf8c |
LT_PREREQ($ver)
|
|
Packit Service |
c5cf8c |
LT_INIT()
|
|
Packit Service |
c5cf8c |
AC_MSG_RESULT([A message])
|
|
Packit Service |
c5cf8c |
EOF
|
|
Packit Service |
c5cf8c |
cat <<EOF >.tmp/Makefile.am
|
|
Packit Service |
c5cf8c |
ACLOCAL_AMFLAGS = -I m4
|
|
Packit Service |
c5cf8c |
EOF
|
|
Packit Service |
c5cf8c |
if [ ! -d .tmp/m4 ] ; then mkdir .tmp/m4 >/dev/null 2>&1 ; fi
|
|
Packit Service |
c5cf8c |
if (cd .tmp && $autoreconf $autoreconf_args >/dev/null 2>&1 ) ; then
|
|
Packit Service |
c5cf8c |
echo ">= $ver"
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
echo "bad libtool installation"
|
|
Packit Service |
c5cf8c |
cat <
|
|
Packit Service |
c5cf8c |
You either do not have libtool in your path or it is too old
|
|
Packit Service |
c5cf8c |
(version $ver or higher required). You may be able to use
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
libtool --version
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
Unfortunately, there is no standard format for the version output and
|
|
Packit Service |
c5cf8c |
it changes between autotools versions. In addition, some versions of
|
|
Packit Service |
c5cf8c |
autoconf choose among many versions and provide incorrect output).
|
|
Packit Service |
c5cf8c |
EOF
|
|
Packit Service |
c5cf8c |
exit 1
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
## Checking for UNIX find
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
echo_n "Checking for UNIX find... "
|
|
Packit Service |
c5cf8c |
find ./maint -name 'configure.ac' > /dev/null 2>&1
|
|
Packit Service |
c5cf8c |
if [ $? = 0 ] ; then
|
|
Packit Service |
c5cf8c |
echo "done"
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
echo "not found (error)"
|
|
Packit Service |
c5cf8c |
exit 1
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
## Checking if xargs rm -rf works
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
echo_n "Checking if xargs rm -rf works... "
|
|
Packit Service |
c5cf8c |
if [ -d "`find ./maint -name __random_dir__`" ] ; then
|
|
Packit Service |
c5cf8c |
error "found a directory named __random_dir__"
|
|
Packit Service |
c5cf8c |
exit 1
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
mkdir ./maint/__random_dir__
|
|
Packit Service |
c5cf8c |
find ./maint -name __random_dir__ | xargs rm -rf > /dev/null 2>&1
|
|
Packit Service |
c5cf8c |
if [ $? = 0 ] ; then
|
|
Packit Service |
c5cf8c |
echo "yes"
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
echo "no (error)"
|
|
Packit Service |
c5cf8c |
rm -rf ./maint/__random_dir__
|
|
Packit Service |
c5cf8c |
exit 1
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
## Setup external packages
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
echo
|
|
Packit Service |
c5cf8c |
echo "###########################################################"
|
|
Packit Service |
c5cf8c |
echo "## Checking submodules"
|
|
Packit Service |
c5cf8c |
echo "###########################################################"
|
|
Packit Service |
c5cf8c |
echo
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
# hwloc is always required
|
|
Packit Service |
c5cf8c |
check_submodule_presence src/hwloc
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
# external packages that require autogen.sh to be run for each of them
|
|
Packit Service |
c5cf8c |
externals="src/pm/hydra src/pm/hydra2 src/mpi/romio src/openpa src/hwloc test/mpi"
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
if [ "yes" = "$do_izem" ] ; then
|
|
Packit Service |
c5cf8c |
check_submodule_presence src/izem
|
|
Packit Service |
c5cf8c |
externals="${externals} src/izem"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
if [ "yes" = "$do_ucx" ] ; then
|
|
Packit Service |
c5cf8c |
check_submodule_presence src/mpid/ch4/netmod/ucx/ucx
|
|
Packit Service |
c5cf8c |
externals="${externals} src/mpid/ch4/netmod/ucx/ucx"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
if [ "yes" = "$do_ofi" ] ; then
|
|
Packit Service |
c5cf8c |
check_submodule_presence src/mpid/ch4/netmod/ofi/libfabric
|
|
Packit Service |
c5cf8c |
externals="${externals} src/mpid/ch4/netmod/ofi/libfabric"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
# This used to be an optionally installed hook to help with git-svn
|
|
Packit Service |
c5cf8c |
# versions of the old SVN repo. Now that we are using git, this is our
|
|
Packit Service |
c5cf8c |
# mechanism that replaces relative svn:externals paths, such as for
|
|
Packit Service |
c5cf8c |
# "confdb" and "mpl". The basic plan is to delete the destdir and then
|
|
Packit Service |
c5cf8c |
# copy all of the files, warts and all, from the source directory to the
|
|
Packit Service |
c5cf8c |
# destination directory.
|
|
Packit Service |
c5cf8c |
echo
|
|
Packit Service |
c5cf8c |
echo "####################################"
|
|
Packit Service |
c5cf8c |
echo "## Replicating confdb (and similar)"
|
|
Packit Service |
c5cf8c |
echo "####################################"
|
|
Packit Service |
c5cf8c |
echo
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
confdb_dirs=
|
|
Packit Service |
c5cf8c |
confdb_dirs="${confdb_dirs} src/mpi/romio/confdb"
|
|
Packit Service |
c5cf8c |
confdb_dirs="${confdb_dirs} src/mpi/romio/mpl/confdb"
|
|
Packit Service |
c5cf8c |
confdb_dirs="${confdb_dirs} src/mpl/confdb"
|
|
Packit Service |
c5cf8c |
confdb_dirs="${confdb_dirs} src/openpa/confdb"
|
|
Packit Service |
c5cf8c |
confdb_dirs="${confdb_dirs} src/pm/hydra/confdb"
|
|
Packit Service |
c5cf8c |
confdb_dirs="${confdb_dirs} src/pm/hydra2/confdb"
|
|
Packit Service |
c5cf8c |
confdb_dirs="${confdb_dirs} src/pm/hydra/mpl/confdb"
|
|
Packit Service |
c5cf8c |
confdb_dirs="${confdb_dirs} src/pm/hydra2/mpl/confdb"
|
|
Packit Service |
c5cf8c |
confdb_dirs="${confdb_dirs} test/mpi/confdb"
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
# hydra's copies of mpl and hwloc
|
|
Packit Service |
c5cf8c |
sync_external src/mpl src/pm/hydra/mpl
|
|
Packit Service |
c5cf8c |
sync_external src/mpl src/pm/hydra2/mpl
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
# ROMIO's copy of mpl
|
|
Packit Service |
c5cf8c |
sync_external src/mpl src/mpi/romio/mpl
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
# all the confdb directories, by various names
|
|
Packit Service |
c5cf8c |
for destdir in $confdb_dirs ; do
|
|
Packit Service |
c5cf8c |
sync_external confdb "$destdir"
|
|
Packit Service |
c5cf8c |
done
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
# Copying hwloc to hydra
|
|
Packit Service |
c5cf8c |
sync_external src/hwloc src/pm/hydra/tools/topo/hwloc/hwloc
|
|
Packit Service |
c5cf8c |
sync_external src/hwloc src/pm/hydra2/libhydra/topo/hwloc/hwloc
|
|
Packit Service |
c5cf8c |
# remove .git directories to avoid confusing git clean
|
|
Packit Service |
c5cf8c |
rm -rf src/pm/hydra/tools/topo/hwloc/hwloc/.git
|
|
Packit Service |
c5cf8c |
rm -rf src/pm/hydra2/libhydra/topo/hwloc/hwloc/.git
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
# a couple of other random files
|
|
Packit Service |
c5cf8c |
if [ -f maint/version.m4 ] ; then
|
|
Packit Service |
c5cf8c |
cp -pPR maint/version.m4 src/pm/hydra/version.m4
|
|
Packit Service |
c5cf8c |
cp -pPR maint/version.m4 src/pm/hydra2/version.m4
|
|
Packit Service |
c5cf8c |
cp -pPR maint/version.m4 src/mpi/romio/version.m4
|
|
Packit Service |
c5cf8c |
cp -pPR maint/version.m4 test/mpi/version.m4
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
# Now sanity check that some of the above sync was successful
|
|
Packit Service |
c5cf8c |
f="aclocal_cc.m4"
|
|
Packit Service |
c5cf8c |
for d in $confdb_dirs ; do
|
|
Packit Service |
c5cf8c |
if [ -f "$d/$f" ] ; then :
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
error "expected to find '$f' in '$d'"
|
|
Packit Service |
c5cf8c |
exit 1
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
done
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
echo
|
|
Packit Service |
c5cf8c |
echo
|
|
Packit Service |
c5cf8c |
echo "###########################################################"
|
|
Packit Service |
c5cf8c |
echo "## Autogenerating required files"
|
|
Packit Service |
c5cf8c |
echo "###########################################################"
|
|
Packit Service |
c5cf8c |
echo
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
## Building maint/Version
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
# build a substitute maint/Version script now that we store the single copy of
|
|
Packit Service |
c5cf8c |
# this information in an m4 file for autoconf's benefit
|
|
Packit Service |
c5cf8c |
echo_n "Generating a helper maint/Version... "
|
|
Packit Service |
c5cf8c |
if $autom4te -l M4sugar maint/Version.base.m4 > maint/Version ; then
|
|
Packit Service |
c5cf8c |
echo "done"
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
echo "error"
|
|
Packit Service |
c5cf8c |
error "unable to correctly generate maint/Version shell helper"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
## Building the README
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
echo_n "Updating the README... "
|
|
Packit Service |
c5cf8c |
. ./maint/Version
|
|
Packit Service |
c5cf8c |
if [ -f README.vin ] ; then
|
|
Packit Service |
c5cf8c |
sed -e "s/%VERSION%/${MPICH_VERSION}/g" README.vin > README
|
|
Packit Service |
c5cf8c |
echo "done"
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
echo "error"
|
|
Packit Service |
c5cf8c |
error "README.vin file not present, unable to update README version number (perhaps we are running in a release tarball source tree?)"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
## Building subsys_include.m4
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
if [ "X$do_subcfg_m4" = Xyes ] ; then
|
|
Packit Service |
c5cf8c |
echo_n "Creating subsys_include.m4... "
|
|
Packit Service |
c5cf8c |
./maint/gen_subcfg_m4
|
|
Packit Service |
c5cf8c |
echo "done"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
## Building ROMIO glue code
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
echo_n "Building ROMIO glue code... "
|
|
Packit Service |
c5cf8c |
( cd src/glue/romio && chmod a+x ./all_romio_symbols && ./all_romio_symbols ../../mpi/romio/include/mpio.h.in )
|
|
Packit Service |
c5cf8c |
echo "done"
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
## Building non-C interfaces
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
# Create the bindings if necessary
|
|
Packit Service |
c5cf8c |
if [ $do_bindings = "yes" ] ; then
|
|
Packit Service |
c5cf8c |
build_f77=no
|
|
Packit Service |
c5cf8c |
build_f90=no
|
|
Packit Service |
c5cf8c |
build_cxx=no
|
|
Packit Service |
c5cf8c |
if [ $do_f77 = "yes" ] ; then
|
|
Packit Service |
c5cf8c |
if [ ! -s src/binding/fortran/mpif_h/abortf.c ] ; then
|
|
Packit Service |
c5cf8c |
build_f77=yes
|
|
Packit Service |
c5cf8c |
elif find src/binding/fortran/mpif_h -name 'buildiface' -newer 'src/binding/fortran/mpif_h/abortf.c' >/dev/null 2>&1 ; then
|
|
Packit Service |
c5cf8c |
build_f77=yes
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
if [ ! -s src/binding/fortran/use_mpi/mpi_base.f90 ] ; then
|
|
Packit Service |
c5cf8c |
build_f90=yes
|
|
Packit Service |
c5cf8c |
elif find src/binding/fortran/use_mpi -name 'buildiface' -newer 'src/binding/fortran/use_mpi/mpi_base.f90' >/dev/null 2>&1 ; then
|
|
Packit Service |
c5cf8c |
build_f90=yes
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
if [ ! -s src/binding/fortran/use_mpi_f08/wrappers_c/cdesc.c ] ; then
|
|
Packit Service |
c5cf8c |
build_f08=yes
|
|
Packit Service |
c5cf8c |
elif find src/binding/fortran/use_mpi_f08 -name 'buildiface' -newer 'src/binding/fortran/use_mpi_f08/wrappers_c/cdesc.c' >/dev/null 2>&1 ; then
|
|
Packit Service |
c5cf8c |
build_f08=yes
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
if [ $build_f77 = "yes" ] ; then
|
|
Packit Service |
c5cf8c |
echo_n "Building Fortran 77 interface... "
|
|
Packit Service |
c5cf8c |
( cd src/binding/fortran/mpif_h && chmod a+x ./buildiface && ./buildiface )
|
|
Packit Service |
c5cf8c |
echo "done"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
if [ $build_f90 = "yes" ] ; then
|
|
Packit Service |
c5cf8c |
echo_n "Building Fortran 90 interface... "
|
|
Packit Service |
c5cf8c |
# Remove any copy of mpi_base.f90 (this is used to handle the
|
|
Packit Service |
c5cf8c |
# Double precision vs. Real*8 option
|
|
Packit Service |
c5cf8c |
rm -f src/binding/fortran/use_mpi/mpi_base.f90.orig
|
|
Packit Service |
c5cf8c |
( cd src/binding/fortran/use_mpi && chmod a+x ./buildiface && ./buildiface )
|
|
Packit Service |
c5cf8c |
( cd src/binding/fortran/use_mpi && ../mpif_h/buildiface -infile=cf90t.h -deffile=./cf90tdefs)
|
|
Packit Service |
c5cf8c |
echo "done"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
if [ $build_f08 = "yes" ] ; then
|
|
Packit Service |
c5cf8c |
echo_n "Building Fortran 08 interface... "
|
|
Packit Service |
c5cf8c |
# Top-level files
|
|
Packit Service |
c5cf8c |
( cd src/binding/fortran/use_mpi_f08 && chmod a+x ./buildiface && ./buildiface )
|
|
Packit Service |
c5cf8c |
# Delete the old Makefile.mk
|
|
Packit Service |
c5cf8c |
( rm -f src/binding/fortran/use_mpi_f08/wrappers_c/Makefile.mk )
|
|
Packit Service |
c5cf8c |
# Execute once for mpi.h.in ...
|
|
Packit Service |
c5cf8c |
( cd src/binding/fortran/use_mpi_f08/wrappers_c && chmod a+x ./buildiface && ./buildiface ../../../../include/mpi.h.in )
|
|
Packit Service |
c5cf8c |
# ... and once for mpio.h.in
|
|
Packit Service |
c5cf8c |
( cd src/binding/fortran/use_mpi_f08/wrappers_c && chmod a+x ./buildiface && ./buildiface ../../../../mpi/romio/include/mpio.h.in )
|
|
Packit Service |
c5cf8c |
echo "done"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
if [ ! -s src/binding/cxx/mpicxx.h ] ; then
|
|
Packit Service |
c5cf8c |
build_cxx=yes
|
|
Packit Service |
c5cf8c |
elif find src/binding/cxx -name 'buildiface' -newer 'src/binding/cxx/mpicxx.h' >/dev/null 2>&1 ; then
|
|
Packit Service |
c5cf8c |
build_cxx=yes
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
if [ $build_cxx = "yes" ] ; then
|
|
Packit Service |
c5cf8c |
echo_n "Building C++ interface... "
|
|
Packit Service |
c5cf8c |
( cd src/binding/cxx && chmod a+x ./buildiface &&
|
|
Packit Service |
c5cf8c |
./buildiface -nosep -initfile=./cxx.vlist )
|
|
Packit Service |
c5cf8c |
echo "done"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
## Extract error messages
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
# Capture the error messages
|
|
Packit Service |
c5cf8c |
if [ $do_geterrmsgs = "yes" ] ; then
|
|
Packit Service |
c5cf8c |
if [ -x maint/extracterrmsgs ] ; then
|
|
Packit Service |
c5cf8c |
echo_n "Extracting error messages... "
|
|
Packit Service |
c5cf8c |
rm -rf .tmp
|
|
Packit Service |
c5cf8c |
rm -f .err
|
|
Packit Service |
c5cf8c |
rm -f unusederr.txt
|
|
Packit Service |
c5cf8c |
maint/extracterrmsgs -careful=unusederr.txt \
|
|
Packit Service |
c5cf8c |
-skip=src/util/multichannel/mpi.c `cat maint/errmsgdirs` > \
|
|
Packit Service |
c5cf8c |
.tmp 2>.err
|
|
Packit Service |
c5cf8c |
# (error here is ok)
|
|
Packit Service |
c5cf8c |
echo "done"
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
update_errdefs=yes
|
|
Packit Service |
c5cf8c |
if [ -s .err ] ; then
|
|
Packit Service |
c5cf8c |
cat .err
|
|
Packit Service |
c5cf8c |
rm -f .err2
|
|
Packit Service |
c5cf8c |
grep -v "Warning:" .err > .err2
|
|
Packit Service |
c5cf8c |
if [ -s .err2 ] ; then
|
|
Packit Service |
c5cf8c |
warn "Because of errors in extracting error messages, the file"
|
|
Packit Service |
c5cf8c |
warn "src/mpi/errhan/defmsg.h was not updated."
|
|
Packit Service |
c5cf8c |
error "Error message files in src/mpi/errhan were not updated."
|
|
Packit Service |
c5cf8c |
rm -f .tmp .err .err2
|
|
Packit Service |
c5cf8c |
exit 1
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
rm -f .err .err2
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
# Incase it exists but has zero size
|
|
Packit Service |
c5cf8c |
rm -f .err
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
if [ -s unusederr.txt ] ; then
|
|
Packit Service |
c5cf8c |
warn "There are unused error message texts in src/mpi/errhan/errnames.txt"
|
|
Packit Service |
c5cf8c |
warn "See the file unusederr.txt for the complete list"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
if [ -s .tmp -a "$update_errdefs" = "yes" ] ; then
|
|
Packit Service |
c5cf8c |
mv .tmp src/mpi/errhan/defmsg.h
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
if [ ! -s src/mpi/errhan/defmsg.h ] ; then
|
|
Packit Service |
c5cf8c |
echo_n "Creating a dummy defmsg.h file... "
|
|
Packit Service |
c5cf8c |
cat > src/mpi/errhan/defmsg.h <
|
|
Packit Service |
c5cf8c |
typedef struct { const unsigned int sentinal1; const char *short_name, *long_name; const unsigned int sentinal2; } msgpair;
|
|
Packit Service |
c5cf8c |
static const int generic_msgs_len = 0;
|
|
Packit Service |
c5cf8c |
static msgpair generic_err_msgs[] = { {0xacebad03, 0, "no error catalog", 0xcb0bfa11}, };
|
|
Packit Service |
c5cf8c |
static const int specific_msgs_len = 0;
|
|
Packit Service |
c5cf8c |
static msgpair specific_err_msgs[] = { {0xacebad03,0,0,0xcb0bfa11}, };
|
|
Packit Service |
c5cf8c |
#if MPICH_ERROR_MSG_LEVEL > MPICH_ERROR_MSG__NONE
|
|
Packit Service |
c5cf8c |
#define MPIR_MAX_ERROR_CLASS_INDEX 54
|
|
Packit Service |
c5cf8c |
static int class_to_index[] = {
|
|
Packit Service |
c5cf8c |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
c5cf8c |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
c5cf8c |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
c5cf8c |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
c5cf8c |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
Packit Service |
c5cf8c |
0, 0, 0, 0 };
|
|
Packit Service |
c5cf8c |
#endif
|
|
Packit Service |
c5cf8c |
EOF
|
|
Packit Service |
c5cf8c |
echo "done"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
fi # do_geterrmsgs
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
## Build required scripts
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
echo
|
|
Packit Service |
c5cf8c |
echo "------------------------------------"
|
|
Packit Service |
c5cf8c |
echo "Initiating building required scripts"
|
|
Packit Service |
c5cf8c |
# Build scripts such as genstates if necessary
|
|
Packit Service |
c5cf8c |
ran_maint_configure=no
|
|
Packit Service |
c5cf8c |
run_configure=no
|
|
Packit Service |
c5cf8c |
# The information that autoconf uses is saved in the autom4te*.cache
|
|
Packit Service |
c5cf8c |
# file; since this cache is not accurate, we delete it.
|
|
Packit Service |
c5cf8c |
if [ ! -x maint/configure ] ; then
|
|
Packit Service |
c5cf8c |
(cd maint && $autoconf && rm -rf autom4te*.cache )
|
|
Packit Service |
c5cf8c |
elif find maint -name 'configure.ac' -newer 'maint/configure' >/dev/null 2>&1 ; then
|
|
Packit Service |
c5cf8c |
# The above relies on the Unix find command
|
|
Packit Service |
c5cf8c |
(cd maint && $autoconf && rm -rf autom4te*.cache)
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
if [ ! -x maint/genstates ] ; then
|
|
Packit Service |
c5cf8c |
run_configure=yes
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
# The following relies on the Unix find command
|
|
Packit Service |
c5cf8c |
if [ -s maint/genstates ] ; then
|
|
Packit Service |
c5cf8c |
if find maint -name 'genstates.in' -newer 'maint/genstates' >/dev/null 2>&1 ; then
|
|
Packit Service |
c5cf8c |
run_configure=yes
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
run_configure=yes
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
if [ "$run_configure" = "yes" ] ; then
|
|
Packit Service |
c5cf8c |
(cd maint && ./configure)
|
|
Packit Service |
c5cf8c |
ran_maint_configure=yes
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
echo "Done building required scripts"
|
|
Packit Service |
c5cf8c |
echo "------------------------------------"
|
|
Packit Service |
c5cf8c |
echo
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
# Run some of the simple codes
|
|
Packit Service |
c5cf8c |
echo_n "Creating the enumeration of logging states into src/include/mpiallstates.h... "
|
|
Packit Service |
c5cf8c |
if [ -x maint/extractstates -a $do_genstates = "yes" ] ; then
|
|
Packit Service |
c5cf8c |
./maint/extractstates
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
echo "done"
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
# new parameter code
|
|
Packit Service |
c5cf8c |
echo_n "Extracting control variables (cvar) ... "
|
|
Packit Service |
c5cf8c |
if test -x maint/extractcvars -a "$do_getcvars" = "yes" ; then
|
|
Packit Service |
c5cf8c |
if ./maint/extractcvars --dirs="`cat maint/cvardirs`"; then
|
|
Packit Service |
c5cf8c |
echo "done"
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
echo "failed"
|
|
Packit Service |
c5cf8c |
error "unable to extract control variables"
|
|
Packit Service |
c5cf8c |
exit 1
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
echo "skipped"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
echo
|
|
Packit Service |
c5cf8c |
echo
|
|
Packit Service |
c5cf8c |
echo "###########################################################"
|
|
Packit Service |
c5cf8c |
echo "## Generating configure files"
|
|
Packit Service |
c5cf8c |
echo "###########################################################"
|
|
Packit Service |
c5cf8c |
echo
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
## Running autotools on non-simplemake directories
|
|
Packit Service |
c5cf8c |
########################################################################
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
if [ "$do_build_configure" = "yes" ] ; then
|
|
Packit Service |
c5cf8c |
for external in $externals ; do
|
|
Packit Service |
c5cf8c |
if [ -d "$external" -o -L "$external" ] ; then
|
|
Packit Service |
c5cf8c |
echo "------------------------------------------------------------------------"
|
|
Packit Service |
c5cf8c |
echo "running third-party initialization in $external"
|
|
Packit Service |
c5cf8c |
(cd $external && ./autogen.sh) || exit 1
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
done
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
for amdir in $amdirs ; do
|
|
Packit Service |
c5cf8c |
if [ -d "$amdir" -o -L "$amdir" ] ; then
|
|
Packit Service |
c5cf8c |
echo "------------------------------------------------------------------------"
|
|
Packit Service |
c5cf8c |
echo "running $autoreconf in $amdir"
|
|
Packit Service |
c5cf8c |
(cd $amdir && $autoreconf $autoreconf_args) || exit 1
|
|
Packit Service |
c5cf8c |
# Patching ltmain.sh
|
|
Packit Service |
c5cf8c |
if [ -f $amdir/confdb/ltmain.sh ] ; then
|
|
Packit Service |
c5cf8c |
echo_n "Patching ltmain.sh for compatibility with Intel compiler options... "
|
|
Packit Service |
c5cf8c |
patch -N -s -l $amdir/confdb/ltmain.sh maint/patches/optional/confdb/intel-compiler.patch
|
|
Packit Service |
c5cf8c |
if [ $? -eq 0 ] ; then
|
|
Packit Service |
c5cf8c |
# Remove possible leftovers, which don't imply a failure
|
|
Packit Service |
c5cf8c |
rm -f $amdir/confdb/ltmain.sh.orig
|
|
Packit Service |
c5cf8c |
echo "done"
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
echo "failed"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
# Rebuild configure
|
|
Packit Service |
c5cf8c |
(cd $amdir && $autoconf -f) || exit 1
|
|
Packit Service |
c5cf8c |
# Reset ltmain.sh timestamps to avoid confusing make
|
|
Packit Service |
c5cf8c |
touch -r $amdir/confdb/ltversion.m4 $amdir/confdb/ltmain.sh
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
# Patching libtool.m4
|
|
Packit Service |
c5cf8c |
# This works with libtool versions 2.4 - 2.4.2.
|
|
Packit Service |
c5cf8c |
# Older versions are not supported to build mpich.
|
|
Packit Service |
c5cf8c |
# Newer versions should have this patch already included.
|
|
Packit Service |
c5cf8c |
if [ -f $amdir/confdb/libtool.m4 ] ; then
|
|
Packit Service |
c5cf8c |
# There is no need to patch if we're not going to use Fortran.
|
|
Packit Service |
c5cf8c |
ifort_patch_requires_rebuild=no
|
|
Packit Service |
c5cf8c |
oracle_patch_requires_rebuild=no
|
|
Packit Service |
c5cf8c |
flang_patch_requires_rebuild=no
|
|
Packit Service |
c5cf8c |
arm_patch_requires_rebuild=no
|
|
Packit Service |
c5cf8c |
ibm_patch_requires_rebuild=no
|
|
Packit Service |
c5cf8c |
sys_lib_dlsearch_path_patch_requires_rebuild=no
|
|
Packit Service |
c5cf8c |
echo_n "Patching libtool.m4 for system dynamic library search path..."
|
|
Packit Service |
c5cf8c |
patch -N -s -l $amdir/confdb/libtool.m4 maint/patches/optional/confdb/sys_lib_dlsearch_path_spec.patch
|
|
Packit Service |
c5cf8c |
if [ $? -eq 0 ] ; then
|
|
Packit Service |
c5cf8c |
sys_lib_dlsearch_path_patch_requires_rebuild=yes
|
|
Packit Service |
c5cf8c |
# Remove possible leftovers, which don't imply a failure
|
|
Packit Service |
c5cf8c |
rm -f $amdir/confdb/libtool.m4.orig
|
|
Packit Service |
c5cf8c |
echo "done"
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
echo "failed"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
if [ $do_bindings = "yes" ] ; then
|
|
Packit Service |
c5cf8c |
echo_n "Patching libtool.m4 for compatibility with ifort on OSX... "
|
|
Packit Service |
c5cf8c |
patch -N -s -l $amdir/confdb/libtool.m4 maint/patches/optional/confdb/darwin-ifort.patch
|
|
Packit Service |
c5cf8c |
if [ $? -eq 0 ] ; then
|
|
Packit Service |
c5cf8c |
ifort_patch_requires_rebuild=yes
|
|
Packit Service |
c5cf8c |
# Remove possible leftovers, which don't imply a failure
|
|
Packit Service |
c5cf8c |
rm -f $amdir/confdb/libtool.m4.orig
|
|
Packit Service |
c5cf8c |
echo "done"
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
echo "failed"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
echo_n "Patching libtool.m4 for fort compatibility with Oracle Dev Studio 12.6..."
|
|
Packit Service |
c5cf8c |
patch -N -s -l $amdir/confdb/libtool.m4 maint/patches/optional/confdb/oracle-fort.patch
|
|
Packit Service |
c5cf8c |
if [ $? -eq 0 ] ; then
|
|
Packit Service |
c5cf8c |
oracle_patch_requires_rebuild=yes
|
|
Packit Service |
c5cf8c |
# Remove possible leftovers, which don't imply a failure
|
|
Packit Service |
c5cf8c |
rm -f $amdir/confdb/libtool.m4.orig
|
|
Packit Service |
c5cf8c |
echo "done"
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
echo "failed"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
echo_n "Patching libtool.m4 for compatibility with Flang..."
|
|
Packit Service |
c5cf8c |
patch -N -s -l $amdir/confdb/libtool.m4 maint/patches/optional/confdb/flang.patch
|
|
Packit Service |
c5cf8c |
if [ $? -eq 0 ] ; then
|
|
Packit Service |
c5cf8c |
flang_patch_requires_rebuild=yes
|
|
Packit Service |
c5cf8c |
# Remove possible leftovers, which don't imply a failure
|
|
Packit Service |
c5cf8c |
rm -f $amdir/confdb/libtool.m4.orig
|
|
Packit Service |
c5cf8c |
echo "done"
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
echo "failed"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
echo_n "Patching libtool.m4 for compatibility with Arm LLVM compilers..."
|
|
Packit Service |
c5cf8c |
patch -N -s -l $amdir/confdb/libtool.m4 maint/patches/optional/confdb/arm-compiler.patch
|
|
Packit Service |
c5cf8c |
if [ $? -eq 0 ] ; then
|
|
Packit Service |
c5cf8c |
arm_patch_requires_rebuild=yes
|
|
Packit Service |
c5cf8c |
# Remove possible leftovers, which don't imply a failure
|
|
Packit Service |
c5cf8c |
rm -f $amdir/confdb/libtool.m4.orig
|
|
Packit Service |
c5cf8c |
echo "done"
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
echo "failed"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
echo_n "Patching libtool.m4 for compatibility with IBM XL Fortran compilers..."
|
|
Packit Service |
c5cf8c |
patch -N -s -l $amdir/confdb/libtool.m4 maint/patches/optional/confdb/ibm-xlf.patch
|
|
Packit Service |
c5cf8c |
if [ $? -eq 0 ] ; then
|
|
Packit Service |
c5cf8c |
ibm_patch_requires_rebuild=yes
|
|
Packit Service |
c5cf8c |
# Remove possible leftovers, which don't imply a failure
|
|
Packit Service |
c5cf8c |
rm -f $amdir/confdb/libtool.m4.orig
|
|
Packit Service |
c5cf8c |
echo "done"
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
echo "failed"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
if [ $ifort_patch_requires_rebuild = "yes" ] || [ $oracle_patch_requires_rebuild = "yes" ] \
|
|
Packit Service |
c5cf8c |
|| [ $arm_patch_requires_rebuild = "yes" ] || [ $ibm_patch_requires_rebuild = "yes" ] \
|
|
Packit Service |
c5cf8c |
|| [ $sys_lib_dlsearch_path_patch_requires_rebuild = "yes" ] || [ $flang_patch_requires_rebuild = "yes" ]; then
|
|
Packit Service |
c5cf8c |
# Rebuild configure
|
|
Packit Service |
c5cf8c |
(cd $amdir && $autoconf -f) || exit 1
|
|
Packit Service |
c5cf8c |
# Reset libtool.m4 timestamps to avoid confusing make
|
|
Packit Service |
c5cf8c |
touch -r $amdir/confdb/ltversion.m4 $amdir/confdb/libtool.m4
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
done
|
|
Packit Service |
c5cf8c |
fi
|