# $Id: packages,v 1.63 2001/10/10 18:50:03 balay Exp $ 

#
#  This file contains site-specific information.  The definitions below
#  should be changed to match the locations of libraries at your site.
#  The following naming convention is used:
#     XXX_LIB - location of library XXX
#     XXX_INCLUDE - directory for include files needed for library XXX
#
# Location of BLAS and LAPACK.  See ${PETSC_DIR}/docs/intallation.html 
# for information on retrieving them.
#
BLASLAPACK_LIB = -lblas-3 -llapack-3

#
# Location of MPI (Message Passing Interface) software
#
# At build-time, mpich below is substituted with mpich or lam so the
# appropriate section below is used.

PETSC_MPI=mpich

# For mpich:
ifeq ($(PETSC_MPI),mpich)
  MPI_HOME       = /usr/lib/mpich
  MPI_LIB        = -L${MPI_HOME}/lib/shared -L${MPI_HOME}/lib -lmpich
  MPIRUN         = /usr/bin/mpirun.mpich
  MPI_INCLUDE    = -I/usr/lib/mpich/include
endif

# For lam:
ifeq ($(PETSC_MPI),lam)
  MPI_HOME       = /usr
  MPI_LIB        = -llam
  MPIRUN         = ${PETSC_DIR}/bin/mpirun.lam
  MPI_INCLUDE    = -I/usr/include/lam -DPETSC_HAVE_MPI_COMM_F2C
endif

# Future agnostic version which may work someday
ifeq ($(PETSC_MPI),agnostic)
  MPI_HOME       = /usr
  MPI_LIB        = -L/usr/lib -lmpi
  MPIRUN         = mpirun
  MPI_INCLUDE    = -I/usr/include/mpi
endif
#
# ----------------------------------------------------------------------------------------  
#  Locations of OPTIONAL packages. Comment out those you do not have.
# ----------------------------------------------------------------------------------------  
#
# Location of X-windows software
#
X11_INCLUDE    = -I/usr/X11R6/include/X11/
X11_LIB        = -L/usr/X11R6/lib -lX11
PETSC_HAVE_X11 = -DPETSC_HAVE_X11
#
# Location of MPE
# If using MPICH version 1.1.2 or higher use the flag -DPETSC_HAVE_MPE_INITIALIZED_LOGGING
#
ifeq ($(PETSC_MPI),mpich)
  MPE_INCLUDE   = ${MPI_INCLUDE} -DPETSC_HAVE_MPE_INITIALIZED_LOGGING
  MPE_LIB       = -L${MPI_HOME}/lib/shared -L${MPI_HOME}/lib -lmpe -lpmpich -lslog
  PETSC_HAVE_MPE = -DPETSC_HAVE_MPE
endif
#
# Location of BlockSolve (MPI version)
#
#BLOCKSOLVE_INCLUDE     = -I/home/petsc/software/BlockSolve95/include
#BLOCKSOLVE_LIB         =  -L/home/petsc/software/BlockSolve95/lib/libO/${PETSC_ARCH} -lBS95
#PETSC_HAVE_BLOCKSOLVE = -DPETSC_HAVE_BLOCKSOLVE
#
# Location where adiC is installed
#
#ADIC_DEFINES    = 
#ADIC_CC         = adiC -a -d gradient
#PETSC_HAVE_ADIC = -DPETSC_HAVE_ADIC
#
# Location of PVODE; Alan Hindmarsh's parallel ODE solver
# 
#PVODE_INCLUDE = -I/home/petsc/software/MPI_PVODE/include
#PVODE_LIB     = /home/petsc/software/MPI_PVODE/lib/linux/libpvode.a
#PETSC_HAVE_PVODE = -DPETSC_HAVE_PVODE
#
# At build-time, main below is substituted with main or contrib to use
# or ignore ParMETIS and Hypre as appropriate:

DEBIAN_DIST=main

