diff options
author | schnetter <schnetter@05df85d1-2347-4101-86f9-8720c14fb45e> | 2009-01-26 18:14:55 +0000 |
---|---|---|
committer | schnetter <schnetter@05df85d1-2347-4101-86f9-8720c14fb45e> | 2009-01-26 18:14:55 +0000 |
commit | a3b5d7010be260f21036bea63d9a39e2e68b1330 (patch) | |
tree | bfc6fef527f8beb3a61ddb93d7029626728dc933 /FFTW.sh | |
parent | 56e3149e49a99000b2967f4b85838b5d8e9b9a46 (diff) |
Add thorn FFTWlib which interfaces to the FFTW library
git-svn-id: http://svn.cactuscode.org/arrangements/CactusExternal/FFTWlib/trunk@2 05df85d1-2347-4101-86f9-8720c14fb45e
Diffstat (limited to 'FFTW.sh')
-rw-r--r-- | FFTW.sh | 91 |
1 files changed, 91 insertions, 0 deletions
@@ -0,0 +1,91 @@ +#! /bin/sh +# /*@@ +# @file FFTW.sh +# @date Sun 11 September 2005 +# @author Erik Schnetter +# @desc +# Setup for compilation with the FFTW library +# @enddesc +# @@*/ + +# /*@@ +# @routine CCTK_Search +# @date Wed Jul 21 11:16:35 1999 +# @author Tom Goodale +# @desc +# Used to search for something in various directories +# @enddesc +#@@*/ + +CCTK_Search() +{ + eval $1="" + if test $# -lt 4 ; then + cctk_basedir="" + else + cctk_basedir="$4/" + fi + for cctk_place in $2 + do + if test -r "$cctk_basedir$cctk_place/$3" ; then + eval $1="$cctk_place" + break + fi + if test -d "$cctk_basedir$cctk_place/$3" ; then + eval $1="$cctk_place" + break + fi + done + return +} + +# Search for FFTW installation +if test -z "$FFTW_DIR"; then + echo "BEGIN MESSAGE" + echo 'FFTW selected but no FFTW_DIR set... Checking some places' + echo "END MESSAGE" + CCTK_Search FFTW_DIR '/usr/lib /usr/local/lib' libfftw.a + if test -z "$FFTW_DIR"; then + CCTK_Search FFTW_DIR '/usr/lib /usr/local/lib' libfftw.so + fi + if test -z "$FFTW_DIR"; then + echo "BEGIN ERROR" + echo 'Unable to locate the FFTW library - please set FFTW_DIR' + echo "END ERROR" + exit 2 + fi + echo "BEGIN MESSAGE" + echo "Found a FFTW package in $FFTW_DIR" + echo "END MESSAGE" + +elif test "$FFTW_DIR" = 'none'; then + # user doesn't want the library path added + FFTW_DIR='' +fi + +if test -z "$FFTW_LIBS"; then + if test -n "$MPI" -a "$MPI" != 'none' ; then + FFTW_LIBS='rfftw_mpi fftw_mpi $(MPI_LIBS) rfftw fftw m' + else + FFTW_LIBS='rfftw fftw m' + fi +fi + +# Set the FFTW libs, libdirs and includedirs + +# Don't explicitely add standard include and library search paths +if [ "$FFTW_DIR" != '/usr' -a "$FFTW_DIR" != '/usr/local' ]; then + FFTW_INC_DIRS="$FFTW_DIR/include" + FFTW_LIB_DIRS="$FFTW_DIR/lib" +fi + +# Write the data out to the headers and makefiles +echo 'BEGIN MAKE_DEFINITION' +echo "FFTW_INC_DIRS = $FFTW_INC_DIRS" +echo "FFTW_LIB_DIRS = $FFTW_LIB_DIRS" +echo "FFTW_LIBS = $FFTW_LIBS" +echo 'END MAKE_DEFINITION' + +echo 'INCLUDE_DIRECTORY $(FFTW_INC_DIRS)' +echo 'LIBRARY_DIRECTORY $(FFTW_LIB_DIRS)' +echo 'LIBRARY $(FFTW_LIBS)' |