From 4a04d1704f598995608523dc10229a7568f00f4d Mon Sep 17 00:00:00 2001 From: tradke Date: Tue, 15 Feb 2005 15:06:45 +0000 Subject: An attempt to auto-detect device specific libs and libdirs for a LAM installation. git-svn-id: http://svn.cactuscode.org/flesh/trunk@3988 17b73243-c579-4c4c-a9d2-2d5706c11dac --- lib/make/extras/MPI/LAM | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/make/extras/MPI/LAM b/lib/make/extras/MPI/LAM index 2e1cf1f2..3038969f 100644 --- a/lib/make/extras/MPI/LAM +++ b/lib/make/extras/MPI/LAM @@ -6,7 +6,7 @@ # @desc # Configure Cactus to compile with the LAM version of MPI. # @enddesc -# @version $Header: /mnt/data2/cvs2svn/cvs-repositories/Cactus/lib/make/extras/MPI/LAM,v 1.10 2004-11-14 11:55:10 tradke Exp $ +# @version $Header: /mnt/data2/cvs2svn/cvs-repositories/Cactus/lib/make/extras/MPI/LAM,v 1.11 2005-02-15 15:06:45 tradke Exp $ # @@*/ echo ' LAM selected' @@ -80,6 +80,17 @@ if test -r "$LAM_LIB_DIR/libtrillium.a" ; then MPI_LIBS='mpi tstdio args t trillium' else MPI_LIBS='mpi lam dl pthread' + + # if a LAM config header file exists, extract possible device libs and libdirs + lam_config_file="$LAM_DIR/include/lam_config.h" + if test -r "$lam_config_file" ; then + base_lib_list=`grep WRAPPER_EXTRA_LIBS $lam_config_file | perl -ne 's/WRAPPER_EXTRA_LIBS\s+"(.+)"/\1/; print'` + base_libdir_list=`grep WRAPPER_EXTRA_LDFLAGS $lam_config_file | perl -ne 's/WRAPPER_EXTRA_LDFLAGS\s+"(.+)"/\1/; print'` + LAM_DEVICE_LIBS=`echo "$base_lib_list" | perl -nae '@libs = (); foreach $lib (@F) { push (@libs, $lib) if ($lib =~ s/^-l(.+)/\1/) } print "@libs"'` + LAM_DEVICE_LIB_DIR=`echo "$base_libdir_list" | perl -nae '@libdirs = (); foreach $libdir (@F) { push (@libdirs, $libdir) if ($libdir =~ s/^-L(.+)/\1/) } print "@libdirs"'` + MPI_LIBS="$MPI_LIBS $LAM_DEVICE_LIBS" + LAM_LIB_DIR="$LAM_LIB_DIR $LAM_DEVICE_LIB_DIR" + fi fi MPI_INC_DIRS="$LAM_INC_DIR" -- cgit v1.2.3