xref: /petsc/configure (revision 59af0bd3658d6c64d35e37f76ad6a8a026fa611f)
1#!/bin/sh
2
3"true" '''\'
4for pyimpl in python3 python python2; do
5  which $pyimpl > /dev/null 2>&1
6  if [ $? -eq 0 ]; then
7    $pyimpl -c "import distutils.sysconfig" > /dev/null 2>&1
8    if [ $? -eq 0 ]; then
9      exec $pyimpl "$0" "$@"
10    else
11      echo "$pyimpl is missing distutils.sysconfig, Skipping..."
12    fi
13  fi
14done
15echo "Error! Could not locate Python (with distutils.sysconfig)! Please install and have python3, python, or python2 (with distutils.sysconfig) in PATH."
16echo "Or use: /path/to/valid/python configure $@"
17exit 127
18'''
19
20import sys, os
21
22if sys.version_info < (2,6) or (sys.version_info >= (3,0) and sys.version_info < (3,4)):
23  print('************************************************************************')
24  print('*      Python version 2.6+ or 3.4+ is required to run ./configure      *')
25  print('*         Try: "python2.7 ./configure" or "python3 ./configure"        *')
26  print('************************************************************************')
27  sys.exit(4)
28
29try:
30  import distutils.sysconfig
31except:
32  print('************************************************************************')
33  print('* '+sys.executable+' is missing "distutils.sysconfig" module! Its required to build PETSc **')
34  print('* Try installing (for ex: on Ubuntu) "python3-distutils"  or equivalent package that is compatible with '+sys.executable+' ***')
35  print('************************************************************************')
36  sys.exit(4)
37
38sys.path.insert(0, os.path.abspath('config'))
39import configure
40configure.petsc_configure([])
41