xref: /petsc/configure (revision c134ccf8f46e7f204b8f082841143a6860c79f65)
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      echo "Using $pyimpl for Python" && 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