# Location of ParMetis
#
ifeq ($(DEBIAN_DIST),contrib)
PARMETIS_INCLUDE    = 
PARMETIS_LIB        = -lparmetis -lmetis
PETSC_HAVE_PARMETIS = -DPETSC_HAVE_PARMETIS
endif
#
#
# Location of the LUSOL sparse LU factorization code (part of MINOS)
# developed by Michael Saunders, saunders@stanford.edu at the
# Systems Optimization Laboratory, Stanford University.
#  http://www.sbsi-sol-optimize.com/
# Uses the two files mi25bfac.f and mi15blas.f (or LUSOL.f LUSOL_BLAS.f
# depending on how they are named)
#
#PETSC_HAVE_LUSOL     = -DPETSC_HAVE_LUSOL
#LUSOL_LIB
#
# SuperLU-DIST
#
#SUPERLU_DIST_INCLUDE    = -I/home/petsc/soft/linux-rh73/SuperLU_DIST_2.0/SRC                     
#SUPERLU_DIST_LIB        = /home/petsc/soft/linux-rh73/SuperLU_DIST_2.0/superlu_linux.a
#PETSC_HAVE_SUPERLU_DIST = -DPETSC_HAVE_SUPERLU_DIST
#
# SuperLU
#
#SUPERLU_INCLUDE         = -I/home/petsc/soft/linux-rh73/SuperLU_3.0/SRC 
#SUPERLU_LIB             = /home/petsc/soft/linux-rh73/SuperLU_3.0/superlu_linux_g.a
#PETSC_HAVE_SUPERLU      = -DPETSC_HAVE_SUPERLU 
#
# SPOOLES, SPOOLES_MPI
#
#SPOOLES_INCLUDE       = -I/home/petsc/soft/linux-rh73/spooles-2.2
#SPOOLES_LIB           = /home/petsc/soft/linux-rh73/spooles-2.2/MPI/src/spoolesMPI.a /home/petsc/soft/linux-rh73/spooles-2.2/spooles.a 
#PETSC_HAVE_SPOOLES    = -DPETSC_HAVE_SPOOLES
#
# DSCPACK
#
#DSCPACK_INCLUDE    = -I/home/petsc/soft/linux-rh73/DSCPACK1.0/DSC_LIB
#DSCPACK_LIB        = /home/petsc/soft/linux-rh73/DSCPACK1.0/DSC_LIB/dsclibdbl.a
#PETSC_HAVE_DSCPACK = -DPETSC_HAVE_DSCPACK
#
# UMFPACK
#
#UMFPACK_INCLUDE    = -I/home/petsc/soft/linux-rh73/umfpack
#UMFPACK_LIB        = /home/petsc/soft/linux-rh73/umfpack/umfpack.a
#PETSC_HAVE_UMFPACK = -DPETSC_HAVE_UMFPACK
#
#  Location of Trilinos
#
#TRILINOS_INCLUDE    = -I/home/alice/software/Trilinos/src/petra_esi -I/home/alice/software/Trilinos/src/petra
#PETSC_HAVE_TRILINOS = -DPETSC_HAVE_TRILINOS
#TRILINOS_LIB        = -L/home/alice/software/Trilinos/lib/LINUX.MPI -lpetraesi -lpetra -lmachdep
#
#
#  Location of hypre
#
ifeq ($(DEBIAN_DIST),contrib)
HYPRE_INCLUDE    = 
HYPRE_LIB        = -lHYPRE_parcsr_ls -lHYPRE_DistributedMatrix -lHYPRE_parcsr_mv  -lHYPRE_FEI -lHYPRE_seq_mv -lHYPRE_IJ_mv -lkrylov -lHYPRE_DistributedMatrixPilutSolver -lHYPRE_utilities  -lHYPRE_MatrixMatrix -lHYPRE_ParaSails -lHYPRE_Euclid -lHYPRE_parcsr_ls -lHYPRE_DistributedMatrix -lHYPRE_parcsr_mv  -lHYPRE_FEI -lHYPRE_seq_mv -lHYPRE_IJ_mv -lkrylov -lHYPRE_DistributedMatrixPilutSolver -lHYPRE_utilities  -lHYPRE_MatrixMatrix -lHYPRE_ParaSails -lHYPRE_Euclid 

PETSC_HAVE_HYPRE = -DPETSC_HAVE_HYPRE
endif
#
# Parallel Net-CDF
#
#PNETCDF_INCLUDE    = -I/home/petsc/soft/linux-rh73/parallel-netcdf-0.8.6/include
#PNETCDF_LIB        = -L/home/petsc/soft/linux-rh73/parallel-netcdf-0.8.6/lib -lpnetcdf
#PETSC_HAVE_PNETCDF = -DPETSC_HAVE_NETCDF
#
# HDF
#
#HDF4_INCLUDE      = -I/home/petsc/soft/linux-rh73/HDF4.1r5/include
#HDF4_LIB          = -L/home/petsc/soft/linux-rh73/HDF4.1r5/lib -lmfhdf -ldf -lz -ljpeg
#PETSC_HAVE_HDF4   = -DPETSC_HAVE_HDF4

#
# ------------------------------------------------------------------------------
# If you are using shared version of any external libraries you must make this
# point to the directories where all your shared libraries are stored.
#
#C_DYLIBPATH     = ${CLINKER_SLFLAG}/home/petsc/software/BlockSolve95/lib/libO/linux
#F_DYLIBPATH     = ${FLINKER_SLFLAG}/home/petsc/software/BlockSolve95/lib/libO/linux
