aboutsummaryrefslogtreecommitdiff
path: root/FFTW.sh
diff options
context:
space:
mode:
Diffstat (limited to 'FFTW.sh')
-rw-r--r--FFTW.sh91
1 files changed, 91 insertions, 0 deletions
diff --git a/FFTW.sh b/FFTW.sh
new file mode 100644
index 0000000..569b244
--- /dev/null
+++ b/FFTW.sh
@@ -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)'