From 57728aa4a31603a561cc3fdf5b510565d96a8d3b Mon Sep 17 00:00:00 2001 From: schnetter Date: Mon, 21 Nov 2005 23:18:03 +0000 Subject: Rename petsc.sh to PETSc.sh git-svn-id: http://svn.cactuscode.org/arrangements/CactusExternal/PETSc/trunk@20 fc86f234-e40e-4302-a95b-5e02f8c343c9 --- PETSc.sh | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ configuration.ccl | 14 +++---- petsc.sh | 112 ---------------------------------------------------- 3 files changed, 121 insertions(+), 120 deletions(-) create mode 100755 PETSc.sh delete mode 100755 petsc.sh diff --git a/PETSc.sh b/PETSc.sh new file mode 100755 index 0000000..af1953e --- /dev/null +++ b/PETSc.sh @@ -0,0 +1,115 @@ +#! /bin/sh +#/*@@ +# @file petsc.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 'Thorn PETSc requires MPI. Please configure with MPI ' \ + 'or remove PETSc from your configuration ThornList.' + 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 'Thorn PETSc requires an external installation of the PETSc ' \ + 'library. Please set PETSC_DIR to the directory of this ' \ + 'installation, or remove PETSc from your configuration ThornList.' + 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 .' + echo 'END ERROR' + exit 2 + esac +fi + +# Set the PETSc libs, libdirs and includedirs +PETSC_INC_DIRS='$(PETSC_DIR)/include $(PETSC_DIR)/bmake/$(PETSC_ARCH)' +PETSC_LIB_DIRS='$(PETSC_DIR)/lib/libO/$(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 "PETSC_INC_DIRS = $PETSC_INC_DIRS" +echo "PETSC_LIB_DIRS = $PETSC_LIB_DIRS" +echo "PETSC_LIBS = $PETSC_LIBS" +echo 'END MAKE_DEFINITION' + +# Write the data out to the headers and makefiles +echo 'INCLUDE_DIRECTORY $(PETSC_INC_DIRS)' +echo 'LIBRARY_DIRECTORY $(PETSC_LIB_DIRS) $(X_LIB_DIR)' +echo 'LIBRARY $(PETSC_LIBS) X11 $(MPI_LIBS)' diff --git a/configuration.ccl b/configuration.ccl index 6b19078..7a4c303 100644 --- a/configuration.ccl +++ b/configuration.ccl @@ -1,7 +1,12 @@ # Configuration definitions for thorn PETSc # $Header$ -# NO_SOURCE +PROVIDES PETSc +{ + SCRIPT PETSc.sh + LANG sh + OPTIONS PETSC_DIR PETSC_ARCH PETSC_ARCH_LIBS +} REQUIRES LAPACK @@ -9,10 +14,3 @@ REQUIRES LAPACK # PETSc also depends on MPI and X # (unless PETSc has been configured in a special way, # which is probably typically not the case) - -PROVIDES PETSC -{ - SCRIPT petsc.sh - LANG sh - OPTIONS PETSC_DIR PETSC_ARCH PETSC_ARCH_LIBS -} diff --git a/petsc.sh b/petsc.sh deleted file mode 100755 index 64e3ef7..0000000 --- a/petsc.sh +++ /dev/null @@ -1,112 +0,0 @@ -#! /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 'Thorn PETSc requires MPI. Please configure with MPI ' \ - 'or remove PETSc from your configuration ThornList.' - 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 'Thorn PETSc requires an external installation of the PETSc ' \ - 'library. Please set PETSC_DIR to the directory of this ' \ - 'installation or remove PETSc from your configuration ThornList.' - 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 .' - 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)' -- cgit v1.2.3