13f0ec617SSatish Balay#!/bin/sh 23f0ec617SSatish Balay 33f0ec617SSatish Balay"true" '''\' 43f0ec617SSatish Balayfor pyimpl in python3 python python2; do 5*85290d95SSatish Balay which $pyimpl > /dev/null 2>&1 6*85290d95SSatish Balay if [ $? -eq 0 ]; then 7*85290d95SSatish Balay $pyimpl -c "import distutils.sysconfig" > /dev/null 2>&1 8*85290d95SSatish Balay if [ $? -eq 0 ]; then 9*85290d95SSatish Balay echo "Using $pyimpl for Python" && exec $pyimpl "$0" "$@" 10*85290d95SSatish Balay else 11*85290d95SSatish Balay echo "$pyimpl is missing distutils.sysconfig, Skipping..." 12*85290d95SSatish Balay fi 13*85290d95SSatish Balay fi 143f0ec617SSatish Balaydone 15*85290d95SSatish Balayecho "Error! Could not locate Python (with distutils.sysconfig)! Please install and have python3, python, or python2 (with distutils.sysconfig) in PATH." 163f0ec617SSatish Balayecho "Or use: /path/to/valid/python configure $@" 173f0ec617SSatish Balayexit 127 183f0ec617SSatish Balay''' 19a8bae526SJed Brown 20a3e07f7dSJed Brownimport sys, os 217fe2cf7aSSatish Balay 227fe2cf7aSSatish Balayif sys.version_info < (2,6) or (sys.version_info >= (3,0) and sys.version_info < (3,4)): 237fe2cf7aSSatish Balay print('************************************************************************') 247fe2cf7aSSatish Balay print('* Python version 2.6+ or 3.4+ is required to run ./configure *') 257fe2cf7aSSatish Balay print('* Try: "python2.7 ./configure" or "python3 ./configure" *') 267fe2cf7aSSatish Balay print('************************************************************************') 277fe2cf7aSSatish Balay sys.exit(4) 287fe2cf7aSSatish Balay 29*85290d95SSatish Balaytry: 30*85290d95SSatish Balay import distutils.sysconfig 31*85290d95SSatish Balayexcept: 32*85290d95SSatish Balay print('************************************************************************') 33*85290d95SSatish Balay print('* '+sys.executable+' is missing "distutils.sysconfig" module! Its required to build PETSc **') 34*85290d95SSatish Balay print('* Try installing (for ex: on Ubuntu) "python3-distutils" or equivalent package that is compatible with '+sys.executable+' ***') 35*85290d95SSatish Balay print('************************************************************************') 36*85290d95SSatish Balay sys.exit(4) 37*85290d95SSatish Balay 38813ae6e9SJed Brownsys.path.insert(0, os.path.abspath('config')) 39813ae6e9SJed Brownimport configure 40813ae6e9SJed Brownconfigure.petsc_configure([]) 41