1*f26daa2dSSatish Balay#!/usr/bin/env python 2*f26daa2dSSatish Balay 3*f26daa2dSSatish Balayimport os 4*f26daa2dSSatish Balaypetsc_hash_pkgs=os.path.join(os.getenv('HOME'),'petsc-hash-pkgs') 5*f26daa2dSSatish Balayif not os.path.isdir(petsc_hash_pkgs): os.mkdir(petsc_hash_pkgs) 6*f26daa2dSSatish Balay 7*f26daa2dSSatish Balay# find the ifort libs location 8*f26daa2dSSatish Balayimport os 9*f26daa2dSSatish Balayimport distutils.spawn 10*f26daa2dSSatish Balayifort_lib_dir=os.path.join(os.path.dirname(os.path.dirname(distutils.spawn.find_executable('ifort'))),'lib','intel64') 11*f26daa2dSSatish Balaympich_install_dir='/homes/petsc/soft/linux-Ubuntu_14.04-x86_64/mpich-3.2-gcc-ifc' 12*f26daa2dSSatish Balaympich_lib_dir=os.path.join(mpich_install_dir,'lib') 13*f26daa2dSSatish Balay 14*f26daa2dSSatish Balayconfigure_options = [ 15*f26daa2dSSatish Balay '--package-prefix-hash='+petsc_hash_pkgs, 16*f26daa2dSSatish Balay # cannot use download-mpich with fortranlib-autodetect=0 so disabling 17*f26daa2dSSatish Balay #'--with-cc=gcc', 18*f26daa2dSSatish Balay #'--with-fc=ifort', 19*f26daa2dSSatish Balay #'--with-cxx=g++', 20*f26daa2dSSatish Balay #'--download-mpich=1', 21*f26daa2dSSatish Balay #'--download-mpich-pm=gforker', 22*f26daa2dSSatish Balay '--with-mpi-dir='+mpich_install_dir, 23*f26daa2dSSatish Balay 24*f26daa2dSSatish Balay 'LIBS=-L'+ifort_lib_dir+' -lifcore -ldl -limf -lirc -L'+mpich_lib_dir+' -lmpifort -lmpi', 25*f26daa2dSSatish Balay 26*f26daa2dSSatish Balay 'COPTFLAGS=-g -O', 27*f26daa2dSSatish Balay 'FOPTFLAGS=-g -O', 28*f26daa2dSSatish Balay 'CXXOPTFLAGS=-g -O', 29*f26daa2dSSatish Balay 30*f26daa2dSSatish Balay '--with-scalar-type=complex', 31*f26daa2dSSatish Balay '--download-hdf5', 32*f26daa2dSSatish Balay '--with-zlib=1', 33*f26daa2dSSatish Balay '--download-fblaslapack=1' 34*f26daa2dSSatish Balay ] 35*f26daa2dSSatish Balay 36*f26daa2dSSatish Balayif __name__ == '__main__': 37*f26daa2dSSatish Balay import sys,os 38*f26daa2dSSatish Balay sys.path.insert(0,os.path.abspath('config')) 39*f26daa2dSSatish Balay import configure 40*f26daa2dSSatish Balay configure.petsc_configure(configure_options) 41