blob: 21846bb0825e52f5dd34fd11ecdc18efc8fb7672 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
#! /bin/sh
#/*@@
# @file setup.sh
# @date Fri 29 Aug 2003
# @author Thomas Radke
# @desc
# Setup for an external PETSc installation
# @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
# echo $ac_n " Looking in $cctk_place""...$ac_c" #1>&6
if test -r "$cctk_basedir$cctk_place/$3" ; then
# echo "$ac_t""... Found" #1>&6
eval $1="$cctk_place"
break
fi
if test -d "$cctk_basedir$cctk_place/$3" ; then
# echo "$ac_t""... Found" #1>&6
eval $1="$cctk_place"
break
fi
# echo "$ac_t"" No" #1>&6
done
return
}
# Check that MPI is there
if [ -z "$MPI" -o "$MPI" = 'none' ]; then
echo "BEGIN ERROR"
echo 'PETSc requires MPI - please configure with MPI'
echo "END ERROR"
exit 2
fi
# Work out PETSc's installation directory
if [ -z "$PETSC_DIR" ]; then
echo "BEGIN MESSAGE"
echo 'PETSc selected but no PETSC_DIR set. Checking some places...'
echo "END MESSAGE"
CCTK_Search PETSC_DIR '/usr /usr/local /usr/local/petsc /usr/local/packages/petsc /usr/local/apps/petsc' include/petsc.h
if [ -z "$PETSC_DIR" ] ; then
echo "BEGIN ERROR"
echo 'Unable to locate the PETSc directory - please set PETSC_DIR'
echo "END ERROR"
exit 2
fi
echo "BEGIN MESSAGE"
echo "Found a PETSc package in $PETSC_DIR"
echo "END MESSAGE"
else
echo "BEGIN MESSAGE"
echo "Using PETSc package in $PETSC_DIR"
echo "END MESSAGE"
fi
# Set platform-specific libraries
if [ -z "$PETSC_ARCH_LIBS" ]; then
case "$PETSC_ARCH" in
alpha) PETSC_ARCH_LIBS='dxml' ;;
IRIX64) PETSC_ARCH_LIBS='fpe blas complib.sgimath' ;;
linux) PETSC_ARCH_LIBS='flapack fblas g2c mpich' ;;
linux_intel) PETSC_ARCH_LIBS='mkl_lapack mkl_def guide' ;;
linux-gnu) PETSC_ARCH_LIBS='mkl_lapack mkl_def guide' ;;
linux64_intel) PETSC_ARCH_LIBS='mkl_lapack mkl guide' ;;
rs6000_64) PETSC_ARCH_LIBS='essl' ;;
*) echo "BEGIN ERROR"
echo "No PETSc support for architecture '$PETSC_ARCH'."
echo 'Please set the variable PETSC_ARCH_LIBS manually,'
echo 'and/or send a request to <cactusmaint@cactuscode.org>.'
echo "END ERROR"
exit 2
esac
fi
# Set the PETSc libs, libdirs and includedirs
PETSC_LIB_DIRS='$(PETSC_DIR)/lib/libO/$(PETSC_ARCH)'
PETSC_INC_DIRS='$(PETSC_DIR)/include $(PETSC_DIR)/bmake/$(PETSC_ARCH)'
PETSC_LIBS="petscts petscsnes petscsles petscdm petscmat petscvec petsc $PETSC_ARCH_LIBS"
echo "BEGIN MAKE_DEFINITION"
echo "PETSC_DIR = $PETSC_DIR"
echo "PETSC_ARCH = $PETSC_ARCH"
echo "END MAKE_DEFINITION"
echo 'LIBRARY $(PETSC_LIBS) X11 $(MPI_LIBS)'
echo 'LIBRARY_DIRECTORY $(PETSC_LIB_DIRS) $(X_LIB_DIR)'
echo 'INCLUDE_DIRECTORY $(PETSC_INC_DIRS)'
|