13f0ec617SSatish Balay#!/bin/sh 23f0ec617SSatish Balay 33f0ec617SSatish Balay"true" '''\' 43f0ec617SSatish Balayfor pyimpl in python3 python python2; do 585290d95SSatish Balay which $pyimpl > /dev/null 2>&1 685290d95SSatish Balay if [ $? -eq 0 ]; then 7a619e86cSBarry Smith exec $pyimpl "$0" "$@" 885290d95SSatish Balay fi 93f0ec617SSatish Balaydone 10becf0a19SJed Brownecho "Error! Could not locate Python! Please install and have python3, python, or python2 in PATH." 113f0ec617SSatish Balayecho "Or use: /path/to/valid/python configure $@" 123f0ec617SSatish Balayexit 127 133f0ec617SSatish Balay''' 14a8bae526SJed Brown 15a3e07f7dSJed Brownimport sys, os 167fe2cf7aSSatish Balay 17*9355304cSJacob Faibussowitschbanner_length = 93 18*9355304cSJacob Faibussowitschbanner_sep = '*' 19*9355304cSJacob Faibussowitschbanner_line = banner_sep*banner_length 20d1c7e401SJacob Faibussowitsch 21*9355304cSJacob Faibussowitschif sys.version_info < (3,0): 22*9355304cSJacob Faibussowitsch print(banner_line) 23*9355304cSJacob Faibussowitsch print(banner_sep+'python2 support in configure is deprecated'.center(banner_length-2)+banner_sep) 24*9355304cSJacob Faibussowitsch print(banner_sep+'PETSc version 3.18+ will require at least python3.4'.center(banner_length-2)+banner_sep) 25*9355304cSJacob Faibussowitsch print(banner_line) 26*9355304cSJacob Faibussowitsch 27*9355304cSJacob Faibussowitschif sys.version_info < (2,7) or ((3,0) <= sys.version_info < (3,4)): 28*9355304cSJacob Faibussowitsch print(banner_line) 29*9355304cSJacob Faibussowitsch print(banner_sep+'Python version 2.7 or 3.4+ is required to run ./configure'.center(banner_length-2)+banner_sep) 30*9355304cSJacob Faibussowitsch print(banner_sep+'Try: "python3 ./configure" or "python2.7 ./configure"'.center(banner_length-2)+banner_sep) 31*9355304cSJacob Faibussowitsch print(banner_line) 327fe2cf7aSSatish Balay sys.exit(4) 337fe2cf7aSSatish Balay 34813ae6e9SJed Brownsys.path.insert(0, os.path.abspath('config')) 35813ae6e9SJed Brownimport configure 36813ae6e9SJed Brownconfigure.petsc_configure([]) 37