1*df3bd252SSatish Balay#!/usr/bin/env python3 2f26daa2dSSatish Balay 3f26daa2dSSatish Balayimport os 4f26daa2dSSatish Balaypetsc_hash_pkgs=os.path.join(os.getenv('HOME'),'petsc-hash-pkgs') 5f26daa2dSSatish Balay 6f26daa2dSSatish Balay# find the ifort libs location 7*df3bd252SSatish Balayfrom shutil import which 8becf0a19SJed Brownifort_lib_dir=os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(which('ifort')))),'compiler','lib','intel64') 9adca0f4fSSatish Balaympich_install_dir='/nfs/gce/projects/petsc/soft/gcc-7.4.0-ifort-19.0.3/mpich-3.3.2' 10f26daa2dSSatish Balaympich_lib_dir=os.path.join(mpich_install_dir,'lib') 11f26daa2dSSatish Balay 12f26daa2dSSatish Balayconfigure_options = [ 13f26daa2dSSatish Balay '--package-prefix-hash='+petsc_hash_pkgs, 14f26daa2dSSatish Balay # cannot use download-mpich with fortranlib-autodetect=0 so disabling 15f26daa2dSSatish Balay #'--with-cc=gcc', 16f26daa2dSSatish Balay #'--with-fc=ifort', 17f26daa2dSSatish Balay #'--with-cxx=g++', 18f26daa2dSSatish Balay #'--download-mpich=1', 19f26daa2dSSatish Balay #'--download-mpich-pm=gforker', 20f26daa2dSSatish Balay '--with-mpi-dir='+mpich_install_dir, 21adca0f4fSSatish Balay 'LIBS=-L'+ifort_lib_dir+' -lifport -lifcoremt_pic -limf -lsvml -lm -lipgo -lirc -lpthread -L'+mpich_lib_dir+' -lmpifort -lmpi', 22f26daa2dSSatish Balay 23f26daa2dSSatish Balay 'COPTFLAGS=-g -O', 24f26daa2dSSatish Balay 'FOPTFLAGS=-g -O', 25f26daa2dSSatish Balay 'CXXOPTFLAGS=-g -O', 26f26daa2dSSatish Balay 27f26daa2dSSatish Balay '--with-scalar-type=complex', 28f26daa2dSSatish Balay '--download-hdf5', 29f26daa2dSSatish Balay '--with-zlib=1', 300cdb7fabSSatish Balay '--download-kokkos=1', 310cdb7fabSSatish Balay '--download-kokkos-kernels=1', 32f26daa2dSSatish Balay '--download-fblaslapack=1' 33f26daa2dSSatish Balay ] 34f26daa2dSSatish Balay 35f26daa2dSSatish Balayif __name__ == '__main__': 36f26daa2dSSatish Balay import sys,os 37f26daa2dSSatish Balay sys.path.insert(0,os.path.abspath('config')) 38f26daa2dSSatish Balay import configure 39f26daa2dSSatish Balay configure.petsc_configure(configure_options) 40