Commit 76ad5182 authored by Philip Carns's avatar Philip Carns

added configure script option to use a specific libz build for mpi

applications


git-svn-id: https://svn.mcs.anl.gov/repos/darshan/trunk@28 3b7491f3-a168-0410-bf4b-c445ed680a29
parent c59464a4
......@@ -14,6 +14,8 @@ libdir = $(DESTDIR)@libdir@
VPATH = $(srcdir)
darshan_lib_path = @darshan_lib_path@
cp_zlib_link_flags = @__CP_ZLIB_LINK_FLAGS@
cp_zlib_include_flags = @__CP_ZLIB_INCLUDE_FLAGS@
CFLAGS = -I . -I $(srcdir) @CFLAGS@ @CPPFLAGS@ -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Wall
CC=@MPICC@
......@@ -47,9 +49,11 @@ test/gztest: test/gztest.c mktestdir
test/gz-bench: test/gz-bench.c mktestdir
gcc $(CFLAGS) -lz $< -o $@
lib/darshan-mpi-io.o: darshan.h darshan-log-format.h mklibdir
lib/darshan-mpi-io.o: lib/darshan-mpi-io.c darshan.h darshan-log-format.h mklibdir
$(CC) $(cp_zlib_include_flags) $(CFLAGS) -c $< -o $@
lib/darshan-posix.o: darshan.h darshan-log-format.h mklibdir
lib/darshan-posix.o: lib/darshan-posix.c darshan.h darshan-log-format.h mklibdir
$(CC) $(cp_zlib_include_flags) $(CFLAGS) -c $< -o $@
lookup3.o: lookup3.c
......
......@@ -36,6 +36,7 @@ libdir=${exec_prefix}/lib
CP_WRAPPERS=@CP_WRAPPERS@
DARSHAN_LIB_PATH=@darshan_lib_path@
CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@
#
# Default settings for compiler, flags, and libraries.
......@@ -229,7 +230,7 @@ if [ "$linking" = yes ] ; then
# prepend the path for the shared libraries to the library list
mpilibs="$C_LINKPATH_SHL$libdir $mpilibs"
fi
$Show $CC "${allargs[@]}" -L${DARSHAN_LIB_PATH} -ldarshan-mpi-io -lz -I$includedir $CFLAGS $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS
$Show $CC "${allargs[@]}" -L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} -ldarshan-mpi-io -lz -I$includedir $CFLAGS $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS
rc=$?
else
$Show $CC "${allargs[@]}" -I$includedir $CFLAGS
......
......@@ -36,6 +36,7 @@ libdir=/home/pcarns/working/mpich2/build-ufs-fortran-1.0.7/lib
CP_WRAPPERS=@CP_WRAPPERS@
DARSHAN_LIB_PATH=@darshan_lib_path@
CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@
#
# Default settings for compiler, flags, and libraries.
......@@ -229,7 +230,7 @@ if [ "$linking" = yes ] ; then
# prepend the path for the shared libraries to the library list
mpilibs="$C_LINKPATH_SHL$libdir $mpilibs"
fi
$Show $CC $CFLAGS $LDFLAGS "${allargs[@]}" -L${DARSHAN_LIB_PATH} -ldarshan-mpi-io -lz -I$includedir -L$libdir $mpilibs $MPI_OTHERLIBS
$Show $CC $CFLAGS $LDFLAGS "${allargs[@]}" -L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} -ldarshan-mpi-io -lz -I$includedir -L$libdir $mpilibs $MPI_OTHERLIBS
rc=$?
else
$Show $CC $CFLAGS "${allargs[@]}" -I$includedir
......
......@@ -36,6 +36,7 @@ libdir=${exec_prefix}/lib
CP_WRAPPERS=@CP_WRAPPERS@
DARSHAN_LIB_PATH=@darshan_lib_path@
CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@
#
# Default settings for compiler, flags, and libraries
......@@ -229,7 +230,7 @@ if [ "$linking" = yes ] ; then
# Prepend the path for the shared libraries to the library list
shllibpath="$CXX_LINKPATH_SHL$libdir"
fi
$Show $CXX "${allargs[@]}" -L${DARSHAN_LIB_PATH} -lcxxmpich.cnk -ldarshan-mpi-io -lz -I$includedir $CXXFLAGS $LDFLAGS -L$libdir $shllibpath $cxxlibs $mpilibs $MPI_OTHERLIBS
$Show $CXX "${allargs[@]}" -L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} -lcxxmpich.cnk -ldarshan-mpi-io -lz -I$includedir $CXXFLAGS $LDFLAGS -L$libdir $shllibpath $cxxlibs $mpilibs $MPI_OTHERLIBS
rc=$?
else
$Show $CXX "${allargs[@]}" -I$includedir $CXXFLAGS
......
......@@ -36,6 +36,7 @@ libdir=/home/pcarns/working/mpich2/build-ufs-fortran-1.0.7/lib
CP_WRAPPERS=@CP_WRAPPERS@
DARSHAN_LIB_PATH=@darshan_lib_path@
CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@
#
# Default settings for compiler, flags, and libraries
......@@ -229,7 +230,7 @@ if [ "$linking" = yes ] ; then
# Prepend the path for the shared libraries to the library list
shllibpath="$CXX_LINKPATH_SHL$libdir"
fi
$Show $CXX $CXXFLAGS $LDFLAGS "${allargs[@]}" -L${DARSHAN_LIB_PATH} -lmpichcxx -ldarshan-mpi-io -lz -I$includedir -L$libdir $shllibpath $cxxlibs $mpilibs $MPI_OTHERLIBS
$Show $CXX $CXXFLAGS $LDFLAGS "${allargs[@]}" -L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} -lmpichcxx -ldarshan-mpi-io -lz -I$includedir -L$libdir $shllibpath $cxxlibs $mpilibs $MPI_OTHERLIBS
rc=$?
else
$Show $CXX $CXXFLAGS "${allargs[@]}" -I$includedir
......
......@@ -38,6 +38,7 @@ libdir=${exec_prefix}/lib
CP_WRAPPERS=@CP_WRAPPERS@
DARSHAN_LIB_PATH=@darshan_lib_path@
CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@
#
# Default settings for compiler, flags, and libraries
......@@ -279,7 +280,7 @@ if [ "$linking" = yes ] ; 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 $LDFLAGS "${allargs[@]}" -L${DARSHAN_LIB_PATH} -lfmpich.cnk\
$Show $FC $FFLAGS $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
......
......@@ -38,6 +38,7 @@ libdir=/home/pcarns/working/mpich2/build-ufs-fortran-1.0.7/lib
CP_WRAPPERS=@CP_WRAPPERS@
DARSHAN_LIB_PATH=@darshan_lib_path@
CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@
#
# Default settings for compiler, flags, and libraries
......@@ -275,7 +276,7 @@ if [ "$linking" = yes ] ; then
# Prepend the path for the shared libraries to the library list
mpilibs="$FC_LINKPATH_SHL$libdir $mpilibs"
fi
$Show $FC $FFLAGS $LDFLAGS "${allargs[@]}" -L${DARSHAN_LIB_PATH} -lfmpich -ldarshan-mpi-io -lz -I$includedir -L$libdir $mpilibs $MPI_OTHERLIBS
$Show $FC $FFLAGS $LDFLAGS "${allargs[@]}" -L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} -lfmpich -ldarshan-mpi-io -lz -I$includedir -L$libdir $mpilibs $MPI_OTHERLIBS
rc=$?
else
$Show $FC $FFLAGS "${allargs[@]}" -I$includedir
......
......@@ -38,6 +38,7 @@ libdir=${exec_prefix}/lib
CP_WRAPPERS=@CP_WRAPPERS@
DARSHAN_LIB_PATH=@darshan_lib_path@
CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@
#
# Default settings for compiler, flags, and libraries
......@@ -281,7 +282,7 @@ if [ "$linking" = yes ] ; then
$Show $FC "${allargs[@]}" -I$includedir $FFLAGS $LDFLAGS -L${DARSHAN_LIB_PATH} -lfmpich.cnk \
-ldarshan-posix -ldarshan-mpi-io \
-L$libdir $mpilibs $MPI_OTHERLIBS \
-L${DARSHAN_LIB_PATH} -ldarshan-posix -ldarshan-mpi-io -lz
-L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} -ldarshan-posix -ldarshan-mpi-io -lz
rc=$?
else
$Show $FC "${allargs[@]}" -I$includedir $FFLAGS
......
......@@ -36,6 +36,7 @@ libdir=${exec_prefix}/lib
CP_WRAPPERS=@CP_WRAPPERS@
DARSHAN_LIB_PATH=@darshan_lib_path@
CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@
#
# Default settings for compiler, flags, and libraries.
......@@ -229,7 +230,7 @@ if [ "$linking" = yes ] ; then
# prepend the path for the shared libraries to the library list
mpilibs="$C_LINKPATH_SHL$libdir $mpilibs"
fi
$Show $CC "${allargs[@]}" -L${DARSHAN_LIB_PATH} -ldarshan-mpi-io -lz -I$includedir $CFLAGS $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS
$Show $CC "${allargs[@]}" -L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} ${CP_ZLIB_LINK_FLAGS} -ldarshan-mpi-io -lz -I$includedir $CFLAGS $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS
rc=$?
else
$Show $CC "${allargs[@]}" -I$includedir $CFLAGS
......
......@@ -36,6 +36,7 @@ libdir=${exec_prefix}/lib
CP_WRAPPERS=@CP_WRAPPERS@
DARSHAN_LIB_PATH=@darshan_lib_path@
CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@
#
# Default settings for compiler, flags, and libraries
......@@ -229,7 +230,7 @@ if [ "$linking" = yes ] ; then
# Prepend the path for the shared libraries to the library list
shllibpath="$CXX_LINKPATH_SHL$libdir"
fi
$Show $CXX "${allargs[@]}" -L${DARSHAN_LIB_PATH} -ldarshan-mpi-io -lz -I$includedir $CXXFLAGS $LDFLAGS -L$libdir $shllibpath $cxxlibs $mpilibs $MPI_OTHERLIBS
$Show $CXX "${allargs[@]}" -L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} -ldarshan-mpi-io -lz -I$includedir $CXXFLAGS $LDFLAGS -L$libdir $shllibpath $cxxlibs $mpilibs $MPI_OTHERLIBS
rc=$?
else
$Show $CXX "${allargs[@]}" -I$includedir $CXXFLAGS
......
......@@ -38,6 +38,7 @@ libdir=${exec_prefix}/lib
CP_WRAPPERS=@CP_WRAPPERS@
DARSHAN_LIB_PATH=@darshan_lib_path@
CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@
#
# Default settings for compiler, flags, and libraries
......@@ -281,7 +282,7 @@ if [ "$linking" = yes ] ; then
$Show $FC "${allargs[@]}" -L${DARSHAN_LIB_PATH} -lfmpich.cnk \
-ldarshan-posix -ldarshan-mpi-io \
-I$includedir $FFLAGS $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS \
-L${DARSHAN_LIB_PATH} -ldarshan-posix -ldarshan-mpi-io -lz
-L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} -ldarshan-posix -ldarshan-mpi-io -lz
rc=$?
else
$Show $FC "${allargs[@]}" -I$includedir $FFLAGS
......
......@@ -38,6 +38,7 @@ libdir=${exec_prefix}/lib
CP_WRAPPERS=@CP_WRAPPERS@
DARSHAN_LIB_PATH=@darshan_lib_path@
CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@
#
# Default settings for compiler, flags, and libraries
......@@ -281,7 +282,7 @@ if [ "$linking" = yes ] ; then
$Show $FC "${allargs[@]}" -L${DARSHAN_LIB_PATH} -lfmpich.cnk \
-ldarshan-posix -ldarshan-mpi-io \
-I$includedir $FFLAGS $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS \
-L${DARSHAN_LIB_PATH} -ldarshan-posix -ldarshan-mpi-io -lz
-L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} -ldarshan-posix -ldarshan-mpi-io -lz
rc=$?
else
$Show $FC "${allargs[@]}" -I$includedir $FFLAGS
......
......@@ -38,6 +38,7 @@ libdir=${exec_prefix}/lib
CP_WRAPPERS=@CP_WRAPPERS@
DARSHAN_LIB_PATH=@darshan_lib_path@
CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@
#
# Default settings for compiler, flags, and libraries
......@@ -281,7 +282,7 @@ if [ "$linking" = yes ] ; then
$Show $FC "${allargs[@]}" -L${DARSHAN_LIB_PATH} -lfmpich.cnk \
-ldarshan-posix -ldarshan-mpi-io \
-I$includedir $FFLAGS $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS \
-L${DARSHAN_LIB_PATH} -ldarshan-posix -ldarshan-mpi-io -lz
-L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} ${CP_ZLIB_LINK_FLAGS} -ldarshan-posix -ldarshan-mpi-io -lz
rc=$?
else
$Show $FC "${allargs[@]}" -I$includedir $FFLAGS
......
......@@ -38,6 +38,7 @@ libdir=${exec_prefix}/lib
CP_WRAPPERS=@CP_WRAPPERS@
DARSHAN_LIB_PATH=@darshan_lib_path@
CP_ZLIB_LINK_FLAGS=@__CP_ZLIB_LINK_FLAGS@
#
# Default settings for compiler, flags, and libraries
......@@ -275,7 +276,7 @@ if [ "$linking" = yes ] ; then
# Prepend the path for the shared libraries to the library list
mpilibs="$FC_LINKPATH_SHL$libdir $mpilibs"
fi
$Show $FC "${allargs[@]}" -L${DARSHAN_LIB_PATH} -lfmpich.cnk -ldarshan-mpi-io -lz -I$includedir $FFLAGS $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS
$Show $FC "${allargs[@]}" -L${DARSHAN_LIB_PATH} ${CP_ZLIB_LINK_FLAGS} -lfmpich.cnk -ldarshan-mpi-io -lz -I$includedir $FFLAGS $LDFLAGS -L$libdir $mpilibs $MPI_OTHERLIBS
rc=$?
else
$Show $FC "${allargs[@]}" -I$includedir $FFLAGS
......
......@@ -638,6 +638,8 @@ ac_includes_default="\
ac_subst_vars='LTLIBOBJS
LIBOBJS
CP_WRAPPERS
__CP_ZLIB_INCLUDE_FLAGS
__CP_ZLIB_LINK_FLAGS
__CP_LOG_PATH
darshan_lib_path
MPICC
......@@ -698,6 +700,7 @@ enable_option_checking
with_zlib
with_mpi
with_mem_align
with_zlib_for_mpi
with_log_path
'
ac_precious_vars='build_alias
......@@ -1332,6 +1335,7 @@ Optional Packages:
--without-zlib to disable zlib usage completely
--with-mpi=<dir> Location of the MPI installation
--with-mem-align=<num> Memory alignment in bytes
--with-zlib-for-mpi=<dir> base dir for zlib to use on mpi processes
--with-log-path=<path> Location to store log files at run time
Some influential environment variables:
......@@ -3906,6 +3910,21 @@ fi
# Check whether --with-zlib-for-mpi was given.
if test "${with_zlib_for_mpi+set}" = set; then
withval=$with_zlib_for_mpi; if test x$withval = xyes; then
{ { $as_echo "$as_me:$LINENO: error: --with-zlib-for-mpi must be given a path argument" >&5
$as_echo "$as_me: error: --with-zlib-for-mpi must be given a path argument" >&2;}
{ (exit 1); exit 1; }; }
else
__CP_ZLIB_LINK_FLAGS="-L ${withval}/lib"
__CP_ZLIB_INCLUDE_FLAGS="-I ${withval}/include"
fi
fi
# Check whether --with-log-path was given.
if test "${with_log_path+set}" = set; then
withval=$with_log_path; if test x$withval = xyes; then
......@@ -4007,6 +4026,8 @@ fi
# The cast to long int works around a bug in the HP C Compiler
# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
......
......@@ -40,6 +40,16 @@ AC_ARG_WITH(mem-align,
fi
)
AC_ARG_WITH(zlib-for-mpi,
[ --with-zlib-for-mpi=<dir> base dir for zlib to use on mpi processes],
if test x$withval = xyes; then
AC_MSG_ERROR(--with-zlib-for-mpi must be given a path argument)
else
__CP_ZLIB_LINK_FLAGS="-L ${withval}/lib"
__CP_ZLIB_INCLUDE_FLAGS="-I ${withval}/include"
fi
)
AC_ARG_WITH(log-path,
[ --with-log-path=<path> Location to store log files at run time],
if test x$withval = xyes; then
......@@ -82,6 +92,8 @@ else
fi
AC_SUBST(darshan_lib_path)
AC_SUBST(__CP_LOG_PATH)
AC_SUBST(__CP_ZLIB_LINK_FLAGS)
AC_SUBST(__CP_ZLIB_INCLUDE_FLAGS)
AC_SUBST(CP_WRAPPERS)
AC_CHECK_SIZEOF([long int])
AC_OUTPUT(Makefile
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment