xref: /petsc/configure (revision 85290d9579745890004f7420c015a21430bee74a)
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