xref: /petsc/config/examples/arch-ci-linux-gcc-ifc-cmplx.py (revision becf0a19db87562644ce43af63e5fd2a06773717)
1f26daa2dSSatish Balay#!/usr/bin/env python
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*becf0a19SJed Browntry:
8*becf0a19SJed Brown  from shutil import which # novermin
9*becf0a19SJed Brownexcept ImportError:
10*becf0a19SJed Brown  from distutils.spawn import find_executable as which
11*becf0a19SJed Brownifort_lib_dir=os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(which('ifort')))),'compiler','lib','intel64')
12adca0f4fSSatish Balaympich_install_dir='/nfs/gce/projects/petsc/soft/gcc-7.4.0-ifort-19.0.3/mpich-3.3.2'
13f26daa2dSSatish Balaympich_lib_dir=os.path.join(mpich_install_dir,'lib')
14f26daa2dSSatish Balay
15f26daa2dSSatish Balayconfigure_options = [
16f26daa2dSSatish Balay  '--package-prefix-hash='+petsc_hash_pkgs,
17f26daa2dSSatish Balay  # cannot use download-mpich with fortranlib-autodetect=0 so disabling
18f26daa2dSSatish Balay  #'--with-cc=gcc',
19f26daa2dSSatish Balay  #'--with-fc=ifort',
20f26daa2dSSatish Balay  #'--with-cxx=g++',
21f26daa2dSSatish Balay  #'--download-mpich=1',
22f26daa2dSSatish Balay  #'--download-mpich-pm=gforker',
23f26daa2dSSatish Balay  '--with-mpi-dir='+mpich_install_dir,
24adca0f4fSSatish Balay  'LIBS=-L'+ifort_lib_dir+' -lifport -lifcoremt_pic -limf -lsvml -lm -lipgo -lirc -lpthread -L'+mpich_lib_dir+' -lmpifort -lmpi',
25f26daa2dSSatish Balay
26f26daa2dSSatish Balay  'COPTFLAGS=-g -O',
27f26daa2dSSatish Balay  'FOPTFLAGS=-g -O',
28f26daa2dSSatish Balay  'CXXOPTFLAGS=-g -O',
29f26daa2dSSatish Balay
30f26daa2dSSatish Balay  '--with-scalar-type=complex',
31f26daa2dSSatish Balay  '--download-hdf5',
32f26daa2dSSatish Balay  '--with-zlib=1',
330cdb7fabSSatish Balay  '--download-kokkos=1',
340cdb7fabSSatish Balay  '--download-kokkos-kernels=1',
35f26daa2dSSatish Balay  '--download-fblaslapack=1'
36f26daa2dSSatish Balay  ]
37f26daa2dSSatish Balay
38f26daa2dSSatish Balayif __name__ == '__main__':
39f26daa2dSSatish Balay  import sys,os
40f26daa2dSSatish Balay  sys.path.insert(0,os.path.abspath('config'))
41f26daa2dSSatish Balay  import configure
42f26daa2dSSatish Balay  configure.petsc_configure(configure_options)
43