From 6b8d1e8bc7617966b326104a1116f030780a1431 Mon Sep 17 00:00:00 2001 From: carns Date: Wed, 28 Oct 2009 20:45:02 +0000 Subject: [PATCH] removed old V1R3 compiler scripts, too much trouble to update at this point git-svn-id: https://svn.mcs.anl.gov/repos/darshan/trunk@86 3b7491f3-a168-0410-bf4b-c445ed680a29 --- compilers/mpicc-trace-bgp-V1R3.in | 253 ------------------ compilers/mpicxx-trace-bgp-V1R3.in | 249 ------------------ compilers/mpif77-trace-bgp-V1R3.in | 315 ----------------------- compilers/mpif90-trace-bgp-V1R3.in | 314 ---------------------- compilers/mpixlc-trace-bgp-V1R3.in | 251 ------------------ compilers/mpixlc_r-trace-bgp-V1R3.in | 248 ------------------ compilers/mpixlcxx-trace-bgp-V1R3.in | 251 ------------------ compilers/mpixlcxx_r-trace-bgp-V1R3.in | 248 ------------------ compilers/mpixlf2003-trace-bgp-V1R3.in | 314 ---------------------- compilers/mpixlf2003_r-trace-bgp-V1R3.in | 311 ---------------------- compilers/mpixlf77-trace-bgp-V1R3.in | 314 ---------------------- compilers/mpixlf77_r-trace-bgp-V1R3.in | 313 ---------------------- compilers/mpixlf90-trace-bgp-V1R3.in | 314 ---------------------- compilers/mpixlf90_r-trace-bgp-V1R3.in | 313 ---------------------- compilers/mpixlf95-trace-bgp-V1R3.in | 314 ---------------------- compilers/mpixlf95_r-trace-bgp-V1R3.in | 313 ---------------------- 16 files changed, 4635 deletions(-) delete mode 100755 compilers/mpicc-trace-bgp-V1R3.in delete mode 100755 compilers/mpicxx-trace-bgp-V1R3.in delete mode 100755 compilers/mpif77-trace-bgp-V1R3.in delete mode 100755 compilers/mpif90-trace-bgp-V1R3.in delete mode 100755 compilers/mpixlc-trace-bgp-V1R3.in delete mode 100755 compilers/mpixlc_r-trace-bgp-V1R3.in delete mode 100755 compilers/mpixlcxx-trace-bgp-V1R3.in delete mode 100755 compilers/mpixlcxx_r-trace-bgp-V1R3.in delete mode 100755 compilers/mpixlf2003-trace-bgp-V1R3.in delete mode 100755 compilers/mpixlf2003_r-trace-bgp-V1R3.in delete mode 100755 compilers/mpixlf77-trace-bgp-V1R3.in delete mode 100755 compilers/mpixlf77_r-trace-bgp-V1R3.in delete mode 100755 compilers/mpixlf90-trace-bgp-V1R3.in delete mode 100755 compilers/mpixlf90_r-trace-bgp-V1R3.in delete mode 100755 compilers/mpixlf95-trace-bgp-V1R3.in delete mode 100755 compilers/mpixlf95_r-trace-bgp-V1R3.in diff --git a/compilers/mpicc-trace-bgp-V1R3.in b/compilers/mpicc-trace-bgp-V1R3.in deleted file mode 100755 index 95192c4..0000000 --- a/compilers/mpicc-trace-bgp-V1R3.in +++ /dev/null @@ -1,253 +0,0 @@ -#! /bin/sh -# -# (C) 2006 by Argonne National Laboratory. -# See COPYRIGHT in top-level directory. -# -# NOTE: this script has been modified to automatically link in the darshan -# characterization libraries. See www.mcs.anl.gov/research/projects/darshan -# -# mpicc -# Simple script to compile and/or link MPI programs. -# This script knows the default flags and libraries, and can handle -# alternative C compilers and the associated flags and libraries. -# The important terms are: -# includedir, libdir - Directories containing an *installed* mpich2 -# prefix, execprefix - Often used to define includedir and libdir -# CC - C compiler -# WRAPPER_CFLAGS - Any special flags needed to compile -# WRAPPER_LDFLAGS - Any special flags needed to link -# MPILIBNAME - Name of the MPI library -# MPI_OTHERLIBS - Other libraries needed in order to link -# -# We assume that (a) the C compiler can both compile and link programs -# -# Handling of command-line options: -# This is a little tricky because some options may contain blanks. -# -# Special issues with shared libraries - todo -# -# -------------------------------------------------------------------------- -# Set the default values of all variables. -# -# Directory locations: Fixed for any MPI implementation. -# Set from the directory arguments to configure (e.g., --prefix=/usr/local) -prefix=/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/default -exec_prefix=${prefix} -sysconfdir=${prefix}/etc -includedir=${prefix}/include -libdir=${exec_prefix}/lib - -CP_WRAPPERS=@CP_WRAPPERS@ -DARSHAN_LIB_PATH=@darshan_lib_path@ -DARSHAN_BIN_PATH=@darshan_bin_path@ -CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@ - -# -# Default settings for compiler, flags, and libraries. -# Determined by a combination of environment variables and tests within -# configure (e.g., determining whehter -lsocket is needee) -CC=" /bgsys/drivers/V1R3M0_460_2008-081112P/ppc/gnu-linux/bin/powerpc-bgp-linux-gcc" -C_LINKPATH_SHL="-Wl,-rpath," -WRAPPER_CFLAGS="-I/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/include" -WRAPPER_LDFLAGS="" -MPILIBNAME="mpich.cnk" -PMPILIBNAME="pmpich.cnk" -MPI_OTHERLIBS=" -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -ldcmfcoll.cnk -ldcmf.cnk -lpthread -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -lSPI.cna -lrt " -NEEDSPLIB="no" -# MPIVERSION is the version of the MPICH2 library that mpicc is intended for -MPIVERSION="1.0.7" -# -# Internal variables -# Show is set to echo to cause the compilation command to be echoed instead -# of executed. -Show= -# -# End of initialization of variables -#--------------------------------------------------------------------- -# Environment Variables. -# The environment variables MPICH_CC may be used to override the -# default choices. -# In addition, if there is a file $sysconfdir/mpicc-$CCname.conf, -# where CCname is the name of the compiler with all spaces replaced by hyphens -# (e.g., "cc -64" becomes "cc--64", that file is sources, allowing other -# changes to the compilation environment. See the variables used by the -# script (defined above) -if [ -n "$MPICH_CC" ] ; then - CC="$MPICH_CC" - CCname=`echo $CC | sed 's/ /-/g'` - if [ -s $sysconfdir/mpicc-$CCname.conf ] ; then - . $sysconfdir/mpicc-$CCname.conf - fi -fi -# Allow a profiling option to be selected through an environment variable -if [ -n "$MPICC_PROFILE" ] ; then - profConf=$MPICC_PROFILE -fi -# -# ------------------------------------------------------------------------ -# Argument processing. -# This is somewhat awkward because of the handling of arguments within -# the shell. We want to handle arguments that include spaces without -# loosing the spacing (an alternative would be to use a more powerful -# scripting language that would allow us to retain the array of values, -# which the basic (rather than enhanced) Bourne shell does not. -# -# Look through the arguments for arguments that indicate compile only. -# If these are *not* found, add the library options - -linking=yes -allargs=("$@") -argno=0 -for arg in "$@" ; do - # Set addarg to no if this arg should be ignored by the C compiler - addarg=yes - case "$arg" in - # ---------------------------------------------------------------- - # Compiler options that affect whether we are linking or no - -c|-S|-E|-M|-MM) - # The compiler links by default - linking=no - ;; - # ---------------------------------------------------------------- - # Options that control how we use mpicc (e.g., -show, - # -cc=* -config=* - -echo) - addarg=no - set -x - ;; - -cc=*) - CC=`echo A$arg | sed -e 's/A-cc=//g'` - addarg=no - ;; - -show) - addarg=no - Show=echo - ;; - -config=*) - addarg=no - CCname=`echo A$arg | sed -e 's/A-config=//g'` - if [ -s "$sysconfdir/mpicc-$CCname.conf" ] ; then - . "$sysconfdir/mpicc-$CCname.conf" - else - echo "Configuration file mpicc-$CCname.conf not found" - fi - ;; - -compile-info|-compile_info) - # -compile_info included for backward compatibility - Show=echo - addarg=no - ;; - -link-info|-link_info) - # -link_info included for backward compatibility - Show=echo - addarg=no - ;; - -v) - # Pass this argument to the compiler as well. - echo "mpicc for $MPIVERSION" - linking=no - ;; - -profile=*) - # Pass the name of a profiling configuration. As - # a special case, lib.so or lib.la may be used - # if the library is in $libdir - profConf=`echo A$arg | sed -e 's/A-profile=//g'` - addarg=no - # Loading the profConf file is handled below - ;; - -mpe=*) - # Pass the name of a profiling configuration; this is a special - # case for the MPE libs. See -profile - profConf=`echo A$arg | sed -e 's/A-mpe=//g'` - profConf="mpe_$profConf" - addarg=no - # Loading the profConf file is handled below - ;; - # -help - -help) - ;; - *) - ;; - - esac - if [ $addarg = no ] ; then - unset allargs[$argno] - fi - # Some versions of bash do not accept ((argno++)) - argno=`expr $argno + 1` -done - -# ----------------------------------------------------------------------- -# Derived variables. These are assembled from variables set from the -# default, environment, configuration file (if any) and command-line -# options (if any) -if [ "$NEEDSPLIB" = yes ] ; then - mpilibs="-l$PMPILIBNAME -l$MPILIBNAME" -else - mpilibs="-l$MPILIBNAME" -fi -# -# Init with the ones needed by MPI -CFLAGS="$WRAPPER_CFLAGS" -LDFLAGS="$WRAPPER_LDFLAGS" -# -# Handle the case of a profile switch -if [ -n "$profConf" ] ; then - profConffile= - if [ -s "$libdir/lib$profConf.a" -o -s "$libdir/lib$profConf.so" ] ; then - mpilibs="-l$profConf $mpilibs" - elif [ -s "$sysconfdir/$profConf.conf" ] ; then - profConffile="$sysconfdir/$profConf.conf" - elif [ -s "$profConf.conf" ] ; then - profConffile="$profConf.conf" - else - echo "Profiling configuration file $profConf.conf not found in $sysconfdir" - fi - if [ -n "$profConffile" -a -s "$profConffile" ] ; then - . $profConffile - if [ -n "$PROFILE_INCPATHS" ] ; then - CFLAGS="$PROFILE_INCPATHS $CFLAGS" - fi - if [ -n "$PROFILE_PRELIB" ] ; then - mpilibs="$PROFILE_PRELIB $mpilibs" - fi - if [ -n "$PROFILE_POSTLIB" ] ; then - mpilibs="$mpilibs $PROFILE_POSTLIB" - fi - fi -fi - -# ----------------------------------------------------------------------- -# -# A temporary statement to invoke the compiler -# Place the -L before any args incase there are any mpi libraries in there. -# Eventually, we'll want to move this after any non-MPI implementation -# libraries. -# We use a single invocation of the compiler. This will be adequate until -# we run into a system that uses a separate linking command. With any luck, -# such archaic systems are no longer with us. This also lets us -# accept any argument; we don't need to know if we've seen a source -# file or an object file. Instead, we just check for an option that -# suppressing linking, such as -c or -M. -if [ "$linking" = yes ] ; then - if [ -n "$C_LINKPATH_SHL" ] ; then - # prepend the path for the shared libraries to the library list - mpilibs="$C_LINKPATH_SHL$libdir $mpilibs" - fi - # check to see if the command line refers to any profilers that might - # use PMPI. - profiler_check=`echo "${allargs[@]}" | ${DARSHAN_BIN_PATH}/darshan-pmpi-filter.sh` - if [ "$profiler_check" = "" ] ; then - $Show $CC "${allargs[@]}" -L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} -ldarshan-mpi-io -lz -I$includedir $CFLAGS ${CP_WRAPPERS} $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS -L${DARSHAN_LIB_PATH} -ldarshan-posix - else - # it looks like the user wants to use another tool with PMPI; don't - # link in Darshan PMPI wrappers (disables Darshan) - $Show $CC "${allargs[@]}" -I$includedir $CFLAGS $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS - fi - rc=$? -else - $Show $CC "${allargs[@]}" -I$includedir $CFLAGS - rc=$? -fi - -exit $rc diff --git a/compilers/mpicxx-trace-bgp-V1R3.in b/compilers/mpicxx-trace-bgp-V1R3.in deleted file mode 100755 index 42b3d18..0000000 --- a/compilers/mpicxx-trace-bgp-V1R3.in +++ /dev/null @@ -1,249 +0,0 @@ -#! /bin/sh -# -# (C) 2006 by Argonne National Laboratory. -# See COPYRIGHT in top-level directory. -# -# NOTE: this script has been modified to automatically link in the darshan -# characterization libraries. See www.mcs.anl.gov/research/projects/darshan -# -# mpicxx -# Simple script to compile and/or link MPI programs. -# This script knows the default flags and libraries, and can handle -# alternative C++ compilers and the associated flags and libraries. -# The important terms are: -# includedir, libdir - Directories containing an *installed* mpich2 -# prefix, execprefix - Often used to define includedir and libdir -# CXX - C compiler -# WRAPPER_CXXFLAGS - Any special flags needed to compile -# WRAPPER_LDFLAGS - Any special flags needed to link -# MPILIBNAME - Name of the MPI library -# MPICXXLIBNAME - Name of the C++ binding part of the MPI library -# MPI_OTHERLIBS - Other libraries needed in order to link -# -# We assume that (a) the C++ compiler can both compile and link programs -# -# Handling of command-line options: -# This is a little tricky because some options may contain blanks. -# -# Special issues with shared libraries - todo -# -# -------------------------------------------------------------------------- -# Set the default values of all variables. -# -# Directory locations: Fixed for any MPI implementation -prefix=/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/default -exec_prefix=${prefix} -sysconfdir=${prefix}/etc -includedir=${prefix}/include -libdir=${exec_prefix}/lib - -CP_WRAPPERS=@CP_WRAPPERS@ -DARSHAN_LIB_PATH=@darshan_lib_path@ -DARSHAN_BIN_PATH=@darshan_bin_path@ -CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@ - -# -# Default settings for compiler, flags, and libraries -CXX=" /bgsys/drivers/V1R3M0_460_2008-081112P/ppc/gnu-linux/bin/powerpc-bgp-linux-g++" -CXX_LINKPATH_SHL="-Wl,-rpath -Wl," -WRAPPER_CXXFLAGS="-I/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/include" -WRAPPER_LDFLAGS="" -MPILIBNAME="mpich.cnk" -PMPILIBNAME="pmpich.cnk" -MPICXXLIBNAME="cxxmpich.cnk" -MPI_OTHERLIBS=" -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -ldcmfcoll.cnk -ldcmf.cnk -lpthread -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -lSPI.cna -lrt" -NEEDSPLIB="no" -# MPIVERSION is the version of the MPICH2 library that mpicxx is intended for -MPIVERSION="1.0.7" -# -# Internal variables -# Show is set to echo to cause the compilation command to be echoed instead -# of executed. -Show= -# -# End of initialization of variables -#--------------------------------------------------------------------- -# Environment Variables. -# The environment variables MPICH_CXX may be used to override the -# default choices. -# In addition, if there is a file $sysconfdir/mpicxx-$CXXname.conf, -# where CXXname is the name of the compiler with all spaces replaced by hyphens -# (e.g., "CC -64" becomes "CC--64", that file is sources, allowing other -# changes to the compilation environment. See the variables used by the -# script (defined above) -if [ -n "$MPICH_CXX" ] ; then - CXX="$MPICH_CXX" - CXXname=`echo $CXX | sed 's/ /-/g'` - if [ -s $sysconfdir/mpicxx-$CXXname.conf ] ; then - . $sysconfdir/mpicxx-$CXXname.conf - fi -fi -# Allow a profiling option to be selected through an environment variable -if [ -n "$MPICXX_PROFILE" ] ; then - profConf=$MPICXX_PROFILE -fi -# -# ------------------------------------------------------------------------ -# Argument processing. -# This is somewhat awkward because of the handling of arguments within -# the shell. We want to handle arguments that include spaces without -# loosing the spacing (an alternative would be to use a more powerful -# scripting language that would allow us to retain the array of values, -# which the basic (rather than enhanced) Bourne shell does not. -# -# Look through the arguments for arguments that indicate compile only. -# If these are *not* found, add the library options - -linking=yes -allargs=("$@") -argno=0 -for arg in "$@" ; do - # Set addarg to no if this arg should be ignored by the C compiler - addarg=yes - case "$arg" in - # ---------------------------------------------------------------- - # Compiler options that affect whether we are linking or no - -c|-S|-E|-M|-MM) - # The compiler links by default - linking=no - ;; - # ---------------------------------------------------------------- - # Options that control how we use mpicxx (e.g., -show, - # -cxx=* -config=* - -echo) - addarg=no - set -x - ;; - -cxx=*) - CXX=`echo A$arg | sed -e 's/A-cxx=//g'` - addarg=no - ;; - # Backwards compatibility for MPICH1 - scripts - -CC=*) - CXX=`echo A$arg | sed -e 's/A-CC=//g'` - addarg=no - ;; - -show) - addarg=no - Show=echo - ;; - -config=*) - addarg=no - CXXname=`echo A$arg | sed -e 's/A-config=//g'` - if [ -s "$sysconfdir/mpicxx-$CXXname.conf" ] ; then - . "$sysconfdir/mpicxx-$CXXname.conf" - else - echo "Configuration file mpicxx-$CXXname.conf not found" - fi - ;; - -compile-info|-compile_info) - # -compile_info included for backward compatibility - Show=echo - addarg=no - ;; - -link-info|-link_info) - # -link_info included for backward compatibility - Show=echo - addarg=no - ;; - -v) - # Pass this argument to the compiler as well. - echo "mpicxx for $MPIVERSION" - linking=no - ;; - -profile=*) - # Pass the name of a profiling configuration. As - # a special case, lib.so or lib.la may be used - # if the library is in $libdir - profConf=`echo A$arg | sed -e 's/A-profile=//g'` - addarg=no - # Loading the profConf file is handled below - ;; - -mpe=*) - # Pass the name of a profiling configuration; this is a special - # case for the MPE libs. See -profile - profConf=`echo A$arg | sed -e 's/A-mpe=//g'` - profConf="mpe_$profConf" - addarg=no - # Loading the profConf file is handled below - ;; - # -help - -help) - ;; - *) - ;; - - esac - if [ $addarg = no ] ; then - unset allargs[$argno] - fi - # Some versions of bash do not accept ((argno++)) - argno=`expr $argno + 1` -done - -# ----------------------------------------------------------------------- -# Derived variables. These are assembled from variables set from the -# default, environment, configuration file (if any) and command-line -# options (if any) -if [ "$NEEDSPLIB" = yes ] ; then - mpilibs="-l$PMPILIBNAME -l$MPILIBNAME" -else - mpilibs="-l$MPILIBNAME" -fi -cxxlibs= -if [ "$MPICXXLIBNAME" != "$MPILIBNAME" ] ; then - cxxlibs="-l$MPICXXLIBNAME" -fi -# -# Init with the ones needed by MPI -CXXFLAGS="$WRAPPER_CXXFLAGS" -LDFLAGS="$WRAPPER_LDFLAGS" -# -# -# Handle the case of a profile switch -if [ -n "$profConf" ] ; then - profConffile= - if [ -s "$libdir/lib$profConf.a" -o -s "$libdir/lib$profConf.so" ] ; then - mpilibs="-l$profConf $mpilibs" - elif [ -s "$sysconfdir/$profConf.conf" ] ; then - profConffile="$sysconfdir/$profConf.conf" - elif [ -s "$profConf.conf" ] ; then - profConffile="$profConf.conf" - else - echo "Profiling configuration file $profConf.conf not found in $sysconfdir" - fi - if [ -n "$profConffile" -a -s "$profConffile" ] ; then - . $profConffile - if [ -n "$PROFILE_INCPATHS" ] ; then - CXXFLAGS="$PROFILE_INCPATHS $CXXFLAGS" - fi - if [ -n "$PROFILE_PRELIB" ] ; then - mpilibs="$PROFILE_PRELIB $mpilibs" - fi - if [ -n "$PROFILE_POSTLIB" ] ; then - mpilibs="$mpilibs $PROFILE_POSTLIB" - fi - fi -fi -# A temporary statement to invoke the compiler -# Place the -L before any args incase there are any mpi libraries in there. -# Eventually, we'll want to move this after any non-MPI implementation -# libraries -if [ "$linking" = yes ] ; then - if [ -n "$CXX_LINKPATH_SHL" ] ; then - # Prepend the path for the shared libraries to the library list - shllibpath="$CXX_LINKPATH_SHL$libdir" - fi - profiler_check=`echo "${allargs[@]}" | ${DARSHAN_BIN_PATH}/darshan-pmpi-filter.sh` - if [ "$profiler_check" = "" ] ; then - $Show $CXX "${allargs[@]}" -L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} -lcxxmpich.cnk -ldarshan-mpi-io -lz -I$includedir $CXXFLAGS ${CP_WRAPPERS} $LDFLAGS -L$libdir $shllibpath $cxxlibs $mpilibs $MPI_OTHERLIBS -L${DARSHAN_LIB_PATH} -ldarshan-posix - else - $Show $CXX "${allargs[@]}" -lcxxmpich.cnk -I$includedir $CXXFLAGS $LDFLAGS -L$libdir $shllibpath $cxxlibs $mpilibs $MPI_OTHERLIBS - fi - rc=$? -else - $Show $CXX "${allargs[@]}" -I$includedir $CXXFLAGS - rc=$? -fi - -exit $rc diff --git a/compilers/mpif77-trace-bgp-V1R3.in b/compilers/mpif77-trace-bgp-V1R3.in deleted file mode 100755 index 21cda92..0000000 --- a/compilers/mpif77-trace-bgp-V1R3.in +++ /dev/null @@ -1,315 +0,0 @@ -#! /bin/sh -# -# (C) 2006 by Argonne National Laboratory. -# See COPYRIGHT in top-level directory. -# -# NOTE: this script has been modified to automatically link in the darshan -# characterization libraries. See www.mcs.anl.gov/research/projects/darshan -# -# mpif77 -# Simple script to compile and/or link MPI programs. -# This script knows the default flags and libraries, and can handle -# alternative C compilers and the associated flags and libraries. -# The important terms are: -# includedir, libdir - Directories containing an *installed* mpich2 -# prefix, execprefix - Often used to define includedir and libdir -# FC - Fortran 77 compiler -# WRAPPER_FFLAGS - Any special flags needed to compile -# WRAPPER_LDFLAGS - Any special flags needed to link -# MPILIBNAME - Name of the MPI library -# MPI_OTHERLIBS - Other libraries needed in order to link -# F77_OTHER_LIBS - Yet more libraries, needed just with F77 -# -# -# We assume that (a) the C compiler can both compile and link programs -# -# Handling of command-line options: -# This is a little tricky because some options may contain blanks. -# -# Special issues with shared libraries - todo -# -# -------------------------------------------------------------------------- -# Set the default values of all variables. -# -# Directory locations: Fixed for any MPI implementation. -# Set from the directory arguments to configure (e.g., --prefix=/usr/local) -prefix=/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/default -exec_prefix=${prefix} -sysconfdir=${prefix}/etc -includedir=${prefix}/include -libdir=${exec_prefix}/lib - -CP_WRAPPERS=@CP_WRAPPERS@ -DARSHAN_LIB_PATH=@darshan_lib_path@ -DARSHAN_BIN_PATH=@darshan_bin_path@ -CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@ - -# -# Default settings for compiler, flags, and libraries -# Determined by a combination of environment variables and tests within -# configure (e.g., determining whehter -lsocket is needee) -FC=" -/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/gnu-linux/bin/powerpc-bgp-linux-gfortran -fno-underscoring" -FC_LINKPATH_SHL="-Wl,-rpath -Wl," -F77CPP="" -WRAPPER_FFLAGS="-I/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/include" -WRAPPER_LDFLAGS="" -MPILIBNAME="mpich.cnk" -PMPILIBNAME="pmpich.cnk" -MPI_OTHERLIBS=" -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -ldcmfcoll.cnk -ldcmf.cnk -lpthread -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -lSPI.cna -lrt" -NEEDSPLIB="no" -# -# MPIVERSION is the version of the MPICH2 library for which mpif77 is intended -MPIVERSION="1.0.7" -# -# Internal variables -# Show is set to echo to cause the compilation command to be echoed instead -# of executed. -Show= -# -# End of initialization of variables -#--------------------------------------------------------------------- -# Environment Variables. -# The environment variables MPICH_F77 may be used to override the -# default choices. -# In addition, if there is a file $sysconfdir/mpif77-$F77name.conf, -# where F77name is the name of the compiler with all spaces replaced by hyphens -# (e.g., "f77 -64" becomes "f77--64", that file is sources, allowing other -# changes to the compilation environment. See the variables used by the -# script (defined above) -if [ -n "$MPICH_F77" ] ; then - FC="$MPICH_F77" - F77name=`echo $FC | sed 's/ /-/g'` - if [ -s $sysconfdir/mpif77-$F77name.conf ] ; then - . $sysconfdir/mpif77-$F77name.conf - fi -fi -# Allow a profiling option to be selected through an environment variable -if [ -n "$MPIF77_PROFILE" ] ; then - profConf=$MPIF77_PROFILE -fi -# -# ------------------------------------------------------------------------ -# Argument processing. -# This is somewhat awkward because of the handling of arguments within -# the shell. We want to handle arguments that include spaces without -# loosing the spacing (an alternative would be to use a more powerful -# scripting language that would allow us to retain the array of values, -# which the basic (rather than enhanced) Bourne shell does not. -# -# Look through the arguments for arguments that indicate compile only. -# If these are *not* found, add the library options - -linking=yes -allargs=("$@") -argno=0 -cppflags=() -for arg in "$@" ; do - # Set addarg to no if this arg should be ignored by the C compiler - addarg=yes - case "$arg" in - # ---------------------------------------------------------------- - # Compiler options that affect whether we are linking or no - -c|-S|-E|-M|-MM) - # The compiler links by default - linking=no - ;; - # ---------------------------------------------------------------- - # Options that control how we use mpif77 (e.g., -show, - # -f77=* -config=* - -echo) - addarg=no - set -x - ;; - - -f77=*) - FC=`echo A$arg | sed -e 's/A-f77=//g'` - addarg=no - ;; - -fc=*) - FC=`echo A$arg | sed -e 's/A-fc=//g'` - addarg=no - ;; - - -show) - addarg=no - Show=echo - ;; - -config=*) - addarg=no - F77name=`echo A$arg | sed -e 's/A-config=//g'` - if [ -s "$sysconfdir/mpif77-$F77name.conf" ] ; then - . "$sysconfdir/mpif77-$F77name.conf" - else - echo "Configuration file mpif77-$F77name.conf not found" - fi - ;; - -compile-info|-compile_info) - # -compile_info included for backward compatibility - Show=echo - addarg=no - ;; - -link-info|-link_info) - # -link_info included for backward compatibility - Show=echo - addarg=no - ;; - -v) - # Pass this argument to the compiler as well. - echo "mpif77 for $MPIVERSION" - linking=no - ;; - -profile=*) - # Pass the name of a profiling configuration. As - # a special case, lib.so or lib.la may be used - # if the library is in $libdir - profConf=`echo A$arg | sed -e 's/A-profile=//g'` - addarg=no - # Loading the profConf file is handled below - ;; - -mpe=*) - # Pass the name of a profiling configuration; this is a special - # case for the MPE libs. See -profile - profConf=`echo A$arg | sed -e 's/A-mpe=//g'` - profConf="mpe_$profConf" - addarg=no - # Loading the profConf file is handled below - ;; - # -help - -help) - ;; - # The following are special args used to handle .F files when the - # Fortran compiler itself does not handle these options - -I*) - cppflags[${#cppflags}]="$arg" - ;; - -D*) - cppflags[${#cppflags}]="$arg" - ;; - *.F|*.F90|*.fpp|*.FPP) -# If F77CPP is not empty, then we need to do the following: -# If any input files have the .F or .F90 extension, then -# If F77CPP = false, then -# generate an error message and exit -# Use F77CPP to convert the file from .F to .f, using -# $TMPDIR/f$$-$count.f as the output file name -# Replace the input file with this name in the args -# This is needed only for very broken systems -# - if [ -n "$F77CPP" ] ; then - if [ "$F77CPP" = "false" ] ; then - echo "This Fortran compiler does not accept .F or .F90 files" - exit 1 - fi - addarg=no - # Remove and directory names and extension - $ext=`expr "$arg" : '.*\(\..*\)'` - bfile=`basename $arg $ext` - # - TMPDIR=${TMPDIR:-/tmp} - tmpfile=$TMPDIR/f$$-$bfile.f - if $F77CPP "${cppflags[@]}" $arg > $tmpfile ; then - # Add this file to the commandline list - count=`expr $count + 1` - allargs[${#allargs}]="$tmpfile" - rmfiles="$rmfiles $tmpfile" - else - echo "Aborting compilation because of failure in preprocessing step" - echo "for file $arg ." - exit 1 - fi - fi - # Otherwise, just accept the argument - ;; - # - end of special handling for .F files - - esac - if [ $addarg = no ] ; then - unset allargs[$argno] - fi - # Some versions of bash do not accept ((argno++)) - argno=`expr $argno + 1` -done - -# ----------------------------------------------------------------------- -# Derived variables. These are assembled from variables set from the -# default, environment, configuration file (if any) and command-line -# options (if any) -if [ "$NEEDSPLIB" = yes ] ; then - mpilibs="-l$PMPILIBNAME -l$MPILIBNAME" -else - mpilibs="-l$MPILIBNAME" -fi -# -# Init with the ones needed by MPI -FFLAGS="$WRAPPER_FFLAGS" -LDFLAGS="$WRAPPER_LDFLAGS" -# -# Handle the case of a profile switch -if [ -n "$profConf" ] ; then - profConffile= - if [ -s "$libdir/lib$profConf.a" -o -s "$libdir/lib$profConf.so" ] ; then - mpilibs="-l$profConf $mpilibs" - elif [ -s "$sysconfdir/$profConf.conf" ] ; then - profConffile="$sysconfdir/$profConf.conf" - elif [ -s "$profConf.conf" ] ; then - profConffile="$profConf.conf" - else - echo "Profiling configuration file $profConf.conf not found in $sysconfdir" - fi - if [ -n "$profConffile" -a -s "$profConffile" ] ; then - . $profConffile - if [ -n "$PROFILE_INCPATHS" ] ; then - FFLAGS="$PROFILE_INCPATHS $FFLAGS" - fi - if [ -n "$PROFILE_PRELIB" ] ; then - mpilibs="$PROFILE_PRELIB $mpilibs" - fi - if [ -n "$PROFILE_POSTLIB" ] ; then - mpilibs="$mpilibs $PROFILE_POSTLIB" - fi - fi -fi -# -# A temporary statement to invoke the compiler -# Place the -L before any args incase there are any mpi libraries in there. -# Eventually, we'll want to move this after any non-MPI implementation -# libraries -# -if [ "$linking" = yes ] ; then - if [ -n "$FC_LINKPATH_SHL" ] ; then - # Prepend the path for the shared libraries to the library list - mpilibs="$FC_LINKPATH_SHL$libdir $mpilibs" - fi - # check to see if the command line refers to any profilers that might - # use PMPI. - profiler_check=`echo "${allargs[@]}" | ${DARSHAN_BIN_PATH}/darshan-pmpi-filter.sh` - if [ "$profiler_check" = "" ] ; then - # If we link link darshan-mpi-io before system mpi lib, we don't get a - # trace but if we don't link it early enough, we get undefined MPI symbols. - # Seems like listing the darshan libs twice does the trick - $Show $FC $FFLAGS ${CP_WRAPPERS} $LDFLAGS "${allargs[@]}" -L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} -lfmpich.cnk\ - -ldarshan-posix -ldarshan-mpi-io \ - -I$includedir -L$libdir $mpilibs $MPI_OTHERLIBS \ - -L${DARSHAN_LIB_PATH} -ldarshan-posix -ldarshan-mpi-io -lz - else - $Show $FC $FFLAGS $LDFLAGS "${allargs[@]}" -I$includedir -L$libdir $mpilibs $MPI_OTHERLIBS - fi - rc=$? -else - $Show $FC "${allargs[@]}" -I$includedir $FFLAGS - rc=$? -fi -if [ -n "$rmfiles" ] ; then - for file in $rmfiles ; do - objfile=`basename $file .f` - if [ -s "${objfile}.o" ] ; then - # Rename - destfile=`echo $objfile | sed -e "s/.*$$-//"` - mv -f ${objfile}.o ${destfile}.o - fi - rm -f $file - done - rm -f $rmfiles -fi -exit $rc diff --git a/compilers/mpif90-trace-bgp-V1R3.in b/compilers/mpif90-trace-bgp-V1R3.in deleted file mode 100755 index 37f1fba..0000000 --- a/compilers/mpif90-trace-bgp-V1R3.in +++ /dev/null @@ -1,314 +0,0 @@ -#! /bin/sh -# -# (C) 2006 by Argonne National Laboratory. -# See COPYRIGHT in top-level directory. -# -# NOTE: this script has been modified to automatically link in the darshan -# characterization libraries. See www.mcs.anl.gov/research/projects/darshan -# -# mpif77 -# Simple script to compile and/or link MPI programs. -# This script knows the default flags and libraries, and can handle -# alternative C compilers and the associated flags and libraries. -# The important terms are: -# includedir, libdir - Directories containing an *installed* mpich2 -# prefix, execprefix - Often used to define includedir and libdir -# FC - Fortran 77 compiler -# WRAPPER_FFLAGS - Any special flags needed to compile -# WRAPPER_LDFLAGS - Any special flags needed to link -# MPILIBNAME - Name of the MPI library -# MPI_OTHERLIBS - Other libraries needed in order to link -# F77_OTHER_LIBS - Yet more libraries, needed just with F77 -# -# -# We assume that (a) the C compiler can both compile and link programs -# -# Handling of command-line options: -# This is a little tricky because some options may contain blanks. -# -# Special issues with shared libraries - todo -# -# -------------------------------------------------------------------------- -# Set the default values of all variables. -# -# Directory locations: Fixed for any MPI implementation. -# Set from the directory arguments to configure (e.g., --prefix=/usr/local) -prefix=/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/default -exec_prefix=${prefix} -sysconfdir=${prefix}/etc -includedir=${prefix}/include -libdir=${exec_prefix}/lib - -CP_WRAPPERS=@CP_WRAPPERS@ -DARSHAN_LIB_PATH=@darshan_lib_path@ -DARSHAN_BIN_PATH=@darshan_bin_path@ -CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@ - -# -# Default settings for compiler, flags, and libraries -# Determined by a combination of environment variables and tests within -# configure (e.g., determining whehter -lsocket is needee) -FC="/opt/ibmcmp/xlf/bg/11.1/bin/bgxlf90" -FC_LINKPATH_SHL="-Wl,-rpath -Wl," -F77CPP="" -WRAPPER_FFLAGS="-I/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/include" -WRAPPER_LDFLAGS="" -MPILIBNAME="mpich.cnk" -PMPILIBNAME="pmpich.cnk" -MPI_OTHERLIBS=" -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -ldcmfcoll.cnk -ldcmf.cnk -lpthread -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -lSPI.cna -lrt" -NEEDSPLIB="no" -# -# MPIVERSION is the version of the MPICH2 library for which mpif77 is intended -MPIVERSION="1.0.7" -# -# Internal variables -# Show is set to echo to cause the compilation command to be echoed instead -# of executed. -Show= -# -# End of initialization of variables -#--------------------------------------------------------------------- -# Environment Variables. -# The environment variables MPICH_F77 may be used to override the -# default choices. -# In addition, if there is a file $sysconfdir/mpif77-$F77name.conf, -# where F77name is the name of the compiler with all spaces replaced by hyphens -# (e.g., "f77 -64" becomes "f77--64", that file is sources, allowing other -# changes to the compilation environment. See the variables used by the -# script (defined above) -if [ -n "$MPICH_F77" ] ; then - FC="$MPICH_F77" - F77name=`echo $FC | sed 's/ /-/g'` - if [ -s $sysconfdir/mpif77-$F77name.conf ] ; then - . $sysconfdir/mpif77-$F77name.conf - fi -fi -# Allow a profiling option to be selected through an environment variable -if [ -n "$MPIF77_PROFILE" ] ; then - profConf=$MPIF77_PROFILE -fi -# -# ------------------------------------------------------------------------ -# Argument processing. -# This is somewhat awkward because of the handling of arguments within -# the shell. We want to handle arguments that include spaces without -# loosing the spacing (an alternative would be to use a more powerful -# scripting language that would allow us to retain the array of values, -# which the basic (rather than enhanced) Bourne shell does not. -# -# Look through the arguments for arguments that indicate compile only. -# If these are *not* found, add the library options - -linking=yes -allargs=("$@") -argno=0 -cppflags=() -for arg in "$@" ; do - # Set addarg to no if this arg should be ignored by the C compiler - addarg=yes - case "$arg" in - # ---------------------------------------------------------------- - # Compiler options that affect whether we are linking or no - -c|-S|-E|-M|-MM) - # The compiler links by default - linking=no - ;; - # ---------------------------------------------------------------- - # Options that control how we use mpif77 (e.g., -show, - # -f77=* -config=* - -echo) - addarg=no - set -x - ;; - - -f77=*) - FC=`echo A$arg | sed -e 's/A-f77=//g'` - addarg=no - ;; - -fc=*) - FC=`echo A$arg | sed -e 's/A-fc=//g'` - addarg=no - ;; - - -show) - addarg=no - Show=echo - ;; - -config=*) - addarg=no - F77name=`echo A$arg | sed -e 's/A-config=//g'` - if [ -s "$sysconfdir/mpif77-$F77name.conf" ] ; then - . "$sysconfdir/mpif77-$F77name.conf" - else - echo "Configuration file mpif77-$F77name.conf not found" - fi - ;; - -compile-info|-compile_info) - # -compile_info included for backward compatibility - Show=echo - addarg=no - ;; - -link-info|-link_info) - # -link_info included for backward compatibility - Show=echo - addarg=no - ;; - -v) - # Pass this argument to the compiler as well. - echo "mpif77 for $MPIVERSION" - linking=no - ;; - -profile=*) - # Pass the name of a profiling configuration. As - # a special case, lib.so or lib.la may be used - # if the library is in $libdir - profConf=`echo A$arg | sed -e 's/A-profile=//g'` - addarg=no - # Loading the profConf file is handled below - ;; - -mpe=*) - # Pass the name of a profiling configuration; this is a special - # case for the MPE libs. See -profile - profConf=`echo A$arg | sed -e 's/A-mpe=//g'` - profConf="mpe_$profConf" - addarg=no - # Loading the profConf file is handled below - ;; - # -help - -help) - ;; - # The following are special args used to handle .F files when the - # Fortran compiler itself does not handle these options - -I*) - cppflags[${#cppflags}]="$arg" - ;; - -D*) - cppflags[${#cppflags}]="$arg" - ;; - *.F|*.F90|*.fpp|*.FPP) -# If F77CPP is not empty, then we need to do the following: -# If any input files have the .F or .F90 extension, then -# If F77CPP = false, then -# generate an error message and exit -# Use F77CPP to convert the file from .F to .f, using -# $TMPDIR/f$$-$count.f as the output file name -# Replace the input file with this name in the args -# This is needed only for very broken systems -# - if [ -n "$F77CPP" ] ; then - if [ "$F77CPP" = "false" ] ; then - echo "This Fortran compiler does not accept .F or .F90 files" - exit 1 - fi - addarg=no - # Remove and directory names and extension - $ext=`expr "$arg" : '.*\(\..*\)'` - bfile=`basename $arg $ext` - # - TMPDIR=${TMPDIR:-/tmp} - tmpfile=$TMPDIR/f$$-$bfile.f - if $F77CPP "${cppflags[@]}" $arg > $tmpfile ; then - # Add this file to the commandline list - count=`expr $count + 1` - allargs[${#allargs}]="$tmpfile" - rmfiles="$rmfiles $tmpfile" - else - echo "Aborting compilation because of failure in preprocessing step" - echo "for file $arg ." - exit 1 - fi - fi - # Otherwise, just accept the argument - ;; - # - end of special handling for .F files - - esac - if [ $addarg = no ] ; then - unset allargs[$argno] - fi - # Some versions of bash do not accept ((argno++)) - argno=`expr $argno + 1` -done - -# ----------------------------------------------------------------------- -# Derived variables. These are assembled from variables set from the -# default, environment, configuration file (if any) and command-line -# options (if any) -if [ "$NEEDSPLIB" = yes ] ; then - mpilibs="-l$PMPILIBNAME -l$MPILIBNAME" -else - mpilibs="-l$MPILIBNAME" -fi -# -# Init with the ones needed by MPI -FFLAGS="$WRAPPER_FFLAGS" -LDFLAGS="$WRAPPER_LDFLAGS" -# -# Handle the case of a profile switch -if [ -n "$profConf" ] ; then - profConffile= - if [ -s "$libdir/lib$profConf.a" -o -s "$libdir/lib$profConf.so" ] ; then - mpilibs="-l$profConf $mpilibs" - elif [ -s "$sysconfdir/$profConf.conf" ] ; then - profConffile="$sysconfdir/$profConf.conf" - elif [ -s "$profConf.conf" ] ; then - profConffile="$profConf.conf" - else - echo "Profiling configuration file $profConf.conf not found in $sysconfdir" - fi - if [ -n "$profConffile" -a -s "$profConffile" ] ; then - . $profConffile - if [ -n "$PROFILE_INCPATHS" ] ; then - FFLAGS="$PROFILE_INCPATHS $FFLAGS" - fi - if [ -n "$PROFILE_PRELIB" ] ; then - mpilibs="$PROFILE_PRELIB $mpilibs" - fi - if [ -n "$PROFILE_POSTLIB" ] ; then - mpilibs="$mpilibs $PROFILE_POSTLIB" - fi - fi -fi -# -# A temporary statement to invoke the compiler -# Place the -L before any args incase there are any mpi libraries in there. -# Eventually, we'll want to move this after any non-MPI implementation -# libraries -# -if [ "$linking" = yes ] ; then - if [ -n "$FC_LINKPATH_SHL" ] ; then - # Prepend the path for the shared libraries to the library list - mpilibs="$FC_LINKPATH_SHL$libdir $mpilibs" - fi - # check to see if the command line refers to any profilers that might - # use PMPI. - profiler_check=`echo "${allargs[@]}" | ${DARSHAN_BIN_PATH}/darshan-pmpi-filter.sh` - if [ "$profiler_check" = "" ] ; then - # If we link link darshan-mpi-io before system mpi lib, we don't get a - # trace but if we don't link it early enough, we get undefined MPI symbols. - # Seems like listing the darshan libs twice does the trick - $Show $FC "${allargs[@]}" -I$includedir $FFLAGS ${CP_WRAPPERS} $LDFLAGS -L${DARSHAN_LIB_PATH} -lfmpich.cnk \ - -ldarshan-posix -ldarshan-mpi-io \ - -L$libdir $mpilibs $MPI_OTHERLIBS \ - -L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} -ldarshan-posix -ldarshan-mpi-io -lz - else - $Show $FC "${allargs[@]}" -I$includedir $FFLAGS $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS - fi - rc=$? -else - $Show $FC "${allargs[@]}" -I$includedir $FFLAGS - rc=$? -fi -if [ -n "$rmfiles" ] ; then - for file in $rmfiles ; do - objfile=`basename $file .f` - if [ -s "${objfile}.o" ] ; then - # Rename - destfile=`echo $objfile | sed -e "s/.*$$-//"` - mv -f ${objfile}.o ${destfile}.o - fi - rm -f $file - done - rm -f $rmfiles -fi -exit $rc diff --git a/compilers/mpixlc-trace-bgp-V1R3.in b/compilers/mpixlc-trace-bgp-V1R3.in deleted file mode 100755 index 02f28d2..0000000 --- a/compilers/mpixlc-trace-bgp-V1R3.in +++ /dev/null @@ -1,251 +0,0 @@ -#! /bin/sh -# -# (C) 2006 by Argonne National Laboratory. -# See COPYRIGHT in top-level directory. -# -# NOTE: this script has been modified to automatically link in the darshan -# characterization libraries. See www.mcs.anl.gov/research/projects/darshan -# -# mpicc -# Simple script to compile and/or link MPI programs. -# This script knows the default flags and libraries, and can handle -# alternative C compilers and the associated flags and libraries. -# The important terms are: -# includedir, libdir - Directories containing an *installed* mpich2 -# prefix, execprefix - Often used to define includedir and libdir -# CC - C compiler -# WRAPPER_CFLAGS - Any special flags needed to compile -# WRAPPER_LDFLAGS - Any special flags needed to link -# MPILIBNAME - Name of the MPI library -# MPI_OTHERLIBS - Other libraries needed in order to link -# -# We assume that (a) the C compiler can both compile and link programs -# -# Handling of command-line options: -# This is a little tricky because some options may contain blanks. -# -# Special issues with shared libraries - todo -# -# -------------------------------------------------------------------------- -# Set the default values of all variables. -# -# Directory locations: Fixed for any MPI implementation. -# Set from the directory arguments to configure (e.g., --prefix=/usr/local) -prefix=/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/default -exec_prefix=${prefix} -sysconfdir=${prefix}/etc -includedir=${prefix}/include -libdir=${exec_prefix}/lib - -CP_WRAPPERS=@CP_WRAPPERS@ -DARSHAN_LIB_PATH=@darshan_lib_path@ -DARSHAN_BIN_PATH=@darshan_bin_path@ -CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@ - -# -# Default settings for compiler, flags, and libraries. -# Determined by a combination of environment variables and tests within -# configure (e.g., determining whehter -lsocket is needee) -CC="/opt/ibmcmp/vacpp/bg/9.0/bin/bgxlc" -C_LINKPATH_SHL="-Wl,-rpath," -WRAPPER_CFLAGS="-I/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/include" -WRAPPER_LDFLAGS="" -MPILIBNAME="mpich.cnk" -PMPILIBNAME="pmpich.cnk" -MPI_OTHERLIBS=" -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -ldcmfcoll.cnk -ldcmf.cnk -lpthread -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -lSPI.cna -lrt" -NEEDSPLIB="no" -# MPIVERSION is the version of the MPICH2 library that mpicc is intended for -MPIVERSION="1.0.7" -# -# Internal variables -# Show is set to echo to cause the compilation command to be echoed instead -# of executed. -Show= -# -# End of initialization of variables -#--------------------------------------------------------------------- -# Environment Variables. -# The environment variables MPICH_CC may be used to override the -# default choices. -# In addition, if there is a file $sysconfdir/mpicc-$CCname.conf, -# where CCname is the name of the compiler with all spaces replaced by hyphens -# (e.g., "cc -64" becomes "cc--64", that file is sources, allowing other -# changes to the compilation environment. See the variables used by the -# script (defined above) -if [ -n "$MPICH_CC" ] ; then - CC="$MPICH_CC" - CCname=`echo $CC | sed 's/ /-/g'` - if [ -s $sysconfdir/mpicc-$CCname.conf ] ; then - . $sysconfdir/mpicc-$CCname.conf - fi -fi -# Allow a profiling option to be selected through an environment variable -if [ -n "$MPICC_PROFILE" ] ; then - profConf=$MPICC_PROFILE -fi -# -# ------------------------------------------------------------------------ -# Argument processing. -# This is somewhat awkward because of the handling of arguments within -# the shell. We want to handle arguments that include spaces without -# loosing the spacing (an alternative would be to use a more powerful -# scripting language that would allow us to retain the array of values, -# which the basic (rather than enhanced) Bourne shell does not. -# -# Look through the arguments for arguments that indicate compile only. -# If these are *not* found, add the library options - -linking=yes -allargs=("$@") -argno=0 -for arg in "$@" ; do - # Set addarg to no if this arg should be ignored by the C compiler - addarg=yes - case "$arg" in - # ---------------------------------------------------------------- - # Compiler options that affect whether we are linking or no - -c|-S|-E|-M|-MM) - # The compiler links by default - linking=no - ;; - # ---------------------------------------------------------------- - # Options that control how we use mpicc (e.g., -show, - # -cc=* -config=* - -echo) - addarg=no - set -x - ;; - -cc=*) - CC=`echo A$arg | sed -e 's/A-cc=//g'` - addarg=no - ;; - -show) - addarg=no - Show=echo - ;; - -config=*) - addarg=no - CCname=`echo A$arg | sed -e 's/A-config=//g'` - if [ -s "$sysconfdir/mpicc-$CCname.conf" ] ; then - . "$sysconfdir/mpicc-$CCname.conf" - else - echo "Configuration file mpicc-$CCname.conf not found" - fi - ;; - -compile-info|-compile_info) - # -compile_info included for backward compatibility - Show=echo - addarg=no - ;; - -link-info|-link_info) - # -link_info included for backward compatibility - Show=echo - addarg=no - ;; - -v) - # Pass this argument to the compiler as well. - echo "mpicc for $MPIVERSION" - linking=no - ;; - -profile=*) - # Pass the name of a profiling configuration. As - # a special case, lib.so or lib.la may be used - # if the library is in $libdir - profConf=`echo A$arg | sed -e 's/A-profile=//g'` - addarg=no - # Loading the profConf file is handled below - ;; - -mpe=*) - # Pass the name of a profiling configuration; this is a special - # case for the MPE libs. See -profile - profConf=`echo A$arg | sed -e 's/A-mpe=//g'` - profConf="mpe_$profConf" - addarg=no - # Loading the profConf file is handled below - ;; - # -help - -help) - ;; - *) - ;; - - esac - if [ $addarg = no ] ; then - unset allargs[$argno] - fi - # Some versions of bash do not accept ((argno++)) - argno=`expr $argno + 1` -done - -# ----------------------------------------------------------------------- -# Derived variables. These are assembled from variables set from the -# default, environment, configuration file (if any) and command-line -# options (if any) -if [ "$NEEDSPLIB" = yes ] ; then - mpilibs="-l$PMPILIBNAME -l$MPILIBNAME" -else - mpilibs="-l$MPILIBNAME" -fi -# -# Init with the ones needed by MPI -CFLAGS="$WRAPPER_CFLAGS" -LDFLAGS="$WRAPPER_LDFLAGS" -# -# Handle the case of a profile switch -if [ -n "$profConf" ] ; then - profConffile= - if [ -s "$libdir/lib$profConf.a" -o -s "$libdir/lib$profConf.so" ] ; then - mpilibs="-l$profConf $mpilibs" - elif [ -s "$sysconfdir/$profConf.conf" ] ; then - profConffile="$sysconfdir/$profConf.conf" - elif [ -s "$profConf.conf" ] ; then - profConffile="$profConf.conf" - else - echo "Profiling configuration file $profConf.conf not found in $sysconfdir" - fi - if [ -n "$profConffile" -a -s "$profConffile" ] ; then - . $profConffile - if [ -n "$PROFILE_INCPATHS" ] ; then - CFLAGS="$PROFILE_INCPATHS $CFLAGS" - fi - if [ -n "$PROFILE_PRELIB" ] ; then - mpilibs="$PROFILE_PRELIB $mpilibs" - fi - if [ -n "$PROFILE_POSTLIB" ] ; then - mpilibs="$mpilibs $PROFILE_POSTLIB" - fi - fi -fi - -# ----------------------------------------------------------------------- -# -# A temporary statement to invoke the compiler -# Place the -L before any args incase there are any mpi libraries in there. -# Eventually, we'll want to move this after any non-MPI implementation -# libraries. -# We use a single invocation of the compiler. This will be adequate until -# we run into a system that uses a separate linking command. With any luck, -# such archaic systems are no longer with us. This also lets us -# accept any argument; we don't need to know if we've seen a source -# file or an object file. Instead, we just check for an option that -# suppressing linking, such as -c or -M. -if [ "$linking" = yes ] ; then - if [ -n "$C_LINKPATH_SHL" ] ; then - # prepend the path for the shared libraries to the library list - mpilibs="$C_LINKPATH_SHL$libdir $mpilibs" - fi - # check to see if the command line refers to any profilers that might - # use PMPI. - profiler_check=`echo "${allargs[@]}" | ${DARSHAN_BIN_PATH}/darshan-pmpi-filter.sh` - if [ "$profiler_check" = "" ] ; then - $Show $CC "${allargs[@]}" -L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} ${CP_ZLIB_LINK_FLAGS} -ldarshan-mpi-io -lz -I$includedir $CFLAGS ${CP_WRAPPERS} $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS -L${DARSHAN_LIB_PATH} -ldarshan-posix - else - $Show $CC "${allargs[@]}" -I$includedir $CFLAGS $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS - fi - rc=$? -else - $Show $CC "${allargs[@]}" -I$includedir $CFLAGS - rc=$? -fi - -exit $rc diff --git a/compilers/mpixlc_r-trace-bgp-V1R3.in b/compilers/mpixlc_r-trace-bgp-V1R3.in deleted file mode 100755 index 3d1fae7..0000000 --- a/compilers/mpixlc_r-trace-bgp-V1R3.in +++ /dev/null @@ -1,248 +0,0 @@ -#! /bin/sh -# -# (C) 2006 by Argonne National Laboratory. -# See COPYRIGHT in top-level directory. -# -# mpicc -# Simple script to compile and/or link MPI programs. -# This script knows the default flags and libraries, and can handle -# alternative C compilers and the associated flags and libraries. -# The important terms are: -# includedir, libdir - Directories containing an *installed* mpich2 -# prefix, execprefix - Often used to define includedir and libdir -# CC - C compiler -# WRAPPER_CFLAGS - Any special flags needed to compile -# WRAPPER_LDFLAGS - Any special flags needed to link -# MPILIBNAME - Name of the MPI library -# MPI_OTHERLIBS - Other libraries needed in order to link -# -# We assume that (a) the C compiler can both compile and link programs -# -# Handling of command-line options: -# This is a little tricky because some options may contain blanks. -# -# Special issues with shared libraries - todo -# -# -------------------------------------------------------------------------- -# Set the default values of all variables. -# -# Directory locations: Fixed for any MPI implementation. -# Set from the directory arguments to configure (e.g., --prefix=/usr/local) -prefix=/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/default -exec_prefix=${prefix} -sysconfdir=${prefix}/etc -includedir=${prefix}/include -libdir=${exec_prefix}/lib - -CP_WRAPPERS=@CP_WRAPPERS@ -DARSHAN_LIB_PATH=@darshan_lib_path@ -DARSHAN_BIN_PATH=@darshan_bin_path@ -CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@ - -# -# Default settings for compiler, flags, and libraries. -# Determined by a combination of environment variables and tests within -# configure (e.g., determining whehter -lsocket is needee) -CC="/opt/ibmcmp/vacpp/bg/9.0/bin/bgxlc_r" -C_LINKPATH_SHL="-Wl,-rpath," -WRAPPER_CFLAGS="-I/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/include" -WRAPPER_LDFLAGS=" " -MPILIBNAME="mpich.cnk" -PMPILIBNAME="pmpich.cnk" -MPI_OTHERLIBS=" -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -ldcmfcoll.cnk -ldcmf.cnk -lpthread -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -lSPI.cna -lrt " -NEEDSPLIB="no" -# MPIVERSION is the version of the MPICH2 library that mpicc is intended for -MPIVERSION="1.0.7" -# -# Internal variables -# Show is set to echo to cause the compilation command to be echoed instead -# of executed. -Show= -# -# End of initialization of variables -#--------------------------------------------------------------------- -# Environment Variables. -# The environment variables MPICH_CC may be used to override the -# default choices. -# In addition, if there is a file $sysconfdir/mpicc-$CCname.conf, -# where CCname is the name of the compiler with all spaces replaced by hyphens -# (e.g., "cc -64" becomes "cc--64", that file is sources, allowing other -# changes to the compilation environment. See the variables used by the -# script (defined above) -if [ -n "$MPICH_CC" ] ; then - CC="$MPICH_CC" - CCname=`echo $CC | sed 's/ /-/g'` - if [ -s $sysconfdir/mpicc-$CCname.conf ] ; then - . $sysconfdir/mpicc-$CCname.conf - fi -fi -# Allow a profiling option to be selected through an environment variable -if [ -n "$MPICC_PROFILE" ] ; then - profConf=$MPICC_PROFILE -fi -# -# ------------------------------------------------------------------------ -# Argument processing. -# This is somewhat awkward because of the handling of arguments within -# the shell. We want to handle arguments that include spaces without -# loosing the spacing (an alternative would be to use a more powerful -# scripting language that would allow us to retain the array of values, -# which the basic (rather than enhanced) Bourne shell does not. -# -# Look through the arguments for arguments that indicate compile only. -# If these are *not* found, add the library options - -linking=yes -allargs=("$@") -argno=0 -for arg in "$@" ; do - # Set addarg to no if this arg should be ignored by the C compiler - addarg=yes - case "$arg" in - # ---------------------------------------------------------------- - # Compiler options that affect whether we are linking or no - -c|-S|-E|-M|-MM) - # The compiler links by default - linking=no - ;; - # ---------------------------------------------------------------- - # Options that control how we use mpicc (e.g., -show, - # -cc=* -config=* - -echo) - addarg=no - set -x - ;; - -cc=*) - CC=`echo A$arg | sed -e 's/A-cc=//g'` - addarg=no - ;; - -show) - addarg=no - Show=echo - ;; - -config=*) - addarg=no - CCname=`echo A$arg | sed -e 's/A-config=//g'` - if [ -s "$sysconfdir/mpicc-$CCname.conf" ] ; then - . "$sysconfdir/mpicc-$CCname.conf" - else - echo "Configuration file mpicc-$CCname.conf not found" - fi - ;; - -compile-info|-compile_info) - # -compile_info included for backward compatibility - Show=echo - addarg=no - ;; - -link-info|-link_info) - # -link_info included for backward compatibility - Show=echo - addarg=no - ;; - -v) - # Pass this argument to the compiler as well. - echo "mpicc for $MPIVERSION" - linking=no - ;; - -profile=*) - # Pass the name of a profiling configuration. As - # a special case, lib.so or lib.la may be used - # if the library is in $libdir - profConf=`echo A$arg | sed -e 's/A-profile=//g'` - addarg=no - # Loading the profConf file is handled below - ;; - -mpe=*) - # Pass the name of a profiling configuration; this is a special - # case for the MPE libs. See -profile - profConf=`echo A$arg | sed -e 's/A-mpe=//g'` - profConf="mpe_$profConf" - addarg=no - # Loading the profConf file is handled below - ;; - # -help - -help) - ;; - *) - ;; - - esac - if [ $addarg = no ] ; then - unset allargs[$argno] - fi - # Some versions of bash do not accept ((argno++)) - argno=`expr $argno + 1` -done - -# ----------------------------------------------------------------------- -# Derived variables. These are assembled from variables set from the -# default, environment, configuration file (if any) and command-line -# options (if any) -if [ "$NEEDSPLIB" = yes ] ; then - mpilibs="-l$PMPILIBNAME -l$MPILIBNAME" -else - mpilibs="-l$MPILIBNAME" -fi -# -# Init with the ones needed by MPI -CFLAGS="$WRAPPER_CFLAGS" -LDFLAGS="$WRAPPER_LDFLAGS" -# -# Handle the case of a profile switch -if [ -n "$profConf" ] ; then - profConffile= - if [ -s "$libdir/lib$profConf.a" -o -s "$libdir/lib$profConf.so" ] ; then - mpilibs="-l$profConf $mpilibs" - elif [ -s "$sysconfdir/$profConf.conf" ] ; then - profConffile="$sysconfdir/$profConf.conf" - elif [ -s "$profConf.conf" ] ; then - profConffile="$profConf.conf" - else - echo "Profiling configuration file $profConf.conf not found in $sysconfdir" - fi - if [ -n "$profConffile" -a -s "$profConffile" ] ; then - . $profConffile - if [ -n "$PROFILE_INCPATHS" ] ; then - CFLAGS="$PROFILE_INCPATHS $CFLAGS" - fi - if [ -n "$PROFILE_PRELIB" ] ; then - mpilibs="$PROFILE_PRELIB $mpilibs" - fi - if [ -n "$PROFILE_POSTLIB" ] ; then - mpilibs="$mpilibs $PROFILE_POSTLIB" - fi - fi -fi - -# ----------------------------------------------------------------------- -# -# A temporary statement to invoke the compiler -# Place the -L before any args incase there are any mpi libraries in there. -# Eventually, we'll want to move this after any non-MPI implementation -# libraries. -# We use a single invocation of the compiler. This will be adequate until -# we run into a system that uses a separate linking command. With any luck, -# such archaic systems are no longer with us. This also lets us -# accept any argument; we don't need to know if we've seen a source -# file or an object file. Instead, we just check for an option that -# suppressing linking, such as -c or -M. -if [ "$linking" = yes ] ; then - if [ -n "$C_LINKPATH_SHL" ] ; then - # prepend the path for the shared libraries to the library list - mpilibs="$C_LINKPATH_SHL$libdir $mpilibs" - fi - # check to see if the command line refers to any profilers that might - # use PMPI. - profiler_check=`echo "${allargs[@]}" | ${DARSHAN_BIN_PATH}/darshan-pmpi-filter.sh` - if [ "$profiler_check" = "" ] ; then - $Show $CC "${allargs[@]}" -L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} ${CP_ZLIB_LINK_FLAGS} -ldarshan-mpi-io -lz -I$includedir $CFLAGS ${CP_WRAPPERS} $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS -L${DARSHAN_LIB_PATH} -ldarshan-posix - else - $Show $CC "${allargs[@]}" -I$includedir $CFLAGS $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS - fi - rc=$? -else - $Show $CC "${allargs[@]}" -I$includedir $CFLAGS - rc=$? -fi - -exit $rc diff --git a/compilers/mpixlcxx-trace-bgp-V1R3.in b/compilers/mpixlcxx-trace-bgp-V1R3.in deleted file mode 100755 index 9c72ec6..0000000 --- a/compilers/mpixlcxx-trace-bgp-V1R3.in +++ /dev/null @@ -1,251 +0,0 @@ -#! /bin/sh -# -# (C) 2006 by Argonne National Laboratory. -# See COPYRIGHT in top-level directory. -# -# NOTE: this script has been modified to automatically link in the darshan -# characterization libraries. See www.mcs.anl.gov/research/projects/darshan -# -# mpicxx -# Simple script to compile and/or link MPI programs. -# This script knows the default flags and libraries, and can handle -# alternative C++ compilers and the associated flags and libraries. -# The important terms are: -# includedir, libdir - Directories containing an *installed* mpich2 -# prefix, execprefix - Often used to define includedir and libdir -# CXX - C compiler -# WRAPPER_CXXFLAGS - Any special flags needed to compile -# WRAPPER_LDFLAGS - Any special flags needed to link -# MPILIBNAME - Name of the MPI library -# MPICXXLIBNAME - Name of the C++ binding part of the MPI library -# MPI_OTHERLIBS - Other libraries needed in order to link -# -# We assume that (a) the C++ compiler can both compile and link programs -# -# Handling of command-line options: -# This is a little tricky because some options may contain blanks. -# -# Special issues with shared libraries - todo -# -# -------------------------------------------------------------------------- -# Set the default values of all variables. -# -# Directory locations: Fixed for any MPI implementation -prefix=/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/default -exec_prefix=${prefix} -sysconfdir=${prefix}/etc -includedir=${prefix}/include -libdir=${exec_prefix}/lib - -CP_WRAPPERS=@CP_WRAPPERS@ -DARSHAN_LIB_PATH=@darshan_lib_path@ -DARSHAN_BIN_PATH=@darshan_bin_path@ -CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@ - -# -# Default settings for compiler, flags, and libraries -CXX="/opt/ibmcmp/vacpp/bg/9.0/bin/bgxlC" -CXX_LINKPATH_SHL="-Wl,-rpath -Wl," -WRAPPER_CXXFLAGS="-I/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/include" -WRAPPER_LDFLAGS="" -MPILIBNAME="mpich.cnk" -PMPILIBNAME="pmpich.cnk" -MPICXXLIBNAME="cxxmpich.cnk" -MPI_OTHERLIBS=" -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -ldcmfcoll.cnk -ldcmf.cnk -lpthread -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -lSPI.cna -lrt" -NEEDSPLIB="no" -# MPIVERSION is the version of the MPICH2 library that mpicxx is intended for -MPIVERSION="1.0.7" -# -# Internal variables -# Show is set to echo to cause the compilation command to be echoed instead -# of executed. -Show= -# -# End of initialization of variables -#--------------------------------------------------------------------- -# Environment Variables. -# The environment variables MPICH_CXX may be used to override the -# default choices. -# In addition, if there is a file $sysconfdir/mpicxx-$CXXname.conf, -# where CXXname is the name of the compiler with all spaces replaced by hyphens -# (e.g., "CC -64" becomes "CC--64", that file is sources, allowing other -# changes to the compilation environment. See the variables used by the -# script (defined above) -if [ -n "$MPICH_CXX" ] ; then - CXX="$MPICH_CXX" - CXXname=`echo $CXX | sed 's/ /-/g'` - if [ -s $sysconfdir/mpicxx-$CXXname.conf ] ; then - . $sysconfdir/mpicxx-$CXXname.conf - fi -fi -# Allow a profiling option to be selected through an environment variable -if [ -n "$MPICXX_PROFILE" ] ; then - profConf=$MPICXX_PROFILE -fi -# -# ------------------------------------------------------------------------ -# Argument processing. -# This is somewhat awkward because of the handling of arguments within -# the shell. We want to handle arguments that include spaces without -# loosing the spacing (an alternative would be to use a more powerful -# scripting language that would allow us to retain the array of values, -# which the basic (rather than enhanced) Bourne shell does not. -# -# Look through the arguments for arguments that indicate compile only. -# If these are *not* found, add the library options - -linking=yes -allargs=("$@") -argno=0 -for arg in "$@" ; do - # Set addarg to no if this arg should be ignored by the C compiler - addarg=yes - case "$arg" in - # ---------------------------------------------------------------- - # Compiler options that affect whether we are linking or no - -c|-S|-E|-M|-MM) - # The compiler links by default - linking=no - ;; - # ---------------------------------------------------------------- - # Options that control how we use mpicxx (e.g., -show, - # -cxx=* -config=* - -echo) - addarg=no - set -x - ;; - -cxx=*) - CXX=`echo A$arg | sed -e 's/A-cxx=//g'` - addarg=no - ;; - # Backwards compatibility for MPICH1 - scripts - -CC=*) - CXX=`echo A$arg | sed -e 's/A-CC=//g'` - addarg=no - ;; - -show) - addarg=no - Show=echo - ;; - -config=*) - addarg=no - CXXname=`echo A$arg | sed -e 's/A-config=//g'` - if [ -s "$sysconfdir/mpicxx-$CXXname.conf" ] ; then - . "$sysconfdir/mpicxx-$CXXname.conf" - else - echo "Configuration file mpicxx-$CXXname.conf not found" - fi - ;; - -compile-info|-compile_info) - # -compile_info included for backward compatibility - Show=echo - addarg=no - ;; - -link-info|-link_info) - # -link_info included for backward compatibility - Show=echo - addarg=no - ;; - -v) - # Pass this argument to the compiler as well. - echo "mpicxx for $MPIVERSION" - linking=no - ;; - -profile=*) - # Pass the name of a profiling configuration. As - # a special case, lib.so or lib.la may be used - # if the library is in $libdir - profConf=`echo A$arg | sed -e 's/A-profile=//g'` - addarg=no - # Loading the profConf file is handled below - ;; - -mpe=*) - # Pass the name of a profiling configuration; this is a special - # case for the MPE libs. See -profile - profConf=`echo A$arg | sed -e 's/A-mpe=//g'` - profConf="mpe_$profConf" - addarg=no - # Loading the profConf file is handled below - ;; - # -help - -help) - ;; - *) - ;; - - esac - if [ $addarg = no ] ; then - unset allargs[$argno] - fi - # Some versions of bash do not accept ((argno++)) - argno=`expr $argno + 1` -done - -# ----------------------------------------------------------------------- -# Derived variables. These are assembled from variables set from the -# default, environment, configuration file (if any) and command-line -# options (if any) -if [ "$NEEDSPLIB" = yes ] ; then - mpilibs="-l$PMPILIBNAME -l$MPILIBNAME" -else - mpilibs="-l$MPILIBNAME" -fi -cxxlibs= -if [ "$MPICXXLIBNAME" != "$MPILIBNAME" ] ; then - cxxlibs="-l$MPICXXLIBNAME" -fi -# -# Init with the ones needed by MPI -CXXFLAGS="$WRAPPER_CXXFLAGS" -LDFLAGS="$WRAPPER_LDFLAGS" -# -# -# Handle the case of a profile switch -if [ -n "$profConf" ] ; then - profConffile= - if [ -s "$libdir/lib$profConf.a" -o -s "$libdir/lib$profConf.so" ] ; then - mpilibs="-l$profConf $mpilibs" - elif [ -s "$sysconfdir/$profConf.conf" ] ; then - profConffile="$sysconfdir/$profConf.conf" - elif [ -s "$profConf.conf" ] ; then - profConffile="$profConf.conf" - else - echo "Profiling configuration file $profConf.conf not found in $sysconfdir" - fi - if [ -n "$profConffile" -a -s "$profConffile" ] ; then - . $profConffile - if [ -n "$PROFILE_INCPATHS" ] ; then - CXXFLAGS="$PROFILE_INCPATHS $CXXFLAGS" - fi - if [ -n "$PROFILE_PRELIB" ] ; then - mpilibs="$PROFILE_PRELIB $mpilibs" - fi - if [ -n "$PROFILE_POSTLIB" ] ; then - mpilibs="$mpilibs $PROFILE_POSTLIB" - fi - fi -fi -# A temporary statement to invoke the compiler -# Place the -L before any args incase there are any mpi libraries in there. -# Eventually, we'll want to move this after any non-MPI implementation -# libraries -if [ "$linking" = yes ] ; then - if [ -n "$CXX_LINKPATH_SHL" ] ; then - # Prepend the path for the shared libraries to the library list - shllibpath="$CXX_LINKPATH_SHL$libdir" - fi - # check to see if the command line refers to any profilers that might - # use PMPI. - profiler_check=`echo "${allargs[@]}" | ${DARSHAN_BIN_PATH}/darshan-pmpi-filter.sh` - if [ "$profiler_check" = "" ] ; then - $Show $CXX "${allargs[@]}" -L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} -lcxxmpich.cnk -ldarshan-mpi-io -lz -I$includedir $CXXFLAGS ${CP_WRAPPERS} $LDFLAGS -L$libdir $shllibpath $cxxlibs $mpilibs $MPI_OTHERLIBS -L${DARSHAN_LIB_PATH} -ldarshan-posix - else - $Show $CXX "${allargs[@]}" -I$includedir $CXXFLAGS $LDFLAGS -L$libdir $shllibpath $cxxlibs $mpilibs $MPI_OTHERLIBS - fi - rc=$? -else - $Show $CXX "${allargs[@]}" -I$includedir $CXXFLAGS - rc=$? -fi - -exit $rc diff --git a/compilers/mpixlcxx_r-trace-bgp-V1R3.in b/compilers/mpixlcxx_r-trace-bgp-V1R3.in deleted file mode 100755 index 22fbc74..0000000 --- a/compilers/mpixlcxx_r-trace-bgp-V1R3.in +++ /dev/null @@ -1,248 +0,0 @@ -#! /bin/sh -# -# (C) 2006 by Argonne National Laboratory. -# See COPYRIGHT in top-level directory. -# -# mpicxx -# Simple script to compile and/or link MPI programs. -# This script knows the default flags and libraries, and can handle -# alternative C++ compilers and the associated flags and libraries. -# The important terms are: -# includedir, libdir - Directories containing an *installed* mpich2 -# prefix, execprefix - Often used to define includedir and libdir -# CXX - C compiler -# WRAPPER_CXXFLAGS - Any special flags needed to compile -# WRAPPER_LDFLAGS - Any special flags needed to link -# MPILIBNAME - Name of the MPI library -# MPICXXLIBNAME - Name of the C++ binding part of the MPI library -# MPI_OTHERLIBS - Other libraries needed in order to link -# -# We assume that (a) the C++ compiler can both compile and link programs -# -# Handling of command-line options: -# This is a little tricky because some options may contain blanks. -# -# Special issues with shared libraries - todo -# -# -------------------------------------------------------------------------- -# Set the default values of all variables. -# -# Directory locations: Fixed for any MPI implementation -prefix=/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/default -exec_prefix=${prefix} -sysconfdir=${prefix}/etc -includedir=${prefix}/include -libdir=${exec_prefix}/lib - -CP_WRAPPERS=@CP_WRAPPERS@ -DARSHAN_LIB_PATH=@darshan_lib_path@ -DARSHAN_BIN_PATH=@darshan_bin_path@ -CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@ - -# -# Default settings for compiler, flags, and libraries -CXX="/opt/ibmcmp/vacpp/bg/9.0/bin/bgxlC_r" -CXX_LINKPATH_SHL="-Wl,-rpath -Wl," -WRAPPER_CXXFLAGS="-I/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/include" -WRAPPER_LDFLAGS=" " -MPILIBNAME="mpich.cnk" -PMPILIBNAME="pmpich.cnk" -MPICXXLIBNAME="cxxmpich.cnk" -MPI_OTHERLIBS=" -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -ldcmfcoll.cnk -ldcmf.cnk -lpthread -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -lSPI.cna -lrt " -NEEDSPLIB="no" -# MPIVERSION is the version of the MPICH2 library that mpicxx is intended for -MPIVERSION="1.0.7" -# -# Internal variables -# Show is set to echo to cause the compilation command to be echoed instead -# of executed. -Show= -# -# End of initialization of variables -#--------------------------------------------------------------------- -# Environment Variables. -# The environment variables MPICH_CXX may be used to override the -# default choices. -# In addition, if there is a file $sysconfdir/mpicxx-$CXXname.conf, -# where CXXname is the name of the compiler with all spaces replaced by hyphens -# (e.g., "CC -64" becomes "CC--64", that file is sources, allowing other -# changes to the compilation environment. See the variables used by the -# script (defined above) -if [ -n "$MPICH_CXX" ] ; then - CXX="$MPICH_CXX" - CXXname=`echo $CXX | sed 's/ /-/g'` - if [ -s $sysconfdir/mpicxx-$CXXname.conf ] ; then - . $sysconfdir/mpicxx-$CXXname.conf - fi -fi -# Allow a profiling option to be selected through an environment variable -if [ -n "$MPICXX_PROFILE" ] ; then - profConf=$MPICXX_PROFILE -fi -# -# ------------------------------------------------------------------------ -# Argument processing. -# This is somewhat awkward because of the handling of arguments within -# the shell. We want to handle arguments that include spaces without -# loosing the spacing (an alternative would be to use a more powerful -# scripting language that would allow us to retain the array of values, -# which the basic (rather than enhanced) Bourne shell does not. -# -# Look through the arguments for arguments that indicate compile only. -# If these are *not* found, add the library options - -linking=yes -allargs=("$@") -argno=0 -for arg in "$@" ; do - # Set addarg to no if this arg should be ignored by the C compiler - addarg=yes - case "$arg" in - # ---------------------------------------------------------------- - # Compiler options that affect whether we are linking or no - -c|-S|-E|-M|-MM) - # The compiler links by default - linking=no - ;; - # ---------------------------------------------------------------- - # Options that control how we use mpicxx (e.g., -show, - # -cxx=* -config=* - -echo) - addarg=no - set -x - ;; - -cxx=*) - CXX=`echo A$arg | sed -e 's/A-cxx=//g'` - addarg=no - ;; - # Backwards compatibility for MPICH1 - scripts - -CC=*) - CXX=`echo A$arg | sed -e 's/A-CC=//g'` - addarg=no - ;; - -show) - addarg=no - Show=echo - ;; - -config=*) - addarg=no - CXXname=`echo A$arg | sed -e 's/A-config=//g'` - if [ -s "$sysconfdir/mpicxx-$CXXname.conf" ] ; then - . "$sysconfdir/mpicxx-$CXXname.conf" - else - echo "Configuration file mpicxx-$CXXname.conf not found" - fi - ;; - -compile-info|-compile_info) - # -compile_info included for backward compatibility - Show=echo - addarg=no - ;; - -link-info|-link_info) - # -link_info included for backward compatibility - Show=echo - addarg=no - ;; - -v) - # Pass this argument to the compiler as well. - echo "mpicxx for $MPIVERSION" - linking=no - ;; - -profile=*) - # Pass the name of a profiling configuration. As - # a special case, lib.so or lib.la may be used - # if the library is in $libdir - profConf=`echo A$arg | sed -e 's/A-profile=//g'` - addarg=no - # Loading the profConf file is handled below - ;; - -mpe=*) - # Pass the name of a profiling configuration; this is a special - # case for the MPE libs. See -profile - profConf=`echo A$arg | sed -e 's/A-mpe=//g'` - profConf="mpe_$profConf" - addarg=no - # Loading the profConf file is handled below - ;; - # -help - -help) - ;; - *) - ;; - - esac - if [ $addarg = no ] ; then - unset allargs[$argno] - fi - # Some versions of bash do not accept ((argno++)) - argno=`expr $argno + 1` -done - -# ----------------------------------------------------------------------- -# Derived variables. These are assembled from variables set from the -# default, environment, configuration file (if any) and command-line -# options (if any) -if [ "$NEEDSPLIB" = yes ] ; then - mpilibs="-l$PMPILIBNAME -l$MPILIBNAME" -else - mpilibs="-l$MPILIBNAME" -fi -cxxlibs= -if [ "$MPICXXLIBNAME" != "$MPILIBNAME" ] ; then - cxxlibs="-l$MPICXXLIBNAME" -fi -# -# Init with the ones needed by MPI -CXXFLAGS="$WRAPPER_CXXFLAGS" -LDFLAGS="$WRAPPER_LDFLAGS" -# -# -# Handle the case of a profile switch -if [ -n "$profConf" ] ; then - profConffile= - if [ -s "$libdir/lib$profConf.a" -o -s "$libdir/lib$profConf.so" ] ; then - mpilibs="-l$profConf $mpilibs" - elif [ -s "$sysconfdir/$profConf.conf" ] ; then - profConffile="$sysconfdir/$profConf.conf" - elif [ -s "$profConf.conf" ] ; then - profConffile="$profConf.conf" - else - echo "Profiling configuration file $profConf.conf not found in $sysconfdir" - fi - if [ -n "$profConffile" -a -s "$profConffile" ] ; then - . $profConffile - if [ -n "$PROFILE_INCPATHS" ] ; then - CXXFLAGS="$PROFILE_INCPATHS $CXXFLAGS" - fi - if [ -n "$PROFILE_PRELIB" ] ; then - mpilibs="$PROFILE_PRELIB $mpilibs" - fi - if [ -n "$PROFILE_POSTLIB" ] ; then - mpilibs="$mpilibs $PROFILE_POSTLIB" - fi - fi -fi -# A temporary statement to invoke the compiler -# Place the -L before any args incase there are any mpi libraries in there. -# Eventually, we'll want to move this after any non-MPI implementation -# libraries -if [ "$linking" = yes ] ; then - if [ -n "$CXX_LINKPATH_SHL" ] ; then - # Prepend the path for the shared libraries to the library list - shllibpath="$CXX_LINKPATH_SHL$libdir" - fi - # check to see if the command line refers to any profilers that might - # use PMPI. - profiler_check=`echo "${allargs[@]}" | ${DARSHAN_BIN_PATH}/darshan-pmpi-filter.sh` - if [ "$profiler_check" = "" ] ; then - $Show $CXX "${allargs[@]}" -L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} -lcxxmpich.cnk -ldarshan-mpi-io -lz -I$includedir $CXXFLAGS ${CP_WRAPPERS} $LDFLAGS -L$libdir $shllibpath $cxxlibs $mpilibs $MPI_OTHERLIBS -L${DARSHAN_LIB_PATH} -ldarshan-posix - else - $Show $CXX "${allargs[@]}" -I$includedir $CXXFLAGS $LDFLAGS -L$libdir $shllibpath $cxxlibs $mpilibs $MPI_OTHERLIBS - fi - rc=$? -else - $Show $CXX "${allargs[@]}" -I$includedir $CXXFLAGS - rc=$? -fi - -exit $rc diff --git a/compilers/mpixlf2003-trace-bgp-V1R3.in b/compilers/mpixlf2003-trace-bgp-V1R3.in deleted file mode 100755 index b91ded8..0000000 --- a/compilers/mpixlf2003-trace-bgp-V1R3.in +++ /dev/null @@ -1,314 +0,0 @@ -#! /bin/sh -# -# (C) 2006 by Argonne National Laboratory. -# See COPYRIGHT in top-level directory. -# -# NOTE: this script has been modified to automatically link in the darshan -# characterization libraries. See www.mcs.anl.gov/research/projects/darshan -# -# mpif77 -# Simple script to compile and/or link MPI programs. -# This script knows the default flags and libraries, and can handle -# alternative C compilers and the associated flags and libraries. -# The important terms are: -# includedir, libdir - Directories containing an *installed* mpich2 -# prefix, execprefix - Often used to define includedir and libdir -# FC - Fortran 77 compiler -# WRAPPER_FFLAGS - Any special flags needed to compile -# WRAPPER_LDFLAGS - Any special flags needed to link -# MPILIBNAME - Name of the MPI library -# MPI_OTHERLIBS - Other libraries needed in order to link -# F77_OTHER_LIBS - Yet more libraries, needed just with F77 -# -# -# We assume that (a) the C compiler can both compile and link programs -# -# Handling of command-line options: -# This is a little tricky because some options may contain blanks. -# -# Special issues with shared libraries - todo -# -# -------------------------------------------------------------------------- -# Set the default values of all variables. -# -# Directory locations: Fixed for any MPI implementation. -# Set from the directory arguments to configure (e.g., --prefix=/usr/local) -prefix=/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/default -exec_prefix=${prefix} -sysconfdir=${prefix}/etc -includedir=${prefix}/include -libdir=${exec_prefix}/lib - -CP_WRAPPERS=@CP_WRAPPERS@ -DARSHAN_LIB_PATH=@darshan_lib_path@ -DARSHAN_BIN_PATH=@darshan_bin_path@ -CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@ - -# -# Default settings for compiler, flags, and libraries -# Determined by a combination of environment variables and tests within -# configure (e.g., determining whehter -lsocket is needee) -FC="/opt/ibmcmp/xlf/bg/11.1/bin/bgxlf2003" -FC_LINKPATH_SHL="-Wl,-rpath -Wl," -F77CPP="" -WRAPPER_FFLAGS="-I/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/include" -WRAPPER_LDFLAGS="" -MPILIBNAME="mpich.cnk" -PMPILIBNAME="pmpich.cnk" -MPI_OTHERLIBS=" -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -ldcmfcoll.cnk -ldcmf.cnk -lpthread -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -lSPI.cna -lrt" -NEEDSPLIB="no" -# -# MPIVERSION is the version of the MPICH2 library for which mpif77 is intended -MPIVERSION="1.0.7" -# -# Internal variables -# Show is set to echo to cause the compilation command to be echoed instead -# of executed. -Show= -# -# End of initialization of variables -#--------------------------------------------------------------------- -# Environment Variables. -# The environment variables MPICH_F77 may be used to override the -# default choices. -# In addition, if there is a file $sysconfdir/mpif77-$F77name.conf, -# where F77name is the name of the compiler with all spaces replaced by hyphens -# (e.g., "f77 -64" becomes "f77--64", that file is sources, allowing other -# changes to the compilation environment. See the variables used by the -# script (defined above) -if [ -n "$MPICH_F77" ] ; then - FC="$MPICH_F77" - F77name=`echo $FC | sed 's/ /-/g'` - if [ -s $sysconfdir/mpif77-$F77name.conf ] ; then - . $sysconfdir/mpif77-$F77name.conf - fi -fi -# Allow a profiling option to be selected through an environment variable -if [ -n "$MPIF77_PROFILE" ] ; then - profConf=$MPIF77_PROFILE -fi -# -# ------------------------------------------------------------------------ -# Argument processing. -# This is somewhat awkward because of the handling of arguments within -# the shell. We want to handle arguments that include spaces without -# loosing the spacing (an alternative would be to use a more powerful -# scripting language that would allow us to retain the array of values, -# which the basic (rather than enhanced) Bourne shell does not. -# -# Look through the arguments for arguments that indicate compile only. -# If these are *not* found, add the library options - -linking=yes -allargs=("$@") -argno=0 -cppflags=() -for arg in "$@" ; do - # Set addarg to no if this arg should be ignored by the C compiler - addarg=yes - case "$arg" in - # ---------------------------------------------------------------- - # Compiler options that affect whether we are linking or no - -c|-S|-E|-M|-MM) - # The compiler links by default - linking=no - ;; - # ---------------------------------------------------------------- - # Options that control how we use mpif77 (e.g., -show, - # -f77=* -config=* - -echo) - addarg=no - set -x - ;; - - -f77=*) - FC=`echo A$arg | sed -e 's/A-f77=//g'` - addarg=no - ;; - -fc=*) - FC=`echo A$arg | sed -e 's/A-fc=//g'` - addarg=no - ;; - - -show) - addarg=no - Show=echo - ;; - -config=*) - addarg=no - F77name=`echo A$arg | sed -e 's/A-config=//g'` - if [ -s "$sysconfdir/mpif77-$F77name.conf" ] ; then - . "$sysconfdir/mpif77-$F77name.conf" - else - echo "Configuration file mpif77-$F77name.conf not found" - fi - ;; - -compile-info|-compile_info) - # -compile_info included for backward compatibility - Show=echo - addarg=no - ;; - -link-info|-link_info) - # -link_info included for backward compatibility - Show=echo - addarg=no - ;; - -v) - # Pass this argument to the compiler as well. - echo "mpif77 for $MPIVERSION" - linking=no - ;; - -profile=*) - # Pass the name of a profiling configuration. As - # a special case, lib.so or lib.la may be used - # if the library is in $libdir - profConf=`echo A$arg | sed -e 's/A-profile=//g'` - addarg=no - # Loading the profConf file is handled below - ;; - -mpe=*) - # Pass the name of a profiling configuration; this is a special - # case for the MPE libs. See -profile - profConf=`echo A$arg | sed -e 's/A-mpe=//g'` - profConf="mpe_$profConf" - addarg=no - # Loading the profConf file is handled below - ;; - # -help - -help) - ;; - # The following are special args used to handle .F files when the - # Fortran compiler itself does not handle these options - -I*) - cppflags[${#cppflags}]="$arg" - ;; - -D*) - cppflags[${#cppflags}]="$arg" - ;; - *.F|*.F90|*.fpp|*.FPP) -# If F77CPP is not empty, then we need to do the following: -# If any input files have the .F or .F90 extension, then -# If F77CPP = false, then -# generate an error message and exit -# Use F77CPP to convert the file from .F to .f, using -# $TMPDIR/f$$-$count.f as the output file name -# Replace the input file with this name in the args -# This is needed only for very broken systems -# - if [ -n "$F77CPP" ] ; then - if [ "$F77CPP" = "false" ] ; then - echo "This Fortran compiler does not accept .F or .F90 files" - exit 1 - fi - addarg=no - # Remove and directory names and extension - $ext=`expr "$arg" : '.*\(\..*\)'` - bfile=`basename $arg $ext` - # - TMPDIR=${TMPDIR:-/tmp} - tmpfile=$TMPDIR/f$$-$bfile.f - if $F77CPP "${cppflags[@]}" $arg > $tmpfile ; then - # Add this file to the commandline list - count=`expr $count + 1` - allargs[${#allargs}]="$tmpfile" - rmfiles="$rmfiles $tmpfile" - else - echo "Aborting compilation because of failure in preprocessing step" - echo "for file $arg ." - exit 1 - fi - fi - # Otherwise, just accept the argument - ;; - # - end of special handling for .F files - - esac - if [ $addarg = no ] ; then - unset allargs[$argno] - fi - # Some versions of bash do not accept ((argno++)) - argno=`expr $argno + 1` -done - -# ----------------------------------------------------------------------- -# Derived variables. These are assembled from variables set from the -# default, environment, configuration file (if any) and command-line -# options (if any) -if [ "$NEEDSPLIB" = yes ] ; then - mpilibs="-l$PMPILIBNAME -l$MPILIBNAME" -else - mpilibs="-l$MPILIBNAME" -fi -# -# Init with the ones needed by MPI -FFLAGS="$WRAPPER_FFLAGS" -LDFLAGS="$WRAPPER_LDFLAGS" -# -# Handle the case of a profile switch -if [ -n "$profConf" ] ; then - profConffile= - if [ -s "$libdir/lib$profConf.a" -o -s "$libdir/lib$profConf.so" ] ; then - mpilibs="-l$profConf $mpilibs" - elif [ -s "$sysconfdir/$profConf.conf" ] ; then - profConffile="$sysconfdir/$profConf.conf" - elif [ -s "$profConf.conf" ] ; then - profConffile="$profConf.conf" - else - echo "Profiling configuration file $profConf.conf not found in $sysconfdir" - fi - if [ -n "$profConffile" -a -s "$profConffile" ] ; then - . $profConffile - if [ -n "$PROFILE_INCPATHS" ] ; then - FFLAGS="$PROFILE_INCPATHS $FFLAGS" - fi - if [ -n "$PROFILE_PRELIB" ] ; then - mpilibs="$PROFILE_PRELIB $mpilibs" - fi - if [ -n "$PROFILE_POSTLIB" ] ; then - mpilibs="$mpilibs $PROFILE_POSTLIB" - fi - fi -fi -# -# A temporary statement to invoke the compiler -# Place the -L before any args incase there are any mpi libraries in there. -# Eventually, we'll want to move this after any non-MPI implementation -# libraries -# -if [ "$linking" = yes ] ; then - if [ -n "$FC_LINKPATH_SHL" ] ; then - # Prepend the path for the shared libraries to the library list - mpilibs="$FC_LINKPATH_SHL$libdir $mpilibs" - fi - # check to see if the command line refers to any profilers that might - # use PMPI. - profiler_check=`echo "${allargs[@]}" | ${DARSHAN_BIN_PATH}/darshan-pmpi-filter.sh` - if [ "$profiler_check" = "" ] ; then - # If we link link darshan-mpi-io before system mpi lib, we don't get a - # trace but if we don't link it early enough, we get undefined MPI symbols. - # Seems like listing the darshan libs twice does the trick - $Show $FC "${allargs[@]}" -L${DARSHAN_LIB_PATH} -lfmpich.cnk \ - -ldarshan-posix -ldarshan-mpi-io \ - -I$includedir $FFLAGS ${CP_WRAPPERS} $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS \ - -L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} -ldarshan-posix -ldarshan-mpi-io -lz - else - $Show $FC "${allargs[@]}" -I$includedir $FFLAGS $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS - fi - rc=$? -else - $Show $FC "${allargs[@]}" -I$includedir $FFLAGS - rc=$? -fi -if [ -n "$rmfiles" ] ; then - for file in $rmfiles ; do - objfile=`basename $file .f` - if [ -s "${objfile}.o" ] ; then - # Rename - destfile=`echo $objfile | sed -e "s/.*$$-//"` - mv -f ${objfile}.o ${destfile}.o - fi - rm -f $file - done - rm -f $rmfiles -fi -exit $rc diff --git a/compilers/mpixlf2003_r-trace-bgp-V1R3.in b/compilers/mpixlf2003_r-trace-bgp-V1R3.in deleted file mode 100755 index bbd51c9..0000000 --- a/compilers/mpixlf2003_r-trace-bgp-V1R3.in +++ /dev/null @@ -1,311 +0,0 @@ -#! /bin/sh -# -# (C) 2006 by Argonne National Laboratory. -# See COPYRIGHT in top-level directory. -# -# mpif77 -# Simple script to compile and/or link MPI programs. -# This script knows the default flags and libraries, and can handle -# alternative C compilers and the associated flags and libraries. -# The important terms are: -# includedir, libdir - Directories containing an *installed* mpich2 -# prefix, execprefix - Often used to define includedir and libdir -# FC - Fortran 77 compiler -# WRAPPER_FFLAGS - Any special flags needed to compile -# WRAPPER_LDFLAGS - Any special flags needed to link -# MPILIBNAME - Name of the MPI library -# MPI_OTHERLIBS - Other libraries needed in order to link -# F77_OTHER_LIBS - Yet more libraries, needed just with F77 -# -# -# We assume that (a) the C compiler can both compile and link programs -# -# Handling of command-line options: -# This is a little tricky because some options may contain blanks. -# -# Special issues with shared libraries - todo -# -# -------------------------------------------------------------------------- -# Set the default values of all variables. -# -# Directory locations: Fixed for any MPI implementation. -# Set from the directory arguments to configure (e.g., --prefix=/usr/local) -prefix=/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/default -exec_prefix=${prefix} -sysconfdir=${prefix}/etc -includedir=${prefix}/include -libdir=${exec_prefix}/lib - -CP_WRAPPERS=@CP_WRAPPERS@ -DARSHAN_LIB_PATH=@darshan_lib_path@ -DARSHAN_BIN_PATH=@darshan_bin_path@ -CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@ - -# -# Default settings for compiler, flags, and libraries -# Determined by a combination of environment variables and tests within -# configure (e.g., determining whehter -lsocket is needee) -FC="/opt/ibmcmp/xlf/bg/11.1/bin/bgxlf2003_r" -FC_LINKPATH_SHL="-Wl,-rpath -Wl," -F77CPP="" -WRAPPER_FFLAGS="-I/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/include" -WRAPPER_LDFLAGS=" " -MPILIBNAME="mpich.cnk" -PMPILIBNAME="pmpich.cnk" -MPI_OTHERLIBS=" -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -ldcmfcoll.cnk -ldcmf.cnk -lpthread -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -lSPI.cna -lrt " -NEEDSPLIB="no" -# -# MPIVERSION is the version of the MPICH2 library for which mpif77 is intended -MPIVERSION="1.0.7" -# -# Internal variables -# Show is set to echo to cause the compilation command to be echoed instead -# of executed. -Show= -# -# End of initialization of variables -#--------------------------------------------------------------------- -# Environment Variables. -# The environment variables MPICH_F77 may be used to override the -# default choices. -# In addition, if there is a file $sysconfdir/mpif77-$F77name.conf, -# where F77name is the name of the compiler with all spaces replaced by hyphens -# (e.g., "f77 -64" becomes "f77--64", that file is sources, allowing other -# changes to the compilation environment. See the variables used by the -# script (defined above) -if [ -n "$MPICH_F77" ] ; then - FC="$MPICH_F77" - F77name=`echo $FC | sed 's/ /-/g'` - if [ -s $sysconfdir/mpif77-$F77name.conf ] ; then - . $sysconfdir/mpif77-$F77name.conf - fi -fi -# Allow a profiling option to be selected through an environment variable -if [ -n "$MPIF77_PROFILE" ] ; then - profConf=$MPIF77_PROFILE -fi -# -# ------------------------------------------------------------------------ -# Argument processing. -# This is somewhat awkward because of the handling of arguments within -# the shell. We want to handle arguments that include spaces without -# loosing the spacing (an alternative would be to use a more powerful -# scripting language that would allow us to retain the array of values, -# which the basic (rather than enhanced) Bourne shell does not. -# -# Look through the arguments for arguments that indicate compile only. -# If these are *not* found, add the library options - -linking=yes -allargs=("$@") -argno=0 -cppflags=() -for arg in "$@" ; do - # Set addarg to no if this arg should be ignored by the C compiler - addarg=yes - case "$arg" in - # ---------------------------------------------------------------- - # Compiler options that affect whether we are linking or no - -c|-S|-E|-M|-MM) - # The compiler links by default - linking=no - ;; - # ---------------------------------------------------------------- - # Options that control how we use mpif77 (e.g., -show, - # -f77=* -config=* - -echo) - addarg=no - set -x - ;; - - -f77=*) - FC=`echo A$arg | sed -e 's/A-f77=//g'` - addarg=no - ;; - -fc=*) - FC=`echo A$arg | sed -e 's/A-fc=//g'` - addarg=no - ;; - - -show) - addarg=no - Show=echo - ;; - -config=*) - addarg=no - F77name=`echo A$arg | sed -e 's/A-config=//g'` - if [ -s "$sysconfdir/mpif77-$F77name.conf" ] ; then - . "$sysconfdir/mpif77-$F77name.conf" - else - echo "Configuration file mpif77-$F77name.conf not found" - fi - ;; - -compile-info|-compile_info) - # -compile_info included for backward compatibility - Show=echo - addarg=no - ;; - -link-info|-link_info) - # -link_info included for backward compatibility - Show=echo - addarg=no - ;; - -v) - # Pass this argument to the compiler as well. - echo "mpif77 for $MPIVERSION" - linking=no - ;; - -profile=*) - # Pass the name of a profiling configuration. As - # a special case, lib.so or lib.la may be used - # if the library is in $libdir - profConf=`echo A$arg | sed -e 's/A-profile=//g'` - addarg=no - # Loading the profConf file is handled below - ;; - -mpe=*) - # Pass the name of a profiling configuration; this is a special - # case for the MPE libs. See -profile - profConf=`echo A$arg | sed -e 's/A-mpe=//g'` - profConf="mpe_$profConf" - addarg=no - # Loading the profConf file is handled below - ;; - # -help - -help) - ;; - # The following are special args used to handle .F files when the - # Fortran compiler itself does not handle these options - -I*) - cppflags[${#cppflags}]="$arg" - ;; - -D*) - cppflags[${#cppflags}]="$arg" - ;; - *.F|*.F90|*.fpp|*.FPP) -# If F77CPP is not empty, then we need to do the following: -# If any input files have the .F or .F90 extension, then -# If F77CPP = false, then -# generate an error message and exit -# Use F77CPP to convert the file from .F to .f, using -# $TMPDIR/f$$-$count.f as the output file name -# Replace the input file with this name in the args -# This is needed only for very broken systems -# - if [ -n "$F77CPP" ] ; then - if [ "$F77CPP" = "false" ] ; then - echo "This Fortran compiler does not accept .F or .F90 files" - exit 1 - fi - addarg=no - # Remove and directory names and extension - $ext=`expr "$arg" : '.*\(\..*\)'` - bfile=`basename $arg $ext` - # - TMPDIR=${TMPDIR:-/tmp} - tmpfile=$TMPDIR/f$$-$bfile.f - if $F77CPP "${cppflags[@]}" $arg > $tmpfile ; then - # Add this file to the commandline list - count=`expr $count + 1` - allargs[${#allargs}]="$tmpfile" - rmfiles="$rmfiles $tmpfile" - else - echo "Aborting compilation because of failure in preprocessing step" - echo "for file $arg ." - exit 1 - fi - fi - # Otherwise, just accept the argument - ;; - # - end of special handling for .F files - - esac - if [ $addarg = no ] ; then - unset allargs[$argno] - fi - # Some versions of bash do not accept ((argno++)) - argno=`expr $argno + 1` -done - -# ----------------------------------------------------------------------- -# Derived variables. These are assembled from variables set from the -# default, environment, configuration file (if any) and command-line -# options (if any) -if [ "$NEEDSPLIB" = yes ] ; then - mpilibs="-l$PMPILIBNAME -l$MPILIBNAME" -else - mpilibs="-l$MPILIBNAME" -fi -# -# Init with the ones needed by MPI -FFLAGS="$WRAPPER_FFLAGS" -LDFLAGS="$WRAPPER_LDFLAGS" -# -# Handle the case of a profile switch -if [ -n "$profConf" ] ; then - profConffile= - if [ -s "$libdir/lib$profConf.a" -o -s "$libdir/lib$profConf.so" ] ; then - mpilibs="-l$profConf $mpilibs" - elif [ -s "$sysconfdir/$profConf.conf" ] ; then - profConffile="$sysconfdir/$profConf.conf" - elif [ -s "$profConf.conf" ] ; then - profConffile="$profConf.conf" - else - echo "Profiling configuration file $profConf.conf not found in $sysconfdir" - fi - if [ -n "$profConffile" -a -s "$profConffile" ] ; then - . $profConffile - if [ -n "$PROFILE_INCPATHS" ] ; then - FFLAGS="$PROFILE_INCPATHS $FFLAGS" - fi - if [ -n "$PROFILE_PRELIB" ] ; then - mpilibs="$PROFILE_PRELIB $mpilibs" - fi - if [ -n "$PROFILE_POSTLIB" ] ; then - mpilibs="$mpilibs $PROFILE_POSTLIB" - fi - fi -fi -# -# A temporary statement to invoke the compiler -# Place the -L before any args incase there are any mpi libraries in there. -# Eventually, we'll want to move this after any non-MPI implementation -# libraries -# -if [ "$linking" = yes ] ; then - if [ -n "$FC_LINKPATH_SHL" ] ; then - # Prepend the path for the shared libraries to the library list - mpilibs="$FC_LINKPATH_SHL$libdir $mpilibs" - fi - # check to see if the command line refers to any profilers that might - # use PMPI. - profiler_check=`echo "${allargs[@]}" | ${DARSHAN_BIN_PATH}/darshan-pmpi-filter.sh` - if [ "$profiler_check" = "" ] ; then - # If we link link darshan-mpi-io before system mpi lib, we don't get a - # trace but if we don't link it early enough, we get undefined MPI symbols. - # Seems like listing the darshan libs twice does the trick - $Show $FC "${allargs[@]}" -L${DARSHAN_LIB_PATH} -lfmpich.cnk \ - -ldarshan-posix -ldarshan-mpi-io \ - -I$includedir $FFLAGS ${CP_WRAPPERS} $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS \ - -L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} -ldarshan-posix -ldarshan-mpi-io -lz - else - $Show $FC "${allargs[@]}" -I$includedir $FFLAGS $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS - fi - rc=$? -else - $Show $FC "${allargs[@]}" -I$includedir $FFLAGS - rc=$? -fi -if [ -n "$rmfiles" ] ; then - for file in $rmfiles ; do - objfile=`basename $file .f` - if [ -s "${objfile}.o" ] ; then - # Rename - destfile=`echo $objfile | sed -e "s/.*$$-//"` - mv -f ${objfile}.o ${destfile}.o - fi - rm -f $file - done - rm -f $rmfiles -fi -exit $rc diff --git a/compilers/mpixlf77-trace-bgp-V1R3.in b/compilers/mpixlf77-trace-bgp-V1R3.in deleted file mode 100755 index 7af075b..0000000 --- a/compilers/mpixlf77-trace-bgp-V1R3.in +++ /dev/null @@ -1,314 +0,0 @@ -#! /bin/sh -# -# (C) 2006 by Argonne National Laboratory. -# See COPYRIGHT in top-level directory. -# -# NOTE: this script has been modified to automatically link in the darshan -# characterization libraries. See www.mcs.anl.gov/research/projects/darshan -# -# mpif77 -# Simple script to compile and/or link MPI programs. -# This script knows the default flags and libraries, and can handle -# alternative C compilers and the associated flags and libraries. -# The important terms are: -# includedir, libdir - Directories containing an *installed* mpich2 -# prefix, execprefix - Often used to define includedir and libdir -# FC - Fortran 77 compiler -# WRAPPER_FFLAGS - Any special flags needed to compile -# WRAPPER_LDFLAGS - Any special flags needed to link -# MPILIBNAME - Name of the MPI library -# MPI_OTHERLIBS - Other libraries needed in order to link -# F77_OTHER_LIBS - Yet more libraries, needed just with F77 -# -# -# We assume that (a) the C compiler can both compile and link programs -# -# Handling of command-line options: -# This is a little tricky because some options may contain blanks. -# -# Special issues with shared libraries - todo -# -# -------------------------------------------------------------------------- -# Set the default values of all variables. -# -# Directory locations: Fixed for any MPI implementation. -# Set from the directory arguments to configure (e.g., --prefix=/usr/local) -prefix=/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/default -exec_prefix=${prefix} -sysconfdir=${prefix}/etc -includedir=${prefix}/include -libdir=${exec_prefix}/lib - -CP_WRAPPERS=@CP_WRAPPERS@ -DARSHAN_LIB_PATH=@darshan_lib_path@ -DARSHAN_BIN_PATH=@darshan_bin_path@ -CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@ - -# -# Default settings for compiler, flags, and libraries -# Determined by a combination of environment variables and tests within -# configure (e.g., determining whehter -lsocket is needee) -FC="/opt/ibmcmp/xlf/bg/11.1/bin/bgxlf" -FC_LINKPATH_SHL="-Wl,-rpath -Wl," -F77CPP="" -WRAPPER_FFLAGS="-I/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/include " -WRAPPER_LDFLAGS="" -MPILIBNAME="mpich.cnk" -PMPILIBNAME="pmpich.cnk" -MPI_OTHERLIBS=" -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -ldcmfcoll.cnk -ldcmf.cnk -lpthread -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -lSPI.cna -lrt" -NEEDSPLIB="no" -# -# MPIVERSION is the version of the MPICH2 library for which mpif77 is intended -MPIVERSION="1.0.7" -# -# Internal variables -# Show is set to echo to cause the compilation command to be echoed instead -# of executed. -Show= -# -# End of initialization of variables -#--------------------------------------------------------------------- -# Environment Variables. -# The environment variables MPICH_F77 may be used to override the -# default choices. -# In addition, if there is a file $sysconfdir/mpif77-$F77name.conf, -# where F77name is the name of the compiler with all spaces replaced by hyphens -# (e.g., "f77 -64" becomes "f77--64", that file is sources, allowing other -# changes to the compilation environment. See the variables used by the -# script (defined above) -if [ -n "$MPICH_F77" ] ; then - FC="$MPICH_F77" - F77name=`echo $FC | sed 's/ /-/g'` - if [ -s $sysconfdir/mpif77-$F77name.conf ] ; then - . $sysconfdir/mpif77-$F77name.conf - fi -fi -# Allow a profiling option to be selected through an environment variable -if [ -n "$MPIF77_PROFILE" ] ; then - profConf=$MPIF77_PROFILE -fi -# -# ------------------------------------------------------------------------ -# Argument processing. -# This is somewhat awkward because of the handling of arguments within -# the shell. We want to handle arguments that include spaces without -# loosing the spacing (an alternative would be to use a more powerful -# scripting language that would allow us to retain the array of values, -# which the basic (rather than enhanced) Bourne shell does not. -# -# Look through the arguments for arguments that indicate compile only. -# If these are *not* found, add the library options - -linking=yes -allargs=("$@") -argno=0 -cppflags=() -for arg in "$@" ; do - # Set addarg to no if this arg should be ignored by the C compiler - addarg=yes - case "$arg" in - # ---------------------------------------------------------------- - # Compiler options that affect whether we are linking or no - -c|-S|-E|-M|-MM) - # The compiler links by default - linking=no - ;; - # ---------------------------------------------------------------- - # Options that control how we use mpif77 (e.g., -show, - # -f77=* -config=* - -echo) - addarg=no - set -x - ;; - - -f77=*) - FC=`echo A$arg | sed -e 's/A-f77=//g'` - addarg=no - ;; - -fc=*) - FC=`echo A$arg | sed -e 's/A-fc=//g'` - addarg=no - ;; - - -show) - addarg=no - Show=echo - ;; - -config=*) - addarg=no - F77name=`echo A$arg | sed -e 's/A-config=//g'` - if [ -s "$sysconfdir/mpif77-$F77name.conf" ] ; then - . "$sysconfdir/mpif77-$F77name.conf" - else - echo "Configuration file mpif77-$F77name.conf not found" - fi - ;; - -compile-info|-compile_info) - # -compile_info included for backward compatibility - Show=echo - addarg=no - ;; - -link-info|-link_info) - # -link_info included for backward compatibility - Show=echo - addarg=no - ;; - -v) - # Pass this argument to the compiler as well. - echo "mpif77 for $MPIVERSION" - linking=no - ;; - -profile=*) - # Pass the name of a profiling configuration. As - # a special case, lib.so or lib.la may be used - # if the library is in $libdir - profConf=`echo A$arg | sed -e 's/A-profile=//g'` - addarg=no - # Loading the profConf file is handled below - ;; - -mpe=*) - # Pass the name of a profiling configuration; this is a special - # case for the MPE libs. See -profile - profConf=`echo A$arg | sed -e 's/A-mpe=//g'` - profConf="mpe_$profConf" - addarg=no - # Loading the profConf file is handled below - ;; - # -help - -help) - ;; - # The following are special args used to handle .F files when the - # Fortran compiler itself does not handle these options - -I*) - cppflags[${#cppflags}]="$arg" - ;; - -D*) - cppflags[${#cppflags}]="$arg" - ;; - *.F|*.F90|*.fpp|*.FPP) -# If F77CPP is not empty, then we need to do the following: -# If any input files have the .F or .F90 extension, then -# If F77CPP = false, then -# generate an error message and exit -# Use F77CPP to convert the file from .F to .f, using -# $TMPDIR/f$$-$count.f as the output file name -# Replace the input file with this name in the args -# This is needed only for very broken systems -# - if [ -n "$F77CPP" ] ; then - if [ "$F77CPP" = "false" ] ; then - echo "This Fortran compiler does not accept .F or .F90 files" - exit 1 - fi - addarg=no - # Remove and directory names and extension - $ext=`expr "$arg" : '.*\(\..*\)'` - bfile=`basename $arg $ext` - # - TMPDIR=${TMPDIR:-/tmp} - tmpfile=$TMPDIR/f$$-$bfile.f - if $F77CPP "${cppflags[@]}" $arg > $tmpfile ; then - # Add this file to the commandline list - count=`expr $count + 1` - allargs[${#allargs}]="$tmpfile" - rmfiles="$rmfiles $tmpfile" - else - echo "Aborting compilation because of failure in preprocessing step" - echo "for file $arg ." - exit 1 - fi - fi - # Otherwise, just accept the argument - ;; - # - end of special handling for .F files - - esac - if [ $addarg = no ] ; then - unset allargs[$argno] - fi - # Some versions of bash do not accept ((argno++)) - argno=`expr $argno + 1` -done - -# ----------------------------------------------------------------------- -# Derived variables. These are assembled from variables set from the -# default, environment, configuration file (if any) and command-line -# options (if any) -if [ "$NEEDSPLIB" = yes ] ; then - mpilibs="-l$PMPILIBNAME -l$MPILIBNAME" -else - mpilibs="-l$MPILIBNAME" -fi -# -# Init with the ones needed by MPI -FFLAGS="$WRAPPER_FFLAGS" -LDFLAGS="$WRAPPER_LDFLAGS" -# -# Handle the case of a profile switch -if [ -n "$profConf" ] ; then - profConffile= - if [ -s "$libdir/lib$profConf.a" -o -s "$libdir/lib$profConf.so" ] ; then - mpilibs="-l$profConf $mpilibs" - elif [ -s "$sysconfdir/$profConf.conf" ] ; then - profConffile="$sysconfdir/$profConf.conf" - elif [ -s "$profConf.conf" ] ; then - profConffile="$profConf.conf" - else - echo "Profiling configuration file $profConf.conf not found in $sysconfdir" - fi - if [ -n "$profConffile" -a -s "$profConffile" ] ; then - . $profConffile - if [ -n "$PROFILE_INCPATHS" ] ; then - FFLAGS="$PROFILE_INCPATHS $FFLAGS" - fi - if [ -n "$PROFILE_PRELIB" ] ; then - mpilibs="$PROFILE_PRELIB $mpilibs" - fi - if [ -n "$PROFILE_POSTLIB" ] ; then - mpilibs="$mpilibs $PROFILE_POSTLIB" - fi - fi -fi -# -# A temporary statement to invoke the compiler -# Place the -L before any args incase there are any mpi libraries in there. -# Eventually, we'll want to move this after any non-MPI implementation -# libraries -# -if [ "$linking" = yes ] ; then - if [ -n "$FC_LINKPATH_SHL" ] ; then - # Prepend the path for the shared libraries to the library list - mpilibs="$FC_LINKPATH_SHL$libdir $mpilibs" - fi - # check to see if the command line refers to any profilers that might - # use PMPI. - profiler_check=`echo "${allargs[@]}" | ${DARSHAN_BIN_PATH}/darshan-pmpi-filter.sh` - if [ "$profiler_check" = "" ] ; then - # If we link link darshan-mpi-io before system mpi lib, we don't get a - # trace but if we don't link it early enough, we get undefined MPI symbols. - # Seems like listing the darshan libs twice does the trick - $Show $FC "${allargs[@]}" -L${DARSHAN_LIB_PATH} -lfmpich.cnk \ - -ldarshan-posix -ldarshan-mpi-io \ - -I$includedir $FFLAGS ${CP_WRAPPERS} $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS \ - -L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} -ldarshan-posix -ldarshan-mpi-io -lz - else - $Show $FC "${allargs[@]}" -I$includedir $FFLAGS $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS - fi - rc=$? -else - $Show $FC "${allargs[@]}" -I$includedir $FFLAGS - rc=$? -fi -if [ -n "$rmfiles" ] ; then - for file in $rmfiles ; do - objfile=`basename $file .f` - if [ -s "${objfile}.o" ] ; then - # Rename - destfile=`echo $objfile | sed -e "s/.*$$-//"` - mv -f ${objfile}.o ${destfile}.o - fi - rm -f $file - done - rm -f $rmfiles -fi -exit $rc diff --git a/compilers/mpixlf77_r-trace-bgp-V1R3.in b/compilers/mpixlf77_r-trace-bgp-V1R3.in deleted file mode 100755 index b6ac4d5..0000000 --- a/compilers/mpixlf77_r-trace-bgp-V1R3.in +++ /dev/null @@ -1,313 +0,0 @@ -#! /bin/sh -# -# (C) 2006 by Argonne National Laboratory. -# See COPYRIGHT in top-level directory. -# -# mpif77 -# Simple script to compile and/or link MPI programs. -# This script knows the default flags and libraries, and can handle -# alternative C compilers and the associated flags and libraries. -# The important terms are: -# includedir, libdir - Directories containing an *installed* mpich2 -# prefix, execprefix - Often used to define includedir and libdir -# FC - Fortran 77 compiler -# WRAPPER_FFLAGS - Any special flags needed to compile -# WRAPPER_LDFLAGS - Any special flags needed to link -# MPILIBNAME - Name of the MPI library -# MPI_OTHERLIBS - Other libraries needed in order to link -# F77_OTHER_LIBS - Yet more libraries, needed just with F77 -# -# -# We assume that (a) the C compiler can both compile and link programs -# -# Handling of command-line options: -# This is a little tricky because some options may contain blanks. -# -# Special issues with shared libraries - todo -# -# -------------------------------------------------------------------------- -# Set the default values of all variables. -# -# Directory locations: Fixed for any MPI implementation. -# Set from the directory arguments to configure (e.g., --prefix=/usr/local) -prefix=/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/default -exec_prefix=${prefix} -sysconfdir=${prefix}/etc -includedir=${prefix}/include -libdir=${exec_prefix}/lib - -CP_WRAPPERS=@CP_WRAPPERS@ -DARSHAN_LIB_PATH=@darshan_lib_path@ -DARSHAN_BIN_PATH=@darshan_bin_path@ -CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@ - -# -# Default settings for compiler, flags, and libraries -# Determined by a combination of environment variables and tests within -# configure (e.g., determining whehter -lsocket is needee) -FC="/opt/ibmcmp/xlf/bg/11.1/bin/bgxlf_r" -FC_LINKPATH_SHL="-Wl,-rpath -Wl," -F77CPP="" -WRAPPER_FFLAGS="-I/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/include" -WRAPPER_LDFLAGS=" " -MPILIBNAME="mpich.cnk" -PMPILIBNAME="pmpich.cnk" -MPI_OTHERLIBS=" -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -ldcmfcoll.cnk -ldcmf.cnk -lpthread -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -lSPI.cna -lrt " -NEEDSPLIB="no" -# -# MPIVERSION is the version of the MPICH2 library for which mpif77 is intended -MPIVERSION="1.0.7" -# -# Internal variables -# Show is set to echo to cause the compilation command to be echoed instead -# of executed. -Show= -# -# End of initialization of variables -#--------------------------------------------------------------------- -# Environment Variables. -# The environment variables MPICH_F77 may be used to override the -# default choices. -# In addition, if there is a file $sysconfdir/mpif77-$F77name.conf, -# where F77name is the name of the compiler with all spaces replaced by hyphens -# (e.g., "f77 -64" becomes "f77--64", that file is sources, allowing other -# changes to the compilation environment. See the variables used by the -# script (defined above) -if [ -n "$MPICH_F77" ] ; then - FC="$MPICH_F77" - F77name=`echo $FC | sed 's/ /-/g'` - if [ -s $sysconfdir/mpif77-$F77name.conf ] ; then - . $sysconfdir/mpif77-$F77name.conf - fi -fi -# Allow a profiling option to be selected through an environment variable -if [ -n "$MPIF77_PROFILE" ] ; then - profConf=$MPIF77_PROFILE -fi -# -# ------------------------------------------------------------------------ -# Argument processing. -# This is somewhat awkward because of the handling of arguments within -# the shell. We want to handle arguments that include spaces without -# loosing the spacing (an alternative would be to use a more powerful -# scripting language that would allow us to retain the array of values, -# which the basic (rather than enhanced) Bourne shell does not. -# -# Look through the arguments for arguments that indicate compile only. -# If these are *not* found, add the library options - -linking=yes -allargs=("$@") -argno=0 -cppflags=() -for arg in "$@" ; do - # Set addarg to no if this arg should be ignored by the C compiler - addarg=yes - case "$arg" in - # ---------------------------------------------------------------- - # Compiler options that affect whether we are linking or no - -c|-S|-E|-M|-MM) - # The compiler links by default - linking=no - ;; - # ---------------------------------------------------------------- - # Options that control how we use mpif77 (e.g., -show, - # -f77=* -config=* - -echo) - addarg=no - set -x - ;; - - -f77=*) - FC=`echo A$arg | sed -e 's/A-f77=//g'` - addarg=no - ;; - -fc=*) - FC=`echo A$arg | sed -e 's/A-fc=//g'` - addarg=no - ;; - - -show) - addarg=no - Show=echo - ;; - -config=*) - addarg=no - F77name=`echo A$arg | sed -e 's/A-config=//g'` - if [ -s "$sysconfdir/mpif77-$F77name.conf" ] ; then - . "$sysconfdir/mpif77-$F77name.conf" - else - echo "Configuration file mpif77-$F77name.conf not found" - fi - ;; - -compile-info|-compile_info) - # -compile_info included for backward compatibility - Show=echo - addarg=no - ;; - -link-info|-link_info) - # -link_info included for backward compatibility - Show=echo - addarg=no - ;; - -v) - # Pass this argument to the compiler as well. - echo "mpif77 for $MPIVERSION" - linking=no - ;; - -profile=*) - # Pass the name of a profiling configuration. As - # a special case, lib.so or lib.la may be used - # if the library is in $libdir - profConf=`echo A$arg | sed -e 's/A-profile=//g'` - addarg=no - # Loading the profConf file is handled below - ;; - -mpe=*) - # Pass the name of a profiling configuration; this is a special - # case for the MPE libs. See -profile - profConf=`echo A$arg | sed -e 's/A-mpe=//g'` - profConf="mpe_$profConf" - addarg=no - # Loading the profConf file is handled below - ;; - # -help - -help) - ;; - # The following are special args used to handle .F files when the - # Fortran compiler itself does not handle these options - -I*) - cppflags[${#cppflags}]="$arg" - ;; - -D*) - cppflags[${#cppflags}]="$arg" - ;; - *.F|*.F90|*.fpp|*.FPP) -# If F77CPP is not empty, then we need to do the following: -# If any input files have the .F or .F90 extension, then -# If F77CPP = false, then -# generate an error message and exit -# Use F77CPP to convert the file from .F to .f, using -# $TMPDIR/f$$-$count.f as the output file name -# Replace the input file with this name in the args -# This is needed only for very broken systems -# - if [ -n "$F77CPP" ] ; then - if [ "$F77CPP" = "false" ] ; then - echo "This Fortran compiler does not accept .F or .F90 files" - exit 1 - fi - addarg=no - # Remove and directory names and extension - $ext=`expr "$arg" : '.*\(\..*\)'` - bfile=`basename $arg $ext` - # - TMPDIR=${TMPDIR:-/tmp} - tmpfile=$TMPDIR/f$$-$bfile.f - if $F77CPP "${cppflags[@]}" $arg > $tmpfile ; then - # Add this file to the commandline list - count=`expr $count + 1` - allargs[${#allargs}]="$tmpfile" - rmfiles="$rmfiles $tmpfile" - else - echo "Aborting compilation because of failure in preprocessing step" - echo "for file $arg ." - exit 1 - fi - fi - # Otherwise, just accept the argument - ;; - # - end of special handling for .F files - - esac - if [ $addarg = no ] ; then - unset allargs[$argno] - fi - # Some versions of bash do not accept ((argno++)) - argno=`expr $argno + 1` -done - -# ----------------------------------------------------------------------- -# Derived variables. These are assembled from variables set from the -# default, environment, configuration file (if any) and command-line -# options (if any) -if [ "$NEEDSPLIB" = yes ] ; then - mpilibs="-l$PMPILIBNAME -l$MPILIBNAME" -else - mpilibs="-l$MPILIBNAME" -fi -# -# Init with the ones needed by MPI -FFLAGS="$WRAPPER_FFLAGS" -LDFLAGS="$WRAPPER_LDFLAGS" -# -# Handle the case of a profile switch -if [ -n "$profConf" ] ; then - profConffile= - if [ -s "$libdir/lib$profConf.a" -o -s "$libdir/lib$profConf.so" ] ; then - mpilibs="-l$profConf $mpilibs" - elif [ -s "$sysconfdir/$profConf.conf" ] ; then - profConffile="$sysconfdir/$profConf.conf" - elif [ -s "$profConf.conf" ] ; then - profConffile="$profConf.conf" - else - echo "Profiling configuration file $profConf.conf not found in $sysconfdir" - fi - if [ -n "$profConffile" -a -s "$profConffile" ] ; then - . $profConffile - if [ -n "$PROFILE_INCPATHS" ] ; then - FFLAGS="$PROFILE_INCPATHS $FFLAGS" - fi - if [ -n "$PROFILE_PRELIB" ] ; then - mpilibs="$PROFILE_PRELIB $mpilibs" - fi - if [ -n "$PROFILE_POSTLIB" ] ; then - mpilibs="$mpilibs $PROFILE_POSTLIB" - fi - fi -fi -# -# A temporary statement to invoke the compiler -# Place the -L before any args incase there are any mpi libraries in there. -# Eventually, we'll want to move this after any non-MPI implementation -# libraries -# -if [ "$linking" = yes ] ; then - if [ -n "$FC_LINKPATH_SHL" ] ; then - # Prepend the path for the shared libraries to the library list - mpilibs="$FC_LINKPATH_SHL$libdir $mpilibs" - fi - # check to see if the command line refers to any profilers that might - # use PMPI. - profiler_check=`echo "${allargs[@]}" | ${DARSHAN_BIN_PATH}/darshan-pmpi-filter.sh` - if [ "$profiler_check" = "" ] ; then - # If we link link darshan-mpi-io before system mpi lib, we don't get - # a - # trace but if we don't link it early enough, we get undefined MPI - # symbols. - # Seems like listing the darshan libs twice does the trick - $Show $FC "${allargs[@]}" -L${DARSHAN_LIB_PATH} -lfmpich.cnk \ - -ldarshan-posix -ldarshan-mpi-io \ - -I$includedir $FFLAGS ${CP_WRAPPERS} $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS \ - -L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} -ldarshan-posix -ldarshan-mpi-io -lz - else - $Show $FC "${allargs[@]}" -I$includedir $FFLAGS $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS - fi - rc=$? -else - $Show $FC "${allargs[@]}" -I$includedir $FFLAGS - rc=$? -fi -if [ -n "$rmfiles" ] ; then - for file in $rmfiles ; do - objfile=`basename $file .f` - if [ -s "${objfile}.o" ] ; then - # Rename - destfile=`echo $objfile | sed -e "s/.*$$-//"` - mv -f ${objfile}.o ${destfile}.o - fi - rm -f $file - done - rm -f $rmfiles -fi -exit $rc diff --git a/compilers/mpixlf90-trace-bgp-V1R3.in b/compilers/mpixlf90-trace-bgp-V1R3.in deleted file mode 100755 index 5fd513e..0000000 --- a/compilers/mpixlf90-trace-bgp-V1R3.in +++ /dev/null @@ -1,314 +0,0 @@ -#! /bin/sh -# -# (C) 2006 by Argonne National Laboratory. -# See COPYRIGHT in top-level directory. -# -# NOTE: this script has been modified to automatically link in the darshan -# characterization libraries. See www.mcs.anl.gov/research/projects/darshan -# -# mpif77 -# Simple script to compile and/or link MPI programs. -# This script knows the default flags and libraries, and can handle -# alternative C compilers and the associated flags and libraries. -# The important terms are: -# includedir, libdir - Directories containing an *installed* mpich2 -# prefix, execprefix - Often used to define includedir and libdir -# FC - Fortran 77 compiler -# WRAPPER_FFLAGS - Any special flags needed to compile -# WRAPPER_LDFLAGS - Any special flags needed to link -# MPILIBNAME - Name of the MPI library -# MPI_OTHERLIBS - Other libraries needed in order to link -# F77_OTHER_LIBS - Yet more libraries, needed just with F77 -# -# -# We assume that (a) the C compiler can both compile and link programs -# -# Handling of command-line options: -# This is a little tricky because some options may contain blanks. -# -# Special issues with shared libraries - todo -# -# -------------------------------------------------------------------------- -# Set the default values of all variables. -# -# Directory locations: Fixed for any MPI implementation. -# Set from the directory arguments to configure (e.g., --prefix=/usr/local) -prefix=/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/default -exec_prefix=${prefix} -sysconfdir=${prefix}/etc -includedir=${prefix}/include -libdir=${exec_prefix}/lib - -CP_WRAPPERS=@CP_WRAPPERS@ -DARSHAN_LIB_PATH=@darshan_lib_path@ -DARSHAN_BIN_PATH=@darshan_bin_path@ -CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@ - -# -# Default settings for compiler, flags, and libraries -# Determined by a combination of environment variables and tests within -# configure (e.g., determining whehter -lsocket is needee) -FC="/opt/ibmcmp/xlf/bg/11.1/bin/bgxlf90" -FC_LINKPATH_SHL="-Wl,-rpath -Wl," -F77CPP="" -WRAPPER_FFLAGS="-I/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/include" -WRAPPER_LDFLAGS="" -MPILIBNAME="mpich.cnk" -PMPILIBNAME="pmpich.cnk" -MPI_OTHERLIBS=" -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -ldcmfcoll.cnk -ldcmf.cnk -lpthread -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -lSPI.cna -lrt" -NEEDSPLIB="no" -# -# MPIVERSION is the version of the MPICH2 library for which mpif77 is intended -MPIVERSION="1.0.7" -# -# Internal variables -# Show is set to echo to cause the compilation command to be echoed instead -# of executed. -Show= -# -# End of initialization of variables -#--------------------------------------------------------------------- -# Environment Variables. -# The environment variables MPICH_F77 may be used to override the -# default choices. -# In addition, if there is a file $sysconfdir/mpif77-$F77name.conf, -# where F77name is the name of the compiler with all spaces replaced by hyphens -# (e.g., "f77 -64" becomes "f77--64", that file is sources, allowing other -# changes to the compilation environment. See the variables used by the -# script (defined above) -if [ -n "$MPICH_F77" ] ; then - FC="$MPICH_F77" - F77name=`echo $FC | sed 's/ /-/g'` - if [ -s $sysconfdir/mpif77-$F77name.conf ] ; then - . $sysconfdir/mpif77-$F77name.conf - fi -fi -# Allow a profiling option to be selected through an environment variable -if [ -n "$MPIF77_PROFILE" ] ; then - profConf=$MPIF77_PROFILE -fi -# -# ------------------------------------------------------------------------ -# Argument processing. -# This is somewhat awkward because of the handling of arguments within -# the shell. We want to handle arguments that include spaces without -# loosing the spacing (an alternative would be to use a more powerful -# scripting language that would allow us to retain the array of values, -# which the basic (rather than enhanced) Bourne shell does not. -# -# Look through the arguments for arguments that indicate compile only. -# If these are *not* found, add the library options - -linking=yes -allargs=("$@") -argno=0 -cppflags=() -for arg in "$@" ; do - # Set addarg to no if this arg should be ignored by the C compiler - addarg=yes - case "$arg" in - # ---------------------------------------------------------------- - # Compiler options that affect whether we are linking or no - -c|-S|-E|-M|-MM) - # The compiler links by default - linking=no - ;; - # ---------------------------------------------------------------- - # Options that control how we use mpif77 (e.g., -show, - # -f77=* -config=* - -echo) - addarg=no - set -x - ;; - - -f77=*) - FC=`echo A$arg | sed -e 's/A-f77=//g'` - addarg=no - ;; - -fc=*) - FC=`echo A$arg | sed -e 's/A-fc=//g'` - addarg=no - ;; - - -show) - addarg=no - Show=echo - ;; - -config=*) - addarg=no - F77name=`echo A$arg | sed -e 's/A-config=//g'` - if [ -s "$sysconfdir/mpif77-$F77name.conf" ] ; then - . "$sysconfdir/mpif77-$F77name.conf" - else - echo "Configuration file mpif77-$F77name.conf not found" - fi - ;; - -compile-info|-compile_info) - # -compile_info included for backward compatibility - Show=echo - addarg=no - ;; - -link-info|-link_info) - # -link_info included for backward compatibility - Show=echo - addarg=no - ;; - -v) - # Pass this argument to the compiler as well. - echo "mpif77 for $MPIVERSION" - linking=no - ;; - -profile=*) - # Pass the name of a profiling configuration. As - # a special case, lib.so or lib.la may be used - # if the library is in $libdir - profConf=`echo A$arg | sed -e 's/A-profile=//g'` - addarg=no - # Loading the profConf file is handled below - ;; - -mpe=*) - # Pass the name of a profiling configuration; this is a special - # case for the MPE libs. See -profile - profConf=`echo A$arg | sed -e 's/A-mpe=//g'` - profConf="mpe_$profConf" - addarg=no - # Loading the profConf file is handled below - ;; - # -help - -help) - ;; - # The following are special args used to handle .F files when the - # Fortran compiler itself does not handle these options - -I*) - cppflags[${#cppflags}]="$arg" - ;; - -D*) - cppflags[${#cppflags}]="$arg" - ;; - *.F|*.F90|*.fpp|*.FPP) -# If F77CPP is not empty, then we need to do the following: -# If any input files have the .F or .F90 extension, then -# If F77CPP = false, then -# generate an error message and exit -# Use F77CPP to convert the file from .F to .f, using -# $TMPDIR/f$$-$count.f as the output file name -# Replace the input file with this name in the args -# This is needed only for very broken systems -# - if [ -n "$F77CPP" ] ; then - if [ "$F77CPP" = "false" ] ; then - echo "This Fortran compiler does not accept .F or .F90 files" - exit 1 - fi - addarg=no - # Remove and directory names and extension - $ext=`expr "$arg" : '.*\(\..*\)'` - bfile=`basename $arg $ext` - # - TMPDIR=${TMPDIR:-/tmp} - tmpfile=$TMPDIR/f$$-$bfile.f - if $F77CPP "${cppflags[@]}" $arg > $tmpfile ; then - # Add this file to the commandline list - count=`expr $count + 1` - allargs[${#allargs}]="$tmpfile" - rmfiles="$rmfiles $tmpfile" - else - echo "Aborting compilation because of failure in preprocessing step" - echo "for file $arg ." - exit 1 - fi - fi - # Otherwise, just accept the argument - ;; - # - end of special handling for .F files - - esac - if [ $addarg = no ] ; then - unset allargs[$argno] - fi - # Some versions of bash do not accept ((argno++)) - argno=`expr $argno + 1` -done - -# ----------------------------------------------------------------------- -# Derived variables. These are assembled from variables set from the -# default, environment, configuration file (if any) and command-line -# options (if any) -if [ "$NEEDSPLIB" = yes ] ; then - mpilibs="-l$PMPILIBNAME -l$MPILIBNAME" -else - mpilibs="-l$MPILIBNAME" -fi -# -# Init with the ones needed by MPI -FFLAGS="$WRAPPER_FFLAGS" -LDFLAGS="$WRAPPER_LDFLAGS" -# -# Handle the case of a profile switch -if [ -n "$profConf" ] ; then - profConffile= - if [ -s "$libdir/lib$profConf.a" -o -s "$libdir/lib$profConf.so" ] ; then - mpilibs="-l$profConf $mpilibs" - elif [ -s "$sysconfdir/$profConf.conf" ] ; then - profConffile="$sysconfdir/$profConf.conf" - elif [ -s "$profConf.conf" ] ; then - profConffile="$profConf.conf" - else - echo "Profiling configuration file $profConf.conf not found in $sysconfdir" - fi - if [ -n "$profConffile" -a -s "$profConffile" ] ; then - . $profConffile - if [ -n "$PROFILE_INCPATHS" ] ; then - FFLAGS="$PROFILE_INCPATHS $FFLAGS" - fi - if [ -n "$PROFILE_PRELIB" ] ; then - mpilibs="$PROFILE_PRELIB $mpilibs" - fi - if [ -n "$PROFILE_POSTLIB" ] ; then - mpilibs="$mpilibs $PROFILE_POSTLIB" - fi - fi -fi -# -# A temporary statement to invoke the compiler -# Place the -L before any args incase there are any mpi libraries in there. -# Eventually, we'll want to move this after any non-MPI implementation -# libraries -# -if [ "$linking" = yes ] ; then - if [ -n "$FC_LINKPATH_SHL" ] ; then - # Prepend the path for the shared libraries to the library list - mpilibs="$FC_LINKPATH_SHL$libdir $mpilibs" - fi - # check to see if the command line refers to any profilers that might - # use PMPI. - profiler_check=`echo "${allargs[@]}" | ${DARSHAN_BIN_PATH}/darshan-pmpi-filter.sh` - if [ "$profiler_check" = "" ] ; then - # If we link link darshan-mpi-io before system mpi lib, we don't get a - # trace but if we don't link it early enough, we get undefined MPI symbols. - # Seems like listing the darshan libs twice does the trick - $Show $FC "${allargs[@]}" -L${DARSHAN_LIB_PATH} -lfmpich.cnk \ - -ldarshan-posix -ldarshan-mpi-io \ - -I$includedir $FFLAGS ${CP_WRAPPERS} $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS \ - -L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} ${CP_ZLIB_LINK_FLAGS} -ldarshan-posix -ldarshan-mpi-io -lz - else - $Show $FC "${allargs[@]}" -I$includedir $FFLAGS $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS - fi - rc=$? -else - $Show $FC "${allargs[@]}" -I$includedir $FFLAGS - rc=$? -fi -if [ -n "$rmfiles" ] ; then - for file in $rmfiles ; do - objfile=`basename $file .f` - if [ -s "${objfile}.o" ] ; then - # Rename - destfile=`echo $objfile | sed -e "s/.*$$-//"` - mv -f ${objfile}.o ${destfile}.o - fi - rm -f $file - done - rm -f $rmfiles -fi -exit $rc diff --git a/compilers/mpixlf90_r-trace-bgp-V1R3.in b/compilers/mpixlf90_r-trace-bgp-V1R3.in deleted file mode 100755 index 4d1a43f..0000000 --- a/compilers/mpixlf90_r-trace-bgp-V1R3.in +++ /dev/null @@ -1,313 +0,0 @@ -#! /bin/sh -# -# (C) 2006 by Argonne National Laboratory. -# See COPYRIGHT in top-level directory. -# -# mpif77 -# Simple script to compile and/or link MPI programs. -# This script knows the default flags and libraries, and can handle -# alternative C compilers and the associated flags and libraries. -# The important terms are: -# includedir, libdir - Directories containing an *installed* mpich2 -# prefix, execprefix - Often used to define includedir and libdir -# FC - Fortran 77 compiler -# WRAPPER_FFLAGS - Any special flags needed to compile -# WRAPPER_LDFLAGS - Any special flags needed to link -# MPILIBNAME - Name of the MPI library -# MPI_OTHERLIBS - Other libraries needed in order to link -# F77_OTHER_LIBS - Yet more libraries, needed just with F77 -# -# -# We assume that (a) the C compiler can both compile and link programs -# -# Handling of command-line options: -# This is a little tricky because some options may contain blanks. -# -# Special issues with shared libraries - todo -# -# -------------------------------------------------------------------------- -# Set the default values of all variables. -# -# Directory locations: Fixed for any MPI implementation. -# Set from the directory arguments to configure (e.g., --prefix=/usr/local) -prefix=/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/default -exec_prefix=${prefix} -sysconfdir=${prefix}/etc -includedir=${prefix}/include -libdir=${exec_prefix}/lib - -CP_WRAPPERS=@CP_WRAPPERS@ -DARSHAN_LIB_PATH=@darshan_lib_path@ -DARSHAN_BIN_PATH=@darshan_bin_path@ -CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@ - -# -# Default settings for compiler, flags, and libraries -# Determined by a combination of environment variables and tests within -# configure (e.g., determining whehter -lsocket is needee) -FC="/opt/ibmcmp/xlf/bg/11.1/bin/bgxlf90_r" -FC_LINKPATH_SHL="-Wl,-rpath -Wl," -F77CPP="" -WRAPPER_FFLAGS="-I/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/include" -WRAPPER_LDFLAGS=" " -MPILIBNAME="mpich.cnk" -PMPILIBNAME="pmpich.cnk" -MPI_OTHERLIBS=" -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -ldcmfcoll.cnk -ldcmf.cnk -lpthread -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -lSPI.cna -lrt " -NEEDSPLIB="no" -# -# MPIVERSION is the version of the MPICH2 library for which mpif77 is intended -MPIVERSION="1.0.7" -# -# Internal variables -# Show is set to echo to cause the compilation command to be echoed instead -# of executed. -Show= -# -# End of initialization of variables -#--------------------------------------------------------------------- -# Environment Variables. -# The environment variables MPICH_F77 may be used to override the -# default choices. -# In addition, if there is a file $sysconfdir/mpif77-$F77name.conf, -# where F77name is the name of the compiler with all spaces replaced by hyphens -# (e.g., "f77 -64" becomes "f77--64", that file is sources, allowing other -# changes to the compilation environment. See the variables used by the -# script (defined above) -if [ -n "$MPICH_F77" ] ; then - FC="$MPICH_F77" - F77name=`echo $FC | sed 's/ /-/g'` - if [ -s $sysconfdir/mpif77-$F77name.conf ] ; then - . $sysconfdir/mpif77-$F77name.conf - fi -fi -# Allow a profiling option to be selected through an environment variable -if [ -n "$MPIF77_PROFILE" ] ; then - profConf=$MPIF77_PROFILE -fi -# -# ------------------------------------------------------------------------ -# Argument processing. -# This is somewhat awkward because of the handling of arguments within -# the shell. We want to handle arguments that include spaces without -# loosing the spacing (an alternative would be to use a more powerful -# scripting language that would allow us to retain the array of values, -# which the basic (rather than enhanced) Bourne shell does not. -# -# Look through the arguments for arguments that indicate compile only. -# If these are *not* found, add the library options - -linking=yes -allargs=("$@") -argno=0 -cppflags=() -for arg in "$@" ; do - # Set addarg to no if this arg should be ignored by the C compiler - addarg=yes - case "$arg" in - # ---------------------------------------------------------------- - # Compiler options that affect whether we are linking or no - -c|-S|-E|-M|-MM) - # The compiler links by default - linking=no - ;; - # ---------------------------------------------------------------- - # Options that control how we use mpif77 (e.g., -show, - # -f77=* -config=* - -echo) - addarg=no - set -x - ;; - - -f77=*) - FC=`echo A$arg | sed -e 's/A-f77=//g'` - addarg=no - ;; - -fc=*) - FC=`echo A$arg | sed -e 's/A-fc=//g'` - addarg=no - ;; - - -show) - addarg=no - Show=echo - ;; - -config=*) - addarg=no - F77name=`echo A$arg | sed -e 's/A-config=//g'` - if [ -s "$sysconfdir/mpif77-$F77name.conf" ] ; then - . "$sysconfdir/mpif77-$F77name.conf" - else - echo "Configuration file mpif77-$F77name.conf not found" - fi - ;; - -compile-info|-compile_info) - # -compile_info included for backward compatibility - Show=echo - addarg=no - ;; - -link-info|-link_info) - # -link_info included for backward compatibility - Show=echo - addarg=no - ;; - -v) - # Pass this argument to the compiler as well. - echo "mpif77 for $MPIVERSION" - linking=no - ;; - -profile=*) - # Pass the name of a profiling configuration. As - # a special case, lib.so or lib.la may be used - # if the library is in $libdir - profConf=`echo A$arg | sed -e 's/A-profile=//g'` - addarg=no - # Loading the profConf file is handled below - ;; - -mpe=*) - # Pass the name of a profiling configuration; this is a special - # case for the MPE libs. See -profile - profConf=`echo A$arg | sed -e 's/A-mpe=//g'` - profConf="mpe_$profConf" - addarg=no - # Loading the profConf file is handled below - ;; - # -help - -help) - ;; - # The following are special args used to handle .F files when the - # Fortran compiler itself does not handle these options - -I*) - cppflags[${#cppflags}]="$arg" - ;; - -D*) - cppflags[${#cppflags}]="$arg" - ;; - *.F|*.F90|*.fpp|*.FPP) -# If F77CPP is not empty, then we need to do the following: -# If any input files have the .F or .F90 extension, then -# If F77CPP = false, then -# generate an error message and exit -# Use F77CPP to convert the file from .F to .f, using -# $TMPDIR/f$$-$count.f as the output file name -# Replace the input file with this name in the args -# This is needed only for very broken systems -# - if [ -n "$F77CPP" ] ; then - if [ "$F77CPP" = "false" ] ; then - echo "This Fortran compiler does not accept .F or .F90 files" - exit 1 - fi - addarg=no - # Remove and directory names and extension - $ext=`expr "$arg" : '.*\(\..*\)'` - bfile=`basename $arg $ext` - # - TMPDIR=${TMPDIR:-/tmp} - tmpfile=$TMPDIR/f$$-$bfile.f - if $F77CPP "${cppflags[@]}" $arg > $tmpfile ; then - # Add this file to the commandline list - count=`expr $count + 1` - allargs[${#allargs}]="$tmpfile" - rmfiles="$rmfiles $tmpfile" - else - echo "Aborting compilation because of failure in preprocessing step" - echo "for file $arg ." - exit 1 - fi - fi - # Otherwise, just accept the argument - ;; - # - end of special handling for .F files - - esac - if [ $addarg = no ] ; then - unset allargs[$argno] - fi - # Some versions of bash do not accept ((argno++)) - argno=`expr $argno + 1` -done - -# ----------------------------------------------------------------------- -# Derived variables. These are assembled from variables set from the -# default, environment, configuration file (if any) and command-line -# options (if any) -if [ "$NEEDSPLIB" = yes ] ; then - mpilibs="-l$PMPILIBNAME -l$MPILIBNAME" -else - mpilibs="-l$MPILIBNAME" -fi -# -# Init with the ones needed by MPI -FFLAGS="$WRAPPER_FFLAGS" -LDFLAGS="$WRAPPER_LDFLAGS" -# -# Handle the case of a profile switch -if [ -n "$profConf" ] ; then - profConffile= - if [ -s "$libdir/lib$profConf.a" -o -s "$libdir/lib$profConf.so" ] ; then - mpilibs="-l$profConf $mpilibs" - elif [ -s "$sysconfdir/$profConf.conf" ] ; then - profConffile="$sysconfdir/$profConf.conf" - elif [ -s "$profConf.conf" ] ; then - profConffile="$profConf.conf" - else - echo "Profiling configuration file $profConf.conf not found in $sysconfdir" - fi - if [ -n "$profConffile" -a -s "$profConffile" ] ; then - . $profConffile - if [ -n "$PROFILE_INCPATHS" ] ; then - FFLAGS="$PROFILE_INCPATHS $FFLAGS" - fi - if [ -n "$PROFILE_PRELIB" ] ; then - mpilibs="$PROFILE_PRELIB $mpilibs" - fi - if [ -n "$PROFILE_POSTLIB" ] ; then - mpilibs="$mpilibs $PROFILE_POSTLIB" - fi - fi -fi -# -# A temporary statement to invoke the compiler -# Place the -L before any args incase there are any mpi libraries in there. -# Eventually, we'll want to move this after any non-MPI implementation -# libraries -# -if [ "$linking" = yes ] ; then - if [ -n "$FC_LINKPATH_SHL" ] ; then - # Prepend the path for the shared libraries to the library list - mpilibs="$FC_LINKPATH_SHL$libdir $mpilibs" - fi - # check to see if the command line refers to any profilers that might - # use PMPI. - profiler_check=`echo "${allargs[@]}" | ${DARSHAN_BIN_PATH}/darshan-pmpi-filter.sh` - if [ "$profiler_check" = "" ] ; then - # If we link link darshan-mpi-io before system mpi lib, we don't get - # a - # trace but if we don't link it early enough, we get undefined MPI - # symbols. - # Seems like listing the darshan libs twice does the trick - $Show $FC "${allargs[@]}" -L${DARSHAN_LIB_PATH} -lfmpich.cnk \ - -ldarshan-posix -ldarshan-mpi-io \ - -I$includedir $FFLAGS ${CP_WRAPPERS} $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS \ - -L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} ${CP_ZLIB_LINK_FLAGS} -ldarshan-posix -ldarshan-mpi-io -lz - else - $Show $FC "${allargs[@]}" -I$includedir $FFLAGS $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS - fi - rc=$? -else - $Show $FC "${allargs[@]}" -I$includedir $FFLAGS - rc=$? -fi -if [ -n "$rmfiles" ] ; then - for file in $rmfiles ; do - objfile=`basename $file .f` - if [ -s "${objfile}.o" ] ; then - # Rename - destfile=`echo $objfile | sed -e "s/.*$$-//"` - mv -f ${objfile}.o ${destfile}.o - fi - rm -f $file - done - rm -f $rmfiles -fi -exit $rc diff --git a/compilers/mpixlf95-trace-bgp-V1R3.in b/compilers/mpixlf95-trace-bgp-V1R3.in deleted file mode 100755 index 7cda7ff..0000000 --- a/compilers/mpixlf95-trace-bgp-V1R3.in +++ /dev/null @@ -1,314 +0,0 @@ -#! /bin/sh -# -# (C) 2006 by Argonne National Laboratory. -# See COPYRIGHT in top-level directory. -# -# NOTE: this script has been modified to automatically link in the darshan -# characterization libraries. See www.mcs.anl.gov/research/projects/darshan -# -# mpif77 -# Simple script to compile and/or link MPI programs. -# This script knows the default flags and libraries, and can handle -# alternative C compilers and the associated flags and libraries. -# The important terms are: -# includedir, libdir - Directories containing an *installed* mpich2 -# prefix, execprefix - Often used to define includedir and libdir -# FC - Fortran 77 compiler -# WRAPPER_FFLAGS - Any special flags needed to compile -# WRAPPER_LDFLAGS - Any special flags needed to link -# MPILIBNAME - Name of the MPI library -# MPI_OTHERLIBS - Other libraries needed in order to link -# F77_OTHER_LIBS - Yet more libraries, needed just with F77 -# -# -# We assume that (a) the C compiler can both compile and link programs -# -# Handling of command-line options: -# This is a little tricky because some options may contain blanks. -# -# Special issues with shared libraries - todo -# -# -------------------------------------------------------------------------- -# Set the default values of all variables. -# -# Directory locations: Fixed for any MPI implementation. -# Set from the directory arguments to configure (e.g., --prefix=/usr/local) -prefix=/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/default -exec_prefix=${prefix} -sysconfdir=${prefix}/etc -includedir=${prefix}/include -libdir=${exec_prefix}/lib - -CP_WRAPPERS=@CP_WRAPPERS@ -DARSHAN_LIB_PATH=@darshan_lib_path@ -DARSHAN_BIN_PATH=@darshan_bin_path@ -CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@ - -# -# Default settings for compiler, flags, and libraries -# Determined by a combination of environment variables and tests within -# configure (e.g., determining whehter -lsocket is needee) -FC="/opt/ibmcmp/xlf/bg/11.1/bin/bgxlf95" -FC_LINKPATH_SHL="-Wl,-rpath -Wl," -F77CPP="" -WRAPPER_FFLAGS="-I/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/include" -WRAPPER_LDFLAGS="" -MPILIBNAME="mpich.cnk" -PMPILIBNAME="pmpich.cnk" -MPI_OTHERLIBS=" -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -ldcmfcoll.cnk -ldcmf.cnk -lpthread -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -lSPI.cna -lrt" -NEEDSPLIB="no" -# -# MPIVERSION is the version of the MPICH2 library for which mpif77 is intended -MPIVERSION="1.0.7" -# -# Internal variables -# Show is set to echo to cause the compilation command to be echoed instead -# of executed. -Show= -# -# End of initialization of variables -#--------------------------------------------------------------------- -# Environment Variables. -# The environment variables MPICH_F77 may be used to override the -# default choices. -# In addition, if there is a file $sysconfdir/mpif77-$F77name.conf, -# where F77name is the name of the compiler with all spaces replaced by hyphens -# (e.g., "f77 -64" becomes "f77--64", that file is sources, allowing other -# changes to the compilation environment. See the variables used by the -# script (defined above) -if [ -n "$MPICH_F77" ] ; then - FC="$MPICH_F77" - F77name=`echo $FC | sed 's/ /-/g'` - if [ -s $sysconfdir/mpif77-$F77name.conf ] ; then - . $sysconfdir/mpif77-$F77name.conf - fi -fi -# Allow a profiling option to be selected through an environment variable -if [ -n "$MPIF77_PROFILE" ] ; then - profConf=$MPIF77_PROFILE -fi -# -# ------------------------------------------------------------------------ -# Argument processing. -# This is somewhat awkward because of the handling of arguments within -# the shell. We want to handle arguments that include spaces without -# loosing the spacing (an alternative would be to use a more powerful -# scripting language that would allow us to retain the array of values, -# which the basic (rather than enhanced) Bourne shell does not. -# -# Look through the arguments for arguments that indicate compile only. -# If these are *not* found, add the library options - -linking=yes -allargs=("$@") -argno=0 -cppflags=() -for arg in "$@" ; do - # Set addarg to no if this arg should be ignored by the C compiler - addarg=yes - case "$arg" in - # ---------------------------------------------------------------- - # Compiler options that affect whether we are linking or no - -c|-S|-E|-M|-MM) - # The compiler links by default - linking=no - ;; - # ---------------------------------------------------------------- - # Options that control how we use mpif77 (e.g., -show, - # -f77=* -config=* - -echo) - addarg=no - set -x - ;; - - -f77=*) - FC=`echo A$arg | sed -e 's/A-f77=//g'` - addarg=no - ;; - -fc=*) - FC=`echo A$arg | sed -e 's/A-fc=//g'` - addarg=no - ;; - - -show) - addarg=no - Show=echo - ;; - -config=*) - addarg=no - F77name=`echo A$arg | sed -e 's/A-config=//g'` - if [ -s "$sysconfdir/mpif77-$F77name.conf" ] ; then - . "$sysconfdir/mpif77-$F77name.conf" - else - echo "Configuration file mpif77-$F77name.conf not found" - fi - ;; - -compile-info|-compile_info) - # -compile_info included for backward compatibility - Show=echo - addarg=no - ;; - -link-info|-link_info) - # -link_info included for backward compatibility - Show=echo - addarg=no - ;; - -v) - # Pass this argument to the compiler as well. - echo "mpif77 for $MPIVERSION" - linking=no - ;; - -profile=*) - # Pass the name of a profiling configuration. As - # a special case, lib.so or lib.la may be used - # if the library is in $libdir - profConf=`echo A$arg | sed -e 's/A-profile=//g'` - addarg=no - # Loading the profConf file is handled below - ;; - -mpe=*) - # Pass the name of a profiling configuration; this is a special - # case for the MPE libs. See -profile - profConf=`echo A$arg | sed -e 's/A-mpe=//g'` - profConf="mpe_$profConf" - addarg=no - # Loading the profConf file is handled below - ;; - # -help - -help) - ;; - # The following are special args used to handle .F files when the - # Fortran compiler itself does not handle these options - -I*) - cppflags[${#cppflags}]="$arg" - ;; - -D*) - cppflags[${#cppflags}]="$arg" - ;; - *.F|*.F90|*.fpp|*.FPP) -# If F77CPP is not empty, then we need to do the following: -# If any input files have the .F or .F90 extension, then -# If F77CPP = false, then -# generate an error message and exit -# Use F77CPP to convert the file from .F to .f, using -# $TMPDIR/f$$-$count.f as the output file name -# Replace the input file with this name in the args -# This is needed only for very broken systems -# - if [ -n "$F77CPP" ] ; then - if [ "$F77CPP" = "false" ] ; then - echo "This Fortran compiler does not accept .F or .F90 files" - exit 1 - fi - addarg=no - # Remove and directory names and extension - $ext=`expr "$arg" : '.*\(\..*\)'` - bfile=`basename $arg $ext` - # - TMPDIR=${TMPDIR:-/tmp} - tmpfile=$TMPDIR/f$$-$bfile.f - if $F77CPP "${cppflags[@]}" $arg > $tmpfile ; then - # Add this file to the commandline list - count=`expr $count + 1` - allargs[${#allargs}]="$tmpfile" - rmfiles="$rmfiles $tmpfile" - else - echo "Aborting compilation because of failure in preprocessing step" - echo "for file $arg ." - exit 1 - fi - fi - # Otherwise, just accept the argument - ;; - # - end of special handling for .F files - - esac - if [ $addarg = no ] ; then - unset allargs[$argno] - fi - # Some versions of bash do not accept ((argno++)) - argno=`expr $argno + 1` -done - -# ----------------------------------------------------------------------- -# Derived variables. These are assembled from variables set from the -# default, environment, configuration file (if any) and command-line -# options (if any) -if [ "$NEEDSPLIB" = yes ] ; then - mpilibs="-l$PMPILIBNAME -l$MPILIBNAME" -else - mpilibs="-l$MPILIBNAME" -fi -# -# Init with the ones needed by MPI -FFLAGS="$WRAPPER_FFLAGS" -LDFLAGS="$WRAPPER_LDFLAGS" -# -# Handle the case of a profile switch -if [ -n "$profConf" ] ; then - profConffile= - if [ -s "$libdir/lib$profConf.a" -o -s "$libdir/lib$profConf.so" ] ; then - mpilibs="-l$profConf $mpilibs" - elif [ -s "$sysconfdir/$profConf.conf" ] ; then - profConffile="$sysconfdir/$profConf.conf" - elif [ -s "$profConf.conf" ] ; then - profConffile="$profConf.conf" - else - echo "Profiling configuration file $profConf.conf not found in $sysconfdir" - fi - if [ -n "$profConffile" -a -s "$profConffile" ] ; then - . $profConffile - if [ -n "$PROFILE_INCPATHS" ] ; then - FFLAGS="$PROFILE_INCPATHS $FFLAGS" - fi - if [ -n "$PROFILE_PRELIB" ] ; then - mpilibs="$PROFILE_PRELIB $mpilibs" - fi - if [ -n "$PROFILE_POSTLIB" ] ; then - mpilibs="$mpilibs $PROFILE_POSTLIB" - fi - fi -fi -# -# A temporary statement to invoke the compiler -# Place the -L before any args incase there are any mpi libraries in there. -# Eventually, we'll want to move this after any non-MPI implementation -# libraries -# -if [ "$linking" = yes ] ; then - if [ -n "$FC_LINKPATH_SHL" ] ; then - # Prepend the path for the shared libraries to the library list - mpilibs="$FC_LINKPATH_SHL$libdir $mpilibs" - fi - # check to see if the command line refers to any profilers that might - # use PMPI. - profiler_check=`echo "${allargs[@]}" | ${DARSHAN_BIN_PATH}/darshan-pmpi-filter.sh` - if [ "$profiler_check" = "" ] ; then - # If we link link darshan-mpi-io before system mpi lib, we don't get a - # trace but if we don't link it early enough, we get undefined MPI symbols. - # Seems like listing the darshan libs twice does the trick - $Show $FC "${allargs[@]}" -L${DARSHAN_LIB_PATH} -lfmpich.cnk \ - -ldarshan-posix -ldarshan-mpi-io \ - -I$includedir $FFLAGS ${CP_WRAPPERS} $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS \ - -L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} -ldarshan-posix -ldarshan-mpi-io -lz - else - $Show $FC "${allargs[@]}" -I$includedir $FFLAGS $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS - fi - rc=$? -else - $Show $FC "${allargs[@]}" -I$includedir $FFLAGS - rc=$? -fi -if [ -n "$rmfiles" ] ; then - for file in $rmfiles ; do - objfile=`basename $file .f` - if [ -s "${objfile}.o" ] ; then - # Rename - destfile=`echo $objfile | sed -e "s/.*$$-//"` - mv -f ${objfile}.o ${destfile}.o - fi - rm -f $file - done - rm -f $rmfiles -fi -exit $rc diff --git a/compilers/mpixlf95_r-trace-bgp-V1R3.in b/compilers/mpixlf95_r-trace-bgp-V1R3.in deleted file mode 100755 index e8d94ab..0000000 --- a/compilers/mpixlf95_r-trace-bgp-V1R3.in +++ /dev/null @@ -1,313 +0,0 @@ -#! /bin/sh -# -# (C) 2006 by Argonne National Laboratory. -# See COPYRIGHT in top-level directory. -# -# mpif77 -# Simple script to compile and/or link MPI programs. -# This script knows the default flags and libraries, and can handle -# alternative C compilers and the associated flags and libraries. -# The important terms are: -# includedir, libdir - Directories containing an *installed* mpich2 -# prefix, execprefix - Often used to define includedir and libdir -# FC - Fortran 77 compiler -# WRAPPER_FFLAGS - Any special flags needed to compile -# WRAPPER_LDFLAGS - Any special flags needed to link -# MPILIBNAME - Name of the MPI library -# MPI_OTHERLIBS - Other libraries needed in order to link -# F77_OTHER_LIBS - Yet more libraries, needed just with F77 -# -# -# We assume that (a) the C compiler can both compile and link programs -# -# Handling of command-line options: -# This is a little tricky because some options may contain blanks. -# -# Special issues with shared libraries - todo -# -# -------------------------------------------------------------------------- -# Set the default values of all variables. -# -# Directory locations: Fixed for any MPI implementation. -# Set from the directory arguments to configure (e.g., --prefix=/usr/local) -prefix=/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/default -exec_prefix=${prefix} -sysconfdir=${prefix}/etc -includedir=${prefix}/include -libdir=${exec_prefix}/lib - -CP_WRAPPERS=@CP_WRAPPERS@ -DARSHAN_LIB_PATH=@darshan_lib_path@ -DARSHAN_BIN_PATH=@darshan_bin_path@ -CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@ - -# -# Default settings for compiler, flags, and libraries -# Determined by a combination of environment variables and tests within -# configure (e.g., determining whehter -lsocket is needee) -FC="/opt/ibmcmp/xlf/bg/11.1/bin/bgxlf95_r" -FC_LINKPATH_SHL="-Wl,-rpath -Wl," -F77CPP="" -WRAPPER_FFLAGS="-I/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/include" -WRAPPER_LDFLAGS=" " -MPILIBNAME="mpich.cnk" -PMPILIBNAME="pmpich.cnk" -MPI_OTHERLIBS=" -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/comm/sys/lib -ldcmfcoll.cnk -ldcmf.cnk -lpthread -L/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -Wl,-rpath,/bgsys/drivers/V1R3M0_460_2008-081112P/ppc/runtime/SPI -lSPI.cna -lrt " -NEEDSPLIB="no" -# -# MPIVERSION is the version of the MPICH2 library for which mpif77 is intended -MPIVERSION="1.0.7" -# -# Internal variables -# Show is set to echo to cause the compilation command to be echoed instead -# of executed. -Show= -# -# End of initialization of variables -#--------------------------------------------------------------------- -# Environment Variables. -# The environment variables MPICH_F77 may be used to override the -# default choices. -# In addition, if there is a file $sysconfdir/mpif77-$F77name.conf, -# where F77name is the name of the compiler with all spaces replaced by hyphens -# (e.g., "f77 -64" becomes "f77--64", that file is sources, allowing other -# changes to the compilation environment. See the variables used by the -# script (defined above) -if [ -n "$MPICH_F77" ] ; then - FC="$MPICH_F77" - F77name=`echo $FC | sed 's/ /-/g'` - if [ -s $sysconfdir/mpif77-$F77name.conf ] ; then - . $sysconfdir/mpif77-$F77name.conf - fi -fi -# Allow a profiling option to be selected through an environment variable -if [ -n "$MPIF77_PROFILE" ] ; then - profConf=$MPIF77_PROFILE -fi -# -# ------------------------------------------------------------------------ -# Argument processing. -# This is somewhat awkward because of the handling of arguments within -# the shell. We want to handle arguments that include spaces without -# loosing the spacing (an alternative would be to use a more powerful -# scripting language that would allow us to retain the array of values, -# which the basic (rather than enhanced) Bourne shell does not. -# -# Look through the arguments for arguments that indicate compile only. -# If these are *not* found, add the library options - -linking=yes -allargs=("$@") -argno=0 -cppflags=() -for arg in "$@" ; do - # Set addarg to no if this arg should be ignored by the C compiler - addarg=yes - case "$arg" in - # ---------------------------------------------------------------- - # Compiler options that affect whether we are linking or no - -c|-S|-E|-M|-MM) - # The compiler links by default - linking=no - ;; - # ---------------------------------------------------------------- - # Options that control how we use mpif77 (e.g., -show, - # -f77=* -config=* - -echo) - addarg=no - set -x - ;; - - -f77=*) - FC=`echo A$arg | sed -e 's/A-f77=//g'` - addarg=no - ;; - -fc=*) - FC=`echo A$arg | sed -e 's/A-fc=//g'` - addarg=no - ;; - - -show) - addarg=no - Show=echo - ;; - -config=*) - addarg=no - F77name=`echo A$arg | sed -e 's/A-config=//g'` - if [ -s "$sysconfdir/mpif77-$F77name.conf" ] ; then - . "$sysconfdir/mpif77-$F77name.conf" - else - echo "Configuration file mpif77-$F77name.conf not found" - fi - ;; - -compile-info|-compile_info) - # -compile_info included for backward compatibility - Show=echo - addarg=no - ;; - -link-info|-link_info) - # -link_info included for backward compatibility - Show=echo - addarg=no - ;; - -v) - # Pass this argument to the compiler as well. - echo "mpif77 for $MPIVERSION" - linking=no - ;; - -profile=*) - # Pass the name of a profiling configuration. As - # a special case, lib.so or lib.la may be used - # if the library is in $libdir - profConf=`echo A$arg | sed -e 's/A-profile=//g'` - addarg=no - # Loading the profConf file is handled below - ;; - -mpe=*) - # Pass the name of a profiling configuration; this is a special - # case for the MPE libs. See -profile - profConf=`echo A$arg | sed -e 's/A-mpe=//g'` - profConf="mpe_$profConf" - addarg=no - # Loading the profConf file is handled below - ;; - # -help - -help) - ;; - # The following are special args used to handle .F files when the - # Fortran compiler itself does not handle these options - -I*) - cppflags[${#cppflags}]="$arg" - ;; - -D*) - cppflags[${#cppflags}]="$arg" - ;; - *.F|*.F90|*.fpp|*.FPP) -# If F77CPP is not empty, then we need to do the following: -# If any input files have the .F or .F90 extension, then -# If F77CPP = false, then -# generate an error message and exit -# Use F77CPP to convert the file from .F to .f, using -# $TMPDIR/f$$-$count.f as the output file name -# Replace the input file with this name in the args -# This is needed only for very broken systems -# - if [ -n "$F77CPP" ] ; then - if [ "$F77CPP" = "false" ] ; then - echo "This Fortran compiler does not accept .F or .F90 files" - exit 1 - fi - addarg=no - # Remove and directory names and extension - $ext=`expr "$arg" : '.*\(\..*\)'` - bfile=`basename $arg $ext` - # - TMPDIR=${TMPDIR:-/tmp} - tmpfile=$TMPDIR/f$$-$bfile.f - if $F77CPP "${cppflags[@]}" $arg > $tmpfile ; then - # Add this file to the commandline list - count=`expr $count + 1` - allargs[${#allargs}]="$tmpfile" - rmfiles="$rmfiles $tmpfile" - else - echo "Aborting compilation because of failure in preprocessing step" - echo "for file $arg ." - exit 1 - fi - fi - # Otherwise, just accept the argument - ;; - # - end of special handling for .F files - - esac - if [ $addarg = no ] ; then - unset allargs[$argno] - fi - # Some versions of bash do not accept ((argno++)) - argno=`expr $argno + 1` -done - -# ----------------------------------------------------------------------- -# Derived variables. These are assembled from variables set from the -# default, environment, configuration file (if any) and command-line -# options (if any) -if [ "$NEEDSPLIB" = yes ] ; then - mpilibs="-l$PMPILIBNAME -l$MPILIBNAME" -else - mpilibs="-l$MPILIBNAME" -fi -# -# Init with the ones needed by MPI -FFLAGS="$WRAPPER_FFLAGS" -LDFLAGS="$WRAPPER_LDFLAGS" -# -# Handle the case of a profile switch -if [ -n "$profConf" ] ; then - profConffile= - if [ -s "$libdir/lib$profConf.a" -o -s "$libdir/lib$profConf.so" ] ; then - mpilibs="-l$profConf $mpilibs" - elif [ -s "$sysconfdir/$profConf.conf" ] ; then - profConffile="$sysconfdir/$profConf.conf" - elif [ -s "$profConf.conf" ] ; then - profConffile="$profConf.conf" - else - echo "Profiling configuration file $profConf.conf not found in $sysconfdir" - fi - if [ -n "$profConffile" -a -s "$profConffile" ] ; then - . $profConffile - if [ -n "$PROFILE_INCPATHS" ] ; then - FFLAGS="$PROFILE_INCPATHS $FFLAGS" - fi - if [ -n "$PROFILE_PRELIB" ] ; then - mpilibs="$PROFILE_PRELIB $mpilibs" - fi - if [ -n "$PROFILE_POSTLIB" ] ; then - mpilibs="$mpilibs $PROFILE_POSTLIB" - fi - fi -fi -# -# A temporary statement to invoke the compiler -# Place the -L before any args incase there are any mpi libraries in there. -# Eventually, we'll want to move this after any non-MPI implementation -# libraries -# -if [ "$linking" = yes ] ; then - if [ -n "$FC_LINKPATH_SHL" ] ; then - # Prepend the path for the shared libraries to the library list - mpilibs="$FC_LINKPATH_SHL$libdir $mpilibs" - fi - # check to see if the command line refers to any profilers that might - # use PMPI. - profiler_check=`echo "${allargs[@]}" | ${DARSHAN_BIN_PATH}/darshan-pmpi-filter.sh` - if [ "$profiler_check" = "" ] ; then - # If we link link darshan-mpi-io before system mpi lib, we don't get - # a - # trace but if we don't link it early enough, we get undefined MPI - # symbols. - # Seems like listing the darshan libs twice does the trick - $Show $FC "${allargs[@]}" -L${DARSHAN_LIB_PATH} -lfmpich.cnk \ - -ldarshan-posix -ldarshan-mpi-io \ - -I$includedir $FFLAGS ${CP_WRAPPERS} $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS \ - -L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} -ldarshan-posix -ldarshan-mpi-io -lz - else - $Show $FC "${allargs[@]}" -I$includedir $FFLAGS $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS - fi - rc=$? -else - $Show $FC "${allargs[@]}" -I$includedir $FFLAGS - rc=$? -fi -if [ -n "$rmfiles" ] ; then - for file in $rmfiles ; do - objfile=`basename $file .f` - if [ -s "${objfile}.o" ] ; then - # Rename - destfile=`echo $objfile | sed -e "s/.*$$-//"` - mv -f ${objfile}.o ${destfile}.o - fi - rm -f $file - done - rm -f $rmfiles -fi -exit $rc -- 2.26.2