summaryrefslogtreecommitdiff
path: root/lib/make/extras
diff options
context:
space:
mode:
authortradke <tradke@17b73243-c579-4c4c-a9d2-2d5706c11dac>2005-02-15 15:06:45 +0000
committertradke <tradke@17b73243-c579-4c4c-a9d2-2d5706c11dac>2005-02-15 15:06:45 +0000
commit4a04d1704f598995608523dc10229a7568f00f4d (patch)
treef63c843072d90432e1b7601a488f01b8bac59de9 /lib/make/extras
parentce7a558df5d4f4443f8e364b0eb5c50c9e1177c5 (diff)
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
Diffstat (limited to 'lib/make/extras')
-rw-r--r--lib/make/extras/MPI/LAM13
1 files changed, 12 insertions, 1 deletions
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